В моей системе настроен агент SNMP с IP-адресом 192.168.1.1. В нем настроен агент SNMP с помощью следующего учебного пособия
.
В файле /etc/snmp/snmpd.conf
rocommunity public 127.0.0.1
rocommunity public 192.168.1.0/24
rocommunity public 192.168.2.0/24
В файле /etc/default/snmpd
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid'
При попытке использовать команду snmpwalk из системы с IP-адресом 192.168.1.1 это отлично работает.
Пример: блок команд выводит:
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 <me@example.org>"
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
Но когда я пытаюсь использовать snmpwalk через другую систему с ip 192.168.2.1
, он выдает No response from 192.168.1.1
. Пожалуйста, помогите.
snmpwalk -c public -v1 192.168.1.1 | less
PS Я настроил те же шаги на машине с IP-адресом 192.168.2.1. Или есть какая-нибудь другая программа, которая будет использоваться.
ИЗМЕНИТЬ 1.
Сделал netstat
вот скриншот
Отредактируйте файл /etc/snmp/snmpd.conf
. Измените строку:
agentAddress udp:127.0.0.1:161
кому:
agentAddress udp:161
Затем перезапуск snmpd:
sudo service snmpd restart
Это должно слушать все интерфейсы теперь:
$ sudo netstat -ulnp | grep 161
udp 0 0 0.0.0.0:161 0.0.0.0:* 8517/snmpd
Вы также можете сделать что-то подобное, все вместе здесь: agentAddress udp: 172.16.0.3: 161, udp6: [2001: 470: 0: 4000 :: 3]: 161, udp6: [2001: 470: 0: 10 :: 3]: 161
Мое решение
agentAddress udp:161
...
# rocommunity public default -V systemonly
rocommunity public 172.25.7.169/32
... и перезапустить snmp
Он заставляет snmp слышать во всех интерфейсах, но отвечает только на 172.25.7.169 (мой сервер мониторинга)