Як змусити SNMP-агент приймати з'єднання з іншими хостами в мережі?


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


що станеться, якщо ви використовуєте 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 VM з 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

Ви також можете зробити щось подібне, тут все об'єднано: agentAddress udp: 172.16.0.3: 161, udp6: [2001: 470: 0: 4000 :: 3]: 161, udp6: [2001: 470: 0: 10 :: 3]: 161

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.