Как заставить SNMP Agent принимать соединения от других хостов в сети?

14

В моей системе настроен агент 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вот скриншот

Snmpd netstat

Tarun
источник
что произойдет, если вы используете snmpbulkwalk -c public -v1 10.0.1.114
sosytee
snmpbulkwalk: Cannot send V2 PDU on V1 session
Тарун
Может ли 10.0.2.15 достичь 10.0.1.114 другими способами? Вы исключили простую проблему сетевой маршрутизации?
Оли
да, они могут я легко SSH с 10.0.2.15. Прямо сейчас я настроил 2 виртуальные машины с IP 192.168.0.1 и 192.168.0.2 и создал ту же ситуацию, и там также та же проблема. Я думаю, что мне нужно настроить что-то еще, чтобы заставить его слушать в сети.
Тарун

Ответы:

15

Отредактируйте файл /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      
Эрик Карвалью
источник
1
Еще одна вещь, я могу также заставить это слушать только для определенного IP-адреса? Это будет хорошей мерой безопасности. Возможно ли это, пожалуйста, дайте мне знать. Благодарю.
Тарун
1
@Tarun Да, просто измените эту строку agentAddress udp:10.0.1.114:161или любой другой IP-адрес, который у вас есть в вашей системе.
Эрик Карвалью,
1
@EricCarvalho нет, это не работает таким образом. «agentAddress udp: 161» позволяет прослушивать smpt на каждом интерфейсе. Вы указываете разрешенные ips с помощью директивы «rocommunity public xxxx»
Gonzalo Cao
1

Мое решение

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

... и перезапустите snmp

Он заставляет snmp слышать во всех интерфейсах, но отвечает только на 172.25.7.169 (мой сервер мониторинга)

Гонсало Цао
источник
0

Вы также можете сделать что-то вроде этого, все вместе, здесь: 3]: 161

lucianix
источник