Guia Completo de Instalação e Configuração do GenieACS em Debian 12 Bookworm

há 1 ano 9


Cliente TR-069 (Relatório Técnico 069) é uma implementação do CWMP (CPE WAN Management Protocol) para gerenciar dispositivos de usuários finais de forma centralizada. Este CWMP é executado em uma rede IP usando HTTP ou HTTPS para se comunicar com dispositivos ACS (Sistema de configuração automática), onde ACS é um sistema usado para monitorar, configurar e atualizar o firmware de dispositivos remotos.

Em geral, a função do TR-069 é mais amplamente usada em ISPs para gerenciamento de dispositivos do usuário final. Alguns dispositivos que estão atualmente começando a implementar as funções do TR-069, como FTTH CPE/ONT, WIMAX CPE, também podem ser usados ​​para monitoramento de VoIP ou CFTV. E no próprio MikroTik, a função Cliente TR-069 também foi adicionada a partir do RouterOS versão 6.38.

Leitura recomendada:
Configurando interface de rede no Debian

Requisitos Debian 12 Bookworm

Instalação do Debian 12 Bookworm limpa passo-a-passo

Melhorando o seu BASH

Para melhorar seu bash e entender o comando a seguir, visite: Como melhorar a produtividade no seu Debian após a instalação

# apt -y install wget; wget remontti.com.br/debian; bash debian; su -

Repositório

Adicione contrib non-free aos repositórios

# vim /etc/apt/sources.list

Ajuste:

deb http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free deb http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib non-free deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib non-free deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib non-free deb-src http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib non-free

Atualize o repositório:

# apt update

Se tiver algum pacote para atualização também faça:

# apt upgrade -y

Instale os firmware-linux*

# apt install firmware-linux firmware-linux-free firmware-linux-nonfree -y

Reinicie seu servidor para carregar os novos módulos do kernel

# reboot

Pacotes requisitos

# apt -y install gnupg gnupg2 curl wget rsyslog

Repositório MongoDB # curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \ gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor # echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] \ http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" \ > /etc/apt/sources.list.d/mongodb-org-7.0.list

Recarregue o repositório, e instale o MongoDB vamos

# apt update # apt -y install mongodb-org

Ative o serviço para iniciar com o boot, inicie o serviço e verifique se o mesmo iniciou com êxito.

# systemctl enable mongod # systemctl start mongod # systemctl status mongod

Node.js

# apt -y install nodejs npm --no-install-recommends # apt -y install node-mongodb

Instalação do GenieACS

Procure se o pacote existe:

# npm search -g genieacs NAME | DESCRIPTION | AUTHOR | DATE | VERSION | KEYWORDS genieacs | A TR-069 Auto… | =zaidka | 2024-03-28 | 1.2.12 | TR-069 CWMP ACS @anlix-io/genieacs-sim | TR-069 client… | =anlix-io | 2024-01-15 | 1.14.0 | TR-069 CWMP ACS Simulator genieacs-sim | TR-069 client… | =zaidka | 2017-02-05 | 0.9.0 | TR-069 CWMP ACS

Instale o genieacs

# npm install -g genieacs added 220 packages in 5s 18 packages are looking for funding run `npm fund` for details

Crie um usuário do sistema para executar daemons GenieACS

# useradd --system --no-create-home --user-group genieacs

Crie um diretório para salvar extensões e arquivo de ambiente
Usaremos o diretório /opt/genieacs/ext/ para armazenar scripts de extensão (se houver).

# mkdir /opt/genieacs # mkdir /opt/genieacs/ext

Crie o arquivo /opt/genieacs/genieacs.envpara que irá conter as opções de configuração, que passamos ao GenieACS como variáveis de ambiente.

# vim /opt/genieacs/genieacs.env

Adicione:

GENIEACS_CWMP_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-cwmp-access.log GENIEACS_NBI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-nbi-access.log GENIEACS_FS_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-fs-access.log GENIEACS_UI_ACCESS_LOG_FILE=/var/log/genieacs/genieacs-ui-access.log GENIEACS_DEBUG_FILE=/var/log/genieacs/genieacs-debug.yaml NODE_OPTIONS=--enable-source-maps GENIEACS_EXT_DIR=/opt/genieacs/ext

Gere um segredo JWT seguro e anexe a /opt/genieacs/genieacs.env:

# node -e "console.log(\"GENIEACS_UI_JWT_SECRET=\" + require('crypto').\ randomBytes(128).toString('hex'))" \ >> /opt/genieacs/genieacs.env

Defina a propriedade e as permissões do arquivo:

# chown genieacs: /opt/genieacs -R # chmod 600 /opt/genieacs/genieacs.env

Criar diretório de logs

# mkdir /var/log/genieacs # chown genieacs: /var/log/genieacs

Configure os serviços no systemd

# systemctl edit --force --full genieacs-cwmp

Adicione:

[Unit] Description=GenieACS CWMP After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/local/bin/genieacs-cwmp [Install] WantedBy=default.target # systemctl edit --force --full genieacs-nbi

Adicione:

[Unit] Description=GenieACS NBI After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/local/bin/genieacs-nbi [Install] WantedBy=default.target # systemctl edit --force --full genieacs-fs

Adicione:

[Unit] Description=GenieACS FS After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/local/bin/genieacs-fs [Install] WantedBy=default.target # systemctl edit --force --full genieacs-ui

Adicione:

[Unit] Description=GenieACS UI After=network.target [Service] User=genieacs EnvironmentFile=/opt/genieacs/genieacs.env ExecStart=/usr/local/bin/genieacs-ui [Install] WantedBy=default.target

Configure o logrotate para rotação dos log gerados

# vim /etc/logrotate.d/genieacs

Adicione:

/var/log/genieacs/*.log /var/log/genieacs/*.yaml { daily rotate 30 compress delaycompress dateext }

Ative e inicie serviços, e revise a mensagem de status de cada um para verificar se os serviços estão sendo executados com êxito.

# systemctl daemon-reload # systemctl enable genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui # systemctl start genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui # systemctl status genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui --no-pager ● genieacs-cwmp.service - GenieACS CWMP Loaded: loaded (/etc/systemd/system/genieacs-cwmp.service; enabled; preset: enabled) Active: active (running) since Wed 2024-04-10 12:09:13 -03; 44s ago Main PID: 9695 (node) Tasks: 25 (limit: 4645) Memory: 101.1M CPU: 1.541s CGroup: /system.slice/genieacs-cwmp.service ├─9695 node /usr/local/bin/genieacs-cwmp ├─9725 /usr/bin/node /usr/local/bin/genieacs-cwmp └─9730 /usr/bin/node /usr/local/bin/genieacs-cwmp abr 10 12:09:13 deb12-rr-flow systemd[1]: Started genieacs-cwmp.service - GenieACS CWMP. abr 10 12:09:14 deb12-rr-flow genieacs-cwmp[9695]: 2024-04-10T15:09:14.701Z [INFO] genieacs-cwmp starting; …80f66" abr 10 12:09:16 deb12-rr-flow genieacs-cwmp[9695]: 2024-04-10T15:09:16.465Z [INFO] Worker listening; pid=97…t=7547 abr 10 12:09:16 deb12-rr-flow genieacs-cwmp[9695]: 2024-04-10T15:09:16.475Z [INFO] Worker listening; pid=97…t=7547 ● genieacs-nbi.service - GenieACS NBI Loaded: loaded (/etc/systemd/system/genieacs-nbi.service; enabled; preset: enabled) Active: active (running) since Wed 2024-04-10 12:09:13 -03; 44s ago Main PID: 9696 (node) Tasks: 25 (limit: 4645) Memory: 98.5M CPU: 1.639s CGroup: /system.slice/genieacs-nbi.service ├─9696 node /usr/local/bin/genieacs-nbi ├─9731 /usr/bin/node /usr/local/bin/genieacs-nbi └─9737 /usr/bin/node /usr/local/bin/genieacs-nbi abr 10 12:09:13 deb12-rr-flow systemd[1]: Started genieacs-nbi.service - GenieACS NBI. abr 10 12:09:14 deb12-rr-flow genieacs-nbi[9696]: 2024-04-10T15:09:14.710Z [INFO] genieacs-nbi starting; pi…80f66" abr 10 12:09:16 deb12-rr-flow genieacs-nbi[9696]: 2024-04-10T15:09:16.497Z [INFO] Worker listening; pid=973…t=7557 abr 10 12:09:16 deb12-rr-flow genieacs-nbi[9696]: 2024-04-10T15:09:16.523Z [INFO] Worker listening; pid=973…t=7557 ● genieacs-fs.service - GenieACS FS Loaded: loaded (/etc/systemd/system/genieacs-fs.service; enabled; preset: enabled) Active: active (running) since Wed 2024-04-10 12:09:13 -03; 44s ago Main PID: 9697 (node) Tasks: 25 (limit: 4645) Memory: 88.0M CPU: 1.561s CGroup: /system.slice/genieacs-fs.service ├─9697 node /usr/local/bin/genieacs-fs ├─9723 /usr/bin/node /usr/local/bin/genieacs-fs └─9724 /usr/bin/node /usr/local/bin/genieacs-fs abr 10 12:09:13 deb12-rr-flow systemd[1]: Started genieacs-fs.service - GenieACS FS. abr 10 12:09:14 deb12-rr-flow genieacs-fs[9697]: 2024-04-10T15:09:14.676Z [INFO] genieacs-fs starting; pid=…80f66" abr 10 12:09:16 deb12-rr-flow genieacs-fs[9697]: 2024-04-10T15:09:16.386Z [INFO] Worker listening; pid=9723…t=7567 abr 10 12:09:16 deb12-rr-flow genieacs-fs[9697]: 2024-04-10T15:09:16.497Z [INFO] Worker listening; pid=9724…t=7567 ● genieacs-ui.service - GenieACS UI Loaded: loaded (/etc/systemd/system/genieacs-ui.service; enabled; preset: enabled) Active: active (running) since Wed 2024-04-10 12:09:13 -03; 44s ago Main PID: 9698 (node) Tasks: 25 (limit: 4645) Memory: 114.1M CPU: 2.003s CGroup: /system.slice/genieacs-ui.service ├─9698 node /usr/local/bin/genieacs-ui ├─9777 /usr/bin/node /usr/local/bin/genieacs-ui └─9778 /usr/bin/node /usr/local/bin/genieacs-ui abr 10 12:09:13 deb12-rr-flow systemd[1]: Started genieacs-ui.service - GenieACS UI. abr 10 12:09:15 deb12-rr-flow genieacs-ui[9698]: 2024-04-10T15:09:15.244Z [INFO] genieacs-ui starting; pid=…80f66" abr 10 12:09:16 deb12-rr-flow genieacs-ui[9698]: 2024-04-10T15:09:16.757Z [INFO] Worker listening; pid=9777…t=3000 abr 10 12:09:16 deb12-rr-flow genieacs-ui[9698]: 2024-04-10T15:09:16.763Z [INFO] Worker listening; pid=9778…t=3000 Hint: Some lines were ellipsized, use -l to show in full.

Acesse em seu navegador: http://IP:3000

Clique em: ABRACADABRA!

Clique em: Open Sesame!

Entre com: admin/admin

Grupo do telegram: ACS/CWMP – TR069 – Brasil (PT-Br)

Gostou? Quer ajudar manter o blog? 🙂

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Fonte: https://genieacs.com/

Ler artigo completo

users online free counter