SNMP-Zugriff auf Ubuntu

SNMP-Zugriff auf Ubuntu

Ich versuche, SNMP zu verwenden, um eine Maschine lokal und remote zu überwachen. Dies ist die snmpd.conf (Ubuntu 8.04.1):

#       sec.name  source          comunity
com2sec readonly  1.2.3.4    nicenandtight
com2sec readonly  5.6.7.8   reallysafe

group MyROGroup v1         readonly
group MyROGroup v2c        readonly
group MyROGroup usm        readonly

view all    included  .1                               
view system included  .iso.org.dod.internet.mgmt.mib-2.system

access MyROGroup ""      any       noauth    exact  all    none   none

syslocation my house
syscontact me <[email protected]>

exec .1.3.6.1.4.1.2021.7890.1 distro /usr/bin/distro
smuxpeer .1.3.6.1.4.1.674.10892.1

includeAllDisks 95%

1.2.3.4 ist die IP des lokalen Rechners und alles funktioniert lokal. 5.6.7.8 ist der Remote-Rechner und zunächst versuche ich nur, SNMPD mit snmpwalk vom Remote-Rechner aus zu berühren;

snmpwalk -v 2c -c reallysafe 1.2.3.4
Timeout: No Response from 1.2.3.4

Ich habe iptables als allererste Regel hinzugefügt;

-A INPUT -p udp -m udp --dport 161 -j ACCEPT

Bei einer so lockeren iptables-Regel kann ich nicht verstehen, warum ich das SNMPD auf dieser Ubuntu-Maschine nicht einmal berühren kann. Weiter unten in der Tabelle gibt es spezifischere Regeln, aber da ich keine Verbindung herstellen konnte, habe ich die oben genannten hinzugefügt. TCPDump zeigt die eingehenden UDP-Pakete an. Was könnte hier schief laufen?

Antwort1

Guten Morgen. Ist Ihr SNMPD (keine Firewall) so konfiguriert, dass eingehende Verbindungen zugelassen werden? Versuchen Sie Folgendes:

nestat -nlpu|grep snmp

lauscht es auf 127.0.0.1 oder 0.0.0.0? Config snmpd:

/etc/snmp/snmpd.conf

Ich bin mir nicht sicher, ob Ubuntu 8.0.4, aber in 10+ müssen Sie hinzufügen

agentAddress udp:0.0.0.0:161

Version 2

Firewall muss auch im Ausgang geöffnet sein

iptables -A OUTPUT -p udp -m udp --sport 161 -j ACCEPT

Sie versuchen, über das Internet oder dasselbe Netzwerk auf das System zuzugreifen

Antwort2

Das ist neu für mich, SNMPD war in /etc/hosts.allow sowie in iptables eingeschränkt. Ich habe einfach die IP des Remote-Hosts zur Liste dort hinzugefügt und jetzt funktioniert alles.

Vielen Dank an alle für Ihre Hilfe, das weiß ich sehr zu schätzen. Sie alle haben mir geholfen, alle möglichen Wege zu gehen, bis nur noch einer übrig war. Nur aus Neugier: Wo befindet sich der TCP-Dump in der Netzwerkkette, vor oder nach iptables? Vermutlich danach, ist es also möglich, Pakete zu sehen, bevor sie iptables erreichen?

Antwort3

Zeigt es tcpdumpauch den an den Host zurückgesendeten UDP-Verkehr an? (Versuchen Sie es mit etwas wie tcpdump host other.host.address and udp)

Wenn ja, verhindern Ihre OUTPUT-Firewall-Regeln möglicherweise den UDP-Verkehr zurück zum anderen Host? Können Sie die Ausgabe davon posten iptables -nL?

Antwort4

Ich hatte dieses Problem auch in Ubuntu 10.4 unddieser Beitraghilft mir sehr:

  • Wenn Sie nur vom lokalen Host aus abfragen möchten, sind Sie fertig. Wenn Sie jedoch SNMP über ein Netzwerk verwenden möchten, müssen Sie /etc/default/snmpd bearbeiten und die Zeile ändern, die es nur an 127.0.0.1 bindet.
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'

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

verwandte Informationen