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 tcpdump
auch 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'