Dieser Artikel ist Teil der Net-SNMP-Serie:

  • Anfängerhandbuch zum Installieren, Verwenden und Konfigurieren von Net-SNMP - Teil 1
  • Anfängerhandbuch zum Installieren, Verwenden und Konfigurieren von Net-SNMP - Teil 2

Im ersten Teil dieser Serie haben wir die Schritte besprochen, die Sie ausführen müssen, um das Net-SNMP-Tool herunterzuladen, zu installieren und zu erhalten.

In diesem Teil konzentrieren wir uns auf den Konfigurationsaspekt und erklären, wie Sie den Net-SNMP-Agenten konfigurieren und die Authentifizierung und Verschlüsselung für die zwischen ihm und dem Client übertragenen Nachrichten einrichten können.

Konfigurieren des Net-SNMP-Agenten - snmpd

Wenn das Net-SNMP-Paket auf Ihrem System installiert ist und ausgeführt wird, führen Sie den folgenden Befehl snmpwalk :

 snmpwalk -v2c -c Öffentliches localhost-System 

Auf meinem System wurde folgende Ausgabe erstellt:

 SNMPv2-MIB :: sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generisch # 57-Ubuntu SMP Di Jul 15 03:51:12 UTC 2014 i686 SNMPv2-MIB :: sysObjectID.0 = OID: NET -SNMP-MIB :: netSnmpAgentOIDs.10 DISMAN-EVENT-MIB :: sysUpTimeInstance = Zeitvorgaben: (6481067) 18: 00: 10.67 SNMPv2-MIB :: sysContact.0 = STRING: Me  SNMPv2-MIB :: sysName.0 = STRING: himanshu-desktop SNMPv2-MIB :: sysLocation.0 = STRING: Sitzend auf dem Dock der Bucht SNMPv2-MIB :: sysServices.0 = INTEGER: 72 SNMPv2-MIB :: sysORLastChange .0 = Zeitpunkte: (22) 0: 00: 00.22 ... ... ... 

Wenn Sie beobachten, enthält diese Ausgabe Werte, die systemspezifischen Variablen entsprechen, die unter der MIB-Struktur ".iso.org.dod.internet.mgmt.mib-2.system" vorhanden sind.

Angenommen, Sie möchten Informationen wie "sysLocation" und "sysContact" optimieren. Dies können Sie tun, indem Sie die entsprechenden Werte in /etc/snmp/snmpd.conf, einer Datei, mit der Sie den Net-SNMP-Agenten ("snmpd") konfigurieren können.

Wie Sie im obigen Screenshot sehen können, enthält die Datei viele Einträge, von denen einige bewusst auskommentiert sind und explizit aktiviert werden müssen. In dieser Datei habe ich den Wert des Parameters "sysLocation" von "Auf dem Dock der Bucht sitzen" in "Datacenter, Row 2, Rack 1" geändert.

Damit die Änderung wirksam wird, starten Sie den Net-SNMP-Dämon einfach mit dem folgenden Befehl neu:

 /etc/init.d/snmpd neu starten 

und führen Sie dann den Befehl snmpwalk erneut aus:

 $ snmpwalk -v2c -c Öffentliches localhost System SNMPv2-MIB :: sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generic # 57-Ubuntu SMP Di Jul 15 03:51:12 UTC 2014 i686 SNMPv2-MIB :: sysObjectID.0 = OID: NET-SNMP-MIB :: netSnmpAgentOIDs.10 DISMAN-EVENT-MIB :: sysUpTimeInstance = Zeitvorgaben: (470) 0: 00: 04.70 SNMPv2-MIB :: sysContact.0 = STRING: Me  ; SNMPv2-MIB :: sysName.0 = STRING: himanshu-Desktop SNMPv2-MIB :: sysLocation.0 = STRING: Datencenter, Zeile 2, Rack 1 SNMPv2-MIB :: sysServices.0 = INTEGER: 72 SNMPv2-MIB :: sysORLastChange .0 = Zeitpunkte: (0) 0: 00: 00.00 

Wie Sie sehen können, wurde der Wert des Parameters "sysLocation" erfolgreich geändert. In ähnlicher Weise können Sie die Werte anderer in dieser Datei vorhandener Parameter optimieren und Parameter hinzufügen, die noch nicht vorhanden sind.

Hinweis : Sie können auch das Dienstprogramm snmpconf Net-SNMP zum Erstellen und Ändern von SNMP-Konfigurationsdateien verwenden. Um mehr über den Befehl zu erfahren, lesen Sie seine Manpage hier.

Richten Sie Authentifizierung und Verschlüsselung ein

Die Net-SNMP-Client-Dienstprogramme wie snmpget, snmpwalk und mehr sowie der Daemon (snmpd) unterstützen alle drei Versionen des SNMP-Protokolls: v1, v2c und v3. Während die ersten beiden nur Authentifizierung unterstützen, unterstützt v3 auch Verschlüsselung. In diesem Abschnitt besprechen wir, wie SNMPv3 eingerichtet wird.

Stoppen Sie als ersten Schritt den Dienst snmpd-Daemon mit dem folgenden Befehl:

 /etc/init.d/snmpd stoppen 

Öffnen /var/lib/snmp/snmpd.conf dann die Datei /var/lib/snmp/snmpd.conf und fügen Sie die folgende Zeile am Ende hinzu:

 createUser USERNAME SHA "AUTHENTIFIZIERUNG-PASSWORT" AES "VERSCHLÜSSELUNGS-PASSWORT" 

Der createUser Befehl erstellt einen SNMPv3-spezifischen Benutzer zum Zweck der Authentifizierung und Verschlüsselung von SNMPV3-Nachrichten.

Ersetzen Sie im obigen Befehl "AUTHENTICATION-PASSWORD" und "ENCRYPTION-PASSWORD" durch tatsächliche Passwörter, die Sie behalten möchten. Es ist auch erwähnenswert, dass, wenn Sie "ENCRYPTION-PASSWORD" überhaupt nicht erwähnen, Net-SNMP "AUTHENTICATION-PASSWORD" als "ENCRYPTION-PASSWORD" verwenden wird.

etc/snmp/snmpd.conf nun etc/snmp/snmpd.conf und füge unten folgende Zeile hinzu:

 rouser USERNAME priv 

Diese Zeile stellt sicher, dass der Benutzer, den wir zuvor erstellt haben, über Leseberechtigungen verfügt und nur über AuthPriv, einen Net-SNMP-Modus, der die Kommunikation mit der Authentifizierung sowie den Datenschutz ermöglicht, erreichbar ist. Wenn der Benutzer auch Schreibberechtigungen haben soll, verwenden rwuser in diesem Fall einfach rwuser (statt rouser ).

Starten Sie nun den Net-SNMP Daemon-Dienst erneut mit dem folgenden Befehl:

 /etc/init.d/snmp starten 

Führen Sie dann den folgenden Befehl aus, um SNMPV3 zu testen:

 snmpwalk -v 3 -l authPriv -a sha -A [AUTHENTIFIZIERUNG-PASSWORT] -x AES -X [VERSCHLÜSSELUNGS-PASSWORT] -u [USERNAME] localhost-System 

Wenn SNMPV3 erfolgreich eingerichtet wird, sollte die Ausgabe die gleiche wie die sein, die zu Beginn dieses Artikels aufgeführt ist.

Hinweis :
1. Stellen Sie sicher, dass [AUTHENTICATION-PASSWORD], [ENCRYPTION-PASSWORD] und [USERNAME] durch geeignete Werte ersetzt werden.

2. SHA-Authentifizierung und DES / AES-Verschlüsselungsunterstützung sind nur verfügbar, wenn Sie OpenSSL installiert haben oder wenn Sie mit --with-openssl=internal kompiliert haben.

Fazit

Net-SNMP bietet eine Vielzahl von Konfigurationsoptionen, und was wir hier besprochen haben, sind nur die Grundlagen, obwohl es genug sein sollte, um Sie zu beginnen. Weitere Informationen finden Sie auf der Manpage von snmpd.conf.