Estou tentando fazer com que meu servidor Ubuntu LTS 16.04 envie SNMPTraps para meu servidor HP OVO. A razão para isso é que existem dispositivos legados na rede que não podem enviar um aviso SNMP em caso de falha, mas ainda podem ser acessados por meio de uma placa conectada à rede. Devido a isso, meu servidor Ubuntu se conecta a essa placa para avaliar os nós com falha. Eu já consegui isso usando Bash e Expect - então agora o que eu quero fazer é enviar um snmptrap
como parte do meu script. Minha pergunta é:
Pergunta
O snmptrap
comando requer configuração subjacente? Ou funciona a partir da linha de comando da maneira que nós (ou talvez apenas eu) tomamos o telnet
comando como garantido?
Pergunto porque estou tentando fazer isso em uma rede corporativa, e atualmente meu OVO Server não recebe a armadilha. Portanto, quero restringir se é um dos vários firewalls ou se o problema é, como mencionado, um problema de configuração subjacente.
Contexto:
Meu script de espera basicamente retorna o status de cada placa gerenciada pela placa conectada à rede de volta ao bash como uma matriz - 0 para OK 1 para não respondeu . Então Bash faz:
errors=$((expect ~/assets/connect))
for i in ${!errors[@]}:
do
if [[ ${errors[$i]} -eq 1 ]]:
then:
snmptrap #stuff goes here; the relevant source IP is saved elsewhere & available - I want the SNMP trap to send a "node $i" down.
fi
done
snmptrap
não requer nenhuma configuração específica.Para validar se seu script está enviando traps, você pode usar o tcpdump para observar o tráfego. As armadilhas SNMP são UDP e geralmente destinadas à porta 162, então isso funcionará:
Em seguida, em outra tela ou terminal, teste seu comando snmptrap nativamente primeiro e, em seguida, incorporado em seu script:
Você deve ver uma saída semelhante a:
Se você vir a saída em
tcpdump
, saberá quesnmptrap
está trabalhando no host local, pois o pacote está saindo do sistemam. Se for esse o caso, execute o mesmotcpdump
comando no receptor para ver se os traps estão sendo recebidos. Filtrar por host neste caso pode ser útil se você estiver recebendo traps de várias fontes:Se você não vê os pacotes no receptor, mas os vê saindo do remetente, há algo bloqueando-os na rede.