Jak sprawić, by agent SNMP akceptował połączenia z innych hostów w sieci?

14

Skonfigurowałem agenta SNMP w moim systemie z adresem IP 192.168.1.1 Skonfigurowałem w nim agenta SNMP, korzystając z poniższego samouczka

Zmodyfikowałem linie w następujący sposób

W pliku /etc/snmp/snmpd.conf

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

W pliku /etc/default/snmpd

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

Kiedy próbuję użyć polecenia snmpwalk z systemu o adresie IP 192.168.1.1, działa dobrze.

Np: Część wyników komend:

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

Ale kiedy próbuję użyć snmpwalk przez inny system z ip 192.168.2.1, daje No response from 192.168.1.1. Proszę pomóż.

snmpwalk -c public -v1 192.168.1.1 | less

PS Skonfigurowałem te same kroki na komputerze z adresem IP 192.168.2.1. Czy jest jakiś inny program, który będzie używany.

EDYCJA 1.

Czy netstattutaj jest zrzut ekranu

Snmpd netstat

Tarun
źródło
co się stanie, jeśli użyjesz snmpbulkwalk -c public -v1 10.0.1.114
sosytee 16.09.13
snmpbulkwalk: Cannot send V2 PDU on V1 session
Tarun
Czy 10.0.2.15 może osiągnąć 10.0.1.114 na inne sposoby? Czy wykluczyłeś prosty problem z routingiem sieciowym?
Oli
tak, mogę łatwo ssh z 10.0.2.15. W tej chwili skonfigurowałem 2 maszyny wirtualne z ip 192.168.0.1 i 192.168.0.2 i stworzyłem tę samą sytuację, a także ten sam problem. Myślę, że muszę skonfigurować coś innego, aby słuchać w sieci.
Tarun

Odpowiedzi:

15

Edytuj plik /etc/snmp/snmpd.conf. Zmień linię:

agentAddress  udp:127.0.0.1:161

do:

agentAddress  udp:161

Następnie uruchom ponownie snmpd:

sudo service snmpd restart

Powinien teraz słuchać wszystkich interfejsów:

$ sudo netstat -ulnp | grep 161
udp        0      0 0.0.0.0:161             0.0.0.0:*                           8517/snmpd      
Eric Carvalho
źródło
1
Jeszcze jedno - czy mogę sprawić, by nasłuchiwał tylko określonego adresu IP? To będzie dobry środek bezpieczeństwa. Czy to możliwe, proszę dać mi znać. Dzięki.
Tarun
1
@Tunun Tak, po prostu zmień linię na inny agentAddress udp:10.0.1.114:161adres IP w systemie.
Eric Carvalho,
1
@EricCarvalho nie, to nie działa w ten sposób. „agentAddress udp: 161” pozwala smpt nasłuchiwać na każdym interfejsie. Dozwolone IP określasz za pomocą dyrektywy „rocommunity public xxxx”
Gonzalo Cao,
1

Moje rozwiązanie

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

... i uruchom ponownie snmp

Sprawia, że ​​snmp słyszy we wszystkich interfejsach, ale odpowiada tylko na 172.25.7.169 (mój serwer monitorowania)

Gonzalo Cao
źródło
0

Możesz również zrobić coś takiego: wszystkie tutaj: agentAddress udp: 172.16.0.3: 161, udp6: [2001: 470: 0: 4000 :: 3]: 161, udp6: [2001: 470: 0: 10 :: 3]: 161

lucianix
źródło