Receber traps das OLTs¶
Com traps, a ONU pedindo autorização aparece no Provisionar em segundos, em vez de esperar
a leitura de cada minuto. O serviço traps (container próprio) escuta a porta 162/udp do
servidor e, a cada trap vindo do IP de uma OLT cadastrada e ativa, lê na hora as pendentes
daquela OLT.
Ele não depende do tipo de trap: qualquer um serve de "aviso" (no máximo uma leitura a cada 10 segundos por OLT). Traps de outros IPs são ignorados. O conteúdo dos traps fica registrado no log (nível DEBUG) para os alertas da F4 (falta de energia, perda de sinal).
Sem trap também funciona
Se a OLT não mandar trap quando uma ONU pede autorização (depende do modelo e do firmware), a rotina de 1 minuto continua achando a pendente. Traps só deixam mais rápido.
1. Na OLT¶
Na interface web da OLT, em SNMP → Trap (o nome varia com o firmware), cadastre:
| Campo | Valor |
|---|---|
| Destino (host) | IP do servidor do NOC FTTH |
| Porta | 162 |
| Versão | v2c |
| Community | qualquer (o sistema identifica a OLT pelo IP) |
Se a OLT tiver lista de acesso de saída/gerência, permita o envio para esse IP.
2. No servidor¶
O serviço sobe junto com os outros (./scripts/atualizar.sh). Para conferir:
docker compose ps traps
docker compose logs -f traps # cada trap de OLT aparece como "leitura das pendentes disparada"
Teste sem a OLT (de outro computador, com o pacote snmp), trocando o IP pelo do servidor:
snmptrap -v2c -c teste IP_DO_SERVIDOR:162 '' 1.3.6.1.4.1.37950.1.1.5.0.1
Esse teste aparece como "Trap ignorado" (não veio de uma OLT): é o esperado.
Firewall
O Docker publica a porta 162/udp por conta própria, por fora do ufw. Por isso o
serviço só aceita traps de IPs de OLTs cadastradas. Se quiser fechar a porta para o resto da
rede, faça no firewall do Proxmox/roteador (liberando só os IPs das OLTs).