SNMP Version 3

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

SNMPv3 auf ovs.lab.internal einrichten und von control.lab.internal abfragen

Umgebung

  • Switch: ovs.lab.internal (172.26.56.2)
  • Management-Server: control.lab.internal (172.26.56.5)
  • Distribution: Debian/Ubuntu

Pakete installieren

Auf beiden Hosts:

  • apt update
  • apt install snmp snmpd -y

Optional MIB-Dateien für lesbare OIDs:

  • sed -ie "s/firmware/& non-free contrib/" /etc/apt/sources.list
  • apt update
  • apt install snmp-mibs-downloader -y
  • echo "mibs SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB" >> /etc/snmp/snmp.conf

SNMPv3 Benutzer auf dem Switch anlegen

Dienst stoppen:

  • systemctl stop snmpd

Benutzer anlegen:

  • net-snmp-create-v3-user -ro -A AuthPasswort123 -a SHA -X PrivPasswort456 -x AES snmpadmin

Dienst starten:

  • systemctl start snmpd
  • systemctl enable snmpd

/etc/snmp/snmpd.conf auf dem Switch

Nur die Policy-Einstellungen, keine createUser-Zeilen:

rouser snmpadmin authPriv
agentAddress udp:161

Kontrolle auf dem Switch

  • grep snmpadmin /var/lib/snmp/snmpd.conf

→ Hier muss eine createUser-Zeile für snmpadmin stehen.

  • /etc/snmp/snmpd.conf enthält nur rouser und agentAddress.

Test lokal

  • snmpwalk -v3 -l authPriv -u snmpadmin -a SHA -A AuthPasswort123 -x AES -X PrivPasswort456 localhost

Test remote von control.lab.internal

  • snmpwalk -v3 -l authPriv -u snmpadmin -a SHA -A AuthPasswort123 -x AES -X PrivPasswort456 172.26.56.2 sysDescr.0

Erwartete Ausgabe

Mit MIBs:

SNMPv2-MIB::sysDescr.0 = STRING: Linux ovs.lab.internal 6.1.0-... GNU/Linux

Ohne MIBs:

.1.3.6.1.2.1.1.1.0 = STRING: Linux ovs.lab.internal 6.1.0-... GNU/Linux

Vollständiger SNMP-Walk

Um alle verfügbaren OIDs vom Switch abzufragen, von control.lab.internal aus:

  • snmpwalk -v3 -l authPriv -u snmpadmin \
 -a SHA -A AuthPasswort123 \
 -x AES -X PrivPasswort456 \
 172.26.56.2

Erwartete Ausgabe

Eine lange Liste mit allen Objekten, z. B.:

SNMPv2-MIB::sysDescr.0 = STRING: Linux ovs.lab.internal 6.1.0-39-amd64 ...
SNMPv2-MIB::sysObjectID.0 = OID: enterprises.8072.3.2.10
SNMPv2-MIB::sysUpTime.0 = Timeticks: (123456) 0:20:34.56
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: ovs.lab.internal
SNMPv2-MIB::sysLocation.0 = STRING:
IF-MIB::ifNumber.0 = INTEGER: 3
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.2 = STRING: eth0
...

Damit kannst du prüfen, ob auch alle Interface- und System-MIBs geladen werden, die LibreNMS später braucht.