Como fazer com que o SNMP Agent aceite conexões de outros hosts na rede?

14

Eu configurei o SNMP Agent no meu sistema com o endereço IP 192.168.1.1 Eu configurei o SNMP Agent nele usando o seguinte tutorial

Eu modifiquei as linhas da seguinte maneira

No arquivo /etc/snmp/snmpd.conf

 rocommunity public 127.0.0.1
 rocommunity public 192.168.1.0/24
 rocommunity public 192.168.2.0/24

No arquivo /etc/default/snmpd

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'

Quando tento usar o comando snmpwalk do sistema com o endereço IP 192.168.1.1, ele funciona bem.

Ex: parte dos comandos de saída:

iso.3.6.1.2.1.1.1.0 = STRING: "Linux devenv 3.5.0-23-generic #35~precise1-Ubuntu SMP Fri Jan 25 17:13:26 UTC 2013 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (74328) 0:12:23.28
iso.3.6.1.2.1.1.4.0 = STRING: "Me <[email protected]>"
iso.3.6.1.2.1.1.5.0 = STRING: "devenv"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72

Mas quando tento usar o snmpwalk através de um sistema diferente com ip, 192.168.2.1ele fornece No response from 192.168.1.1. Por favor ajude.

snmpwalk -c public -v1 192.168.1.1 | less

PS Configurei as mesmas etapas na máquina com o endereço IP 192.168.2.1. Ou existe algum outro programa que será usado.

EDIT 1.

Fez netstataqui está uma imagem

Snmpd netstat

Tarun
fonte
o que acontece se você usar snmpbulkwalk -c pública V1 10.0.1.114
sosytee
snmpbulkwalk: Cannot send V2 PDU on V1 session
Tarun
10.0.2.15 pode alcançar 10.0.1.114 de outras maneiras? Você descartou um simples problema de roteamento de rede?
Oli
sim eles podem facilmente ssh a partir de 10.0.2.15. No momento, configurei 2 VMs com os ip 192.168.0.1 e 192.168.0.2 e criei a mesma situação e também há o mesmo problema. Eu acho que preciso configurar outra coisa para fazê-lo ouvir na rede.
Tarun

Respostas:

15

Edite o arquivo /etc/snmp/snmpd.conf. Mude a linha:

agentAddress  udp:127.0.0.1:161

para:

agentAddress  udp:161

Em seguida, reinicie o snmpd:

sudo service snmpd restart

Ele deve ouvir todas as interfaces agora:

$ sudo netstat -ulnp | grep 161
udp        0      0 0.0.0.0:161             0.0.0.0:*                           8517/snmpd      
Eric Carvalho
fonte
1
Mais uma coisa que eu também posso fazer para ouvir apenas um endereço IP específico? Essa será uma boa medida de segurança. Isso é possível, por favor me avise. Obrigado.
Tarun
1
@ Tarun Sim, basta alterar essa linha para agentAddress udp:10.0.1.114:161ou qualquer endereço IP que você tenha no seu sistema.
Eric Carvalho
1
@ EricCarvalho não, não funciona dessa maneira. "agentAddress udp: 161" permite que o smpt escute em todas as interfaces. Você especifica os ips permitidos com a diretiva "rocommunity public xxxx"
Gonzalo Cao
1

Minha solução

agentAddress udp:161
...
# rocommunity public  default    -V systemonly
rocommunity public 172.25.7.169/32

... e reinicie o snmp

Faz snmp ouvir em todas as interfaces, mas responde apenas a 172.25.7.169 (meu servidor de monitor)

Gonzalo Cao
fonte
0

Você poderia fazer algo assim também, tudo combinado aqui: agentAddress udp: 172.16.0.3: 161, udp6: [2001: 470: 0: 4000 :: 3]: 161, udp6: [2001: 470: 0: 10 :: 3]: 161

lucianix
fonte