Kurze Übersicht zur Installation von SNMP und SNMPD im lokalen Netzwerk.
System ist ein Debian Squeezy/Wheezy
Ziel soll es sein auf einem Rechner den SNMP Server/Agent und auf dem anderen Rechner den SNMP Client zu installieren.
Client = snmpd (laufender Dienst im Hintergrund der auf Abfragen wartet)
Server = snmp (Tool um Abfragen auszuführen)
SNMP Server Installation
# aptitude install snmp snmp-mibs-downloader
SNMP Client Installation
# aptitude install snmpd snmp-mibs-downloader
Konfiguration /etc/snmp/snmpd.conf anpassen
Damit die Abfragen von anderen Rechnern z.B. aus dem selben Netzwerk erfolgen können, ist die snmpd.conf im Bereich “Agent Behaviour” anzupassen.
Agend Behaviour
von nur lokal lauschend: agentAddress udp:127.0.0.1:161
auf UDP Port 161 lauschend umstellen: agentAddress udp:161,udp6:[:.1]:161
Access Control
Hier erlaube ich den Zugriff von einem bestimmten Rechner mit dem Communitystring public im Netz:
rocommunity public 192.168.0.x
Ich entfernen den System only Zugriff, durch auskommentieren der Zeile:
rocommunity public default -V systemonly in #rocommunity public default -V systemonly
Als nächstes berechtige ich nur das Netzwerk, in dem die Clients sich befinden und der SNMP Server auf diese Zugreifen darf:
rocommunity secret 192.168.0.0/24 # für das gesamte Netz von 192.168.0.1-192.168.0.254
Als nächstes die /etc/snmp/snmp.conf
von mibs: auf #mibs: ändern
Als nächstes passe ich den Pfad für die MIBS in der “/etc/default/snmpd” an:
von:
export MIBS=
zu
export MIBS=ALL
export MIBSDIR=/usr/share/mibs
Abschließend den SNMPD Dienst neustarten:
/etc/init.d/snmpd restart
Prüfung durch Abfrage vom Server des zuvor eingerichteten Clients: hier die Laufzeit des SNMPD Dienstes:
snmpget -v 2c -c public client-name SNMPv2-MIB::sysUpTime.0 SNMPv2-MIB::sysUpTime.0 = Timeticks: (89053) 0:14:50.53
Sicherheit
Grundlegend benötigt man den sogenannten Community String und ein Passwort. Aber es gibt Strings die vordefiniert und allg. bekannt sind. Darunter zählen:
Community String = “get” – dieser ist Read Only und ermöglicht entsprechend nur den betrachtenden Zugriff, meistens ist das Standardpasswort “public” gesetzt
Community STring = “set” – dieser ist schreib und lese berechtigt und ermöglich neben dem Lesen auch das Aktualisieren von Parametern
Weiterhin kann man auf Protokollebene also den Versionen Sicherheit gewährleisten. Ab der Version 3 ist eine verschlüsselte Übertragung möglich.