Konfigurieren von SNMP in Junos OS
SNMP konfigurieren
Sie können SNMP in der Junos OS-Software implementieren, die auf den Produkten der QFX- und OCX-Serie ausgeführt wird. Standardmäßig ist SNMP nicht aktiviert. Um SNMP zu aktivieren, müssen Sie die SNMP-Konfigurationsanweisungen auf Hierarchieebene [edit]
einschließen.
Um die Mindestanforderungen für SNMP zu konfigurieren, schließen community public
Sie die include-Anweisung auf Hierarchieebene [edit snmp]
ein.
- Konfigurationsanweisungen auf der [edit snmp] Hierarchieebene
- Konfigurieren der Grundeinstellungen für SNMP
Informationen zum Konfigurieren vollständiger SNMP-Funktionen finden Sie unter snmp.
- Konfigurationsanweisungen auf der [edit snmp] Hierarchieebene
- Konfigurieren der Grundeinstellungen für SNMP
Konfigurationsanweisungen auf der [edit snmp] Hierarchieebene
In diesem Thema werden alle Konfigurationsanweisungen auf Hierarchieebene [edit snmp]
und deren Ebene in der Konfigurationshierarchie beschrieben. Wenn Sie Junos OS konfigurieren, wird Ihre aktuelle Hierarchieebene im Banner in der Zeile vor der user@host#
Eingabeaufforderung angezeigt.
[edit] snmp { alarm-management { alarm-list-name list-name { alarm-id id { alarm-state state { description alarm-description; notification-id notification-id-of-alarm; resource-prefix alarm-resource-prefix; varbind-index varbind-index-in-alarm-varbind-list; varbind-subtree alarm-varbind-subtree; varbind-value alarm-varbind-value; } } } } client-list client-list-name { ip-addresses; } community community-name { authorization authorization; client-list-name client-list-name; clients { address <restrict>; } logical-system logical-system-name { routing-instance routing-instance-name; clients { address <restrict>; } } routing-instance routing-instance-name { clients { address <restrict>; } } view view-name; } contact contact; description description; engine-id { (local engine-id | use-default-ip-address | use-mac-address); } filter-duplicates; interface [ interface-names ]; location location; name name; nonvolatile { commit-delay seconds; } {rmon { alarm index { description description; falling-event-index index; falling-threshold integer; falling-threshold-interval seconds; interval seconds; request-type (get-next-request | get-request | walk-request); rising-event-index index; rising-threshold integer; sample-type type; startup-alarm alarm; syslog-subtag syslog-subtag; variable oid-variable; } event index { community community-name; description description; type type; } } traceoptions { file filename <files number> <size size> <world-readable | no-world-readable> <match regular-expression>; flag flag; memory-trace; no-remote-trace; no-default-memory-trace; } trap-group group-name { categories { category; } destination-port port-number; routing-instance instance; logical-system logical-system-name; targets { address; } version (all | v1 | v2); } trap-options { agent-address outgoing-interface; source-address address; enterprise-oid; logical-system logical-system-name { routing-instance routing-instance-name { source-address address; } } routing-instance routing-instance-name { source-address address; } } v3 { notify name { tag tag-name; type (trap | inform); } notify-filter profile-name { oid oid (include | exclude); } snmp-community community-index { community-name community-name; security-name security-name; tag tag-name; } target-address target-address-name { address address; address-mask address-mask; logical-system logical-system; port port-number; retry-count number; routing-instance instance; tag-list tag-list; target-parameters target-parameters-name; timeout seconds; } target-parameters target-parameters-name { notify-filter profile-name; parameters { message-processing-model (v1 | v2c | v3); security-level (authentication | none | privacy); security-model (usm | v1 | v2c); security-name security-name; } } usm { local-engine { user username { authentication-md5 { authentication-password authentication-password; } authentication-none; authentication-sha { authentication-password authentication-password; } privacy-3des { privacy-password privacy-password; } privacy-aes128 { privacy-password privacy-password; } privacy-des { privacy-password privacy-password; } privacy-none; } } } vacm { access { group group-name { (default-context-prefix | context-prefix context-prefiix){ security-model (any | usm | v1 | v2c) { security-level (authentication | none | privacy) { notify-view view-name; read-view view-name; write-view view-name; } } } } } security-to-group { security-model (usm | v1 | v2c) { security-name security-name { group group-name; } } } } } view view-name { oid object-identifier (include | exclude); } }
Ab Junos OS und Junos OS Evolved Version 22.2R1 ist die Option "packet-size" in der CLI unter [edit snmp]
"Hierarchie" aktiviert.
Konfigurieren der Grundeinstellungen für SNMP
Die folgenden Abschnitte enthalten Informationen zur grundlegenden SNMP-Konfiguration und einige Beispiele für die Konfiguration der grundlegenden SNMP-Vorgänge auf Geräten mit Junos OS:
- Konfigurieren der Grundeinstellungen für SNMPv1 und SNMPv2
- Grundeinstellungen für SNMPv3 konfigurieren
Konfigurieren der Grundeinstellungen für SNMPv1 und SNMPv2
SNMP kann standardmäßig nicht auf Geräten mit Junos OS aktiviert werden. Um SNMP auf Geräten mit Junos OS zu aktivieren, fügen Sie die community public
Anweisung auf Hierarchieebene [edit snmp]
ein.
Aktivieren der Vorgänge "SNMPv1" und "SNMPv2 Get" und "GetNext"
[edit] snmp { community public; }
Eine Community, die als öffentlich definiert ist, gewährt jedem Client Zugriff auf alle MIB-Daten.
Um SNMPv1- und SNMPv2-Vorgänge Set
auf dem Gerät zu aktivieren, müssen Sie die folgenden Anweisungen auf Hierarchieebene [edit snmp]
einfügen:
Aktivieren von SNMPv1- und SNMPv2-Set-Vorgängen
[edit snmp] view all { oid .1; } community private { view all; authorization read-write; }
Das folgende Beispiel zeigt die grundlegende Mindestkonfiguration für SNMPv1- und SNMPv2-Traps auf einem Gerät:
Konfigurieren von SNMPv1- und SNMPv2-Traps
[edit snmp] trap-group jnpr { targets { 192.168.69.179; } }
Grundeinstellungen für SNMPv3 konfigurieren
Das folgende Beispiel zeigt die minimale SNMPv3-Konfiguration für die Aktivierung Get
von , GetNext
und Set
die Vorgänge auf einem Gerät (beachten Sie, dass für die Konfiguration die Authentifizierung und md5
der Datenschutz none
auf festgelegt sind):
Aktivieren der SNMPv3-Vorgänge "Get", "GetNext" und "Set"
[edit snmp] v3 { usm { local-engine { user jnpruser { authentication-md5 { authentication-key "$9$guaDiQFnAuOQzevMWx7ikqP"; ## SECRET-DATA } privacy-none; } } } vacm { security-to-group { security-model usm { security-name jnpruser { group grpnm; } } } access { group grpnm { default-context-prefix { security-model any { security-level authentication { read-view all; write-view all; } } } } } } } view all { oid .1; }
Das folgende Beispiel zeigt die Grundkonfiguration für SNMPv3 informiert auf einem Gerät (die Konfiguration verfügt über Authentifizierungs- und Datenschutzeinstellungen für none
):
Konfigurieren von SNMPv3-Benachrichtigungen
[edit snmp] v3 { usm { remote-engine 00000063200133a2c0a845c3 { user RU2_v3_sha_none { authentication-none; privacy-none; } } } vacm { security-to-group { security-model usm { security-name RU2_v3_sha_none { group g1_usm_auth; } } } access { group g1_usm_auth { default-context-prefix { security-model usm { security-level authentication { read-view all; write-view all; notify-view all; } } } } } } target-address TA2_v3_sha_none { address 192.168.69.179; tag-list tl1; address-mask 255.255.252.0; target-parameters TP2_v3_sha_none; } target-parameters TP2_v3_sha_none { parameters { message-processing-model v3; security-model usm; security-level none; security-name RU2_v3_sha_none; } notify-filter nf1; } notify N1_all_tl1_informs { type inform; # Replace inform with trap to convert informs to traps. tag tl1; } notify-filter nf1 { oid .1 include; } } view all { oid .1 include; }
Sie können die SNMPv3-Informationen in Traps konvertieren, indem Sie den Wert der type
Anweisung auf der [edit snmp v3 notify N1_all_tl1_informs]
Hierarchieebene auf trap
setzen, wie im folgenden Beispiel gezeigt:
Umwandeln von Informationen in Traps
user@host# set snmp v3 notify N1_all_tl1_informs type trap
Siehe auch
Konfigurieren von SNMP-Details
Sie können SNMP verwenden, um grundlegende administrative Details zu speichern, z. B. den Namen eines Kontakts und den Standort des Geräts. Ihr Managementsystem kann diese Informationen dann aus der Ferne abrufen, wenn Sie ein Problem beheben oder ein Audit durchführen. In der SNMP-Terminologie sind dies die Objekte sysName, sysContact, sysDescription und sysLocation, die sich in der Systemgruppe von MIB-2 befinden (wie in RFC 1213 ( Management Information Base for Network Management of TCP/IP-based internets) definiert: MIB-II). Sie können Anfangswerte direkt in der Junos OS-Konfiguration für jedes System festlegen, das über SNMP verwaltet wird.
Halten Sie für die Geräte, die von SNMP verwaltet werden, immer den Namen, den Standort, den Kontakt und die Beschreibungsinformationen konfiguriert und auf dem neuesten Stand.
So legen Sie die SNMP-Details fest:
Konfigurieren des Timers für die Commit-Verzögerung
Wenn ein Router oder Switch zum ersten Mal eine nichtflüchtige Set
SNMP-Anforderung empfängt, wird eine Junos OS-XML-Protokollsitzung geöffnet, die verhindert, dass andere Benutzer oder Anwendungen die Kandidatenkonfiguration ändern (entspricht dem CLI-Befehl (Command-Line Interface). configure exclusive
Wenn der Router neue SNMP-Anforderungen Set
empfängt, während die Kandidatenkonfiguration festgeschrieben wird, wird die SNMP-Anforderung Set
abgelehnt und ein Fehler generiert. Wenn der Router neue SNMP-Anfragen Set
empfängt, bevor 5 Sekunden verstrichen sind, wird der Commit-Verzögerungs-Timer (die Zeitspanne zwischen dem Empfang der letzten SNMP-Anfrage und der Anforderung des Commits) auf 5 Sekunden zurückgesetzt.
Standardmäßig ist der Timer auf 5 Sekunden eingestellt. Um den Timer für die SNMP-Antwort Set
und den Start des Commits zu konfigurieren, fügen Sie die commit-delay
Anweisung auf Hierarchieebene [edit snmp nonvolatile]
ein:
[edit snmp nonvolatile] commit-delay seconds;
seconds
ist die Zeitspanne zwischen dem Empfang der SNMP-Anforderung und der Anforderung des Commits für die Kandidatenkonfiguration. Weitere Informationen zum configure exclusive
Befehl und zum Sperren der Konfiguration finden Sie im Junos OS CLI-Benutzerhandbuch .
Konfigurieren von SNMP auf einem Gerät mit Junos OS
Standardmäßig ist SNMP auf Geräten mit Junos OS deaktiviert. Um SNMP auf einem Router oder Switch zu aktivieren, müssen Sie die SNMP-Konfigurationsanweisungen auf Hierarchieebene [edit snmp]
einschließen.
Um die Mindestanforderungen für SNMP zu konfigurieren, schließen community public
Sie die include-Anweisung auf Hierarchieebene [edit snmp]
ein.
Die hier definierte Community gewährt public
jedem Client Lesezugriff auf alle MIB-Daten.
Um vollständige SNMP-Funktionen zu konfigurieren, fügen Sie die folgenden Anweisungen auf Hierarchieebene [edit snmp]
ein:
snmp { client-list client-list-name { ip-addresses; } community community-name { authorization authorization; client-list-name client-list-name; clients { address restrict; } routing-instance routing-instance-name { clients { addresses; } } logical-system logical-system-name { routing-instance routing-instance-name { clients { addresses; } } } view view-name; } contact contact; description description; engine-id { (local engine-id | use-mac-address | use-default-ip-address); } filter-duplicates; health-monitor { falling-threshold integer; interval seconds; rising-threshold integer; } interface [ interface-names ]; location location; name name; nonvolatile { commit-delay seconds; } rmon { alarm index { description text-description; falling-event-index index; falling-threshold integer; falling-threshold-interval seconds; interval seconds; request-type (get-next-request | get-request | walk-request); rising-event-index index; sample-type type; startup-alarm alarm; syslog-subtag syslog-subtag; variable oid-variable; } event index { community community-name; description text-description; type type; } } traceoptions { file filename <files number> <size size> <world-readable | no-world-readable> <match regular-expression>; flag flag; } trap-group group-name { categories { category; } destination-port port-number; routing-instance instance; targets { address; } version (all | v1 | v2); } trap-options { agent-address outgoing-interface; source-address address; } view view-name { oid object-identifier (include | exclude); } }
Siehe auch
Beispiel: SNMP auf dem QFabric System konfigurieren
Standardmäßig ist SNMP auf Geräten mit Junos OS deaktiviert. Dieses Beispiel beschreibt die Schritte zur Konfiguration von SNMP auf dem QFabric-System.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Junos OS Version 12.2
Netzwerkmanagementsystem (NMS) (mit dem SNMP-Manager)
QFabric-System (mit dem SNMP-Agenten) mit mehreren Node-Geräten
Überblick
Sie müssen SNMP auf Ihrem Gerät aktivieren, indem Sie Konfigurationsanweisungen auf Hierarchieebene [edit snmp]
einschließen. Sie müssen die community public
Anweisung mindestens konfigurieren. Die Community, die als öffentlich definiert ist, gewährt jedem Client schreibgeschützten Zugriff auf MIB-Daten.
Wenn keine clients
Anweisung konfiguriert ist, sind alle Clients zulässig. Es wird empfohlen, immer die Option zum Einschränken des restrict
SNMP-Clientzugriffs auf den Switch einzuschließen.
Topologie
Die Netzwerktopologie in diesem Beispiel umfasst ein NMS, ein QFabric-System mit vier Node-Geräten und externe SNMP-Server, die für den Empfang von Traps konfiguriert sind.
Konfiguration
Verfahren
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie dann die Befehle und fügen Sie sie in die CLI auf Hierarchieebene [edit]
ein.
set snmp name “snmp qfabric” description “qfabric0 switch” set snmp location “Lab 4 Row 11” contact “qfabric-admin@qfabric0” set snmp community public authorization read-only set snmp client-list list0 192.168.0.0/24 set snmp community public client-list-name list0 set snmp community public clients 192.170.0.0/24 restrict set snmp trap-group “qf-traps” destination-port 155 targets 192.168.0.100
Schritt-für-Schritt-Anleitung
Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch .
So konfigurieren Sie SNMP auf dem QFabric-System:
Wenn der Name, die Beschreibung, der Standort, der Kontakt oder der Community-Name Leerzeichen enthält, schließen Sie den Text in Anführungszeichen (" ") ein.
Konfigurieren Sie den SNMP-Systemnamen:
[edit snmp] user@switch# set name “snmp qfabric”
HINWEIS:Sie können auf den oben konfigurierten SNMP-Systemnamen zugreifen:
-
Durch eine Abfrage mit dem SNMPGet für den Richtlinienobjektbezeichner (Policy Object Identifier, OID) sysName.0.
-
Aus dem generischen jnxSyslogTrap. Um die jnxSyslogTrap zu senden, konfigurieren Sie die Trap-Ereignisse in
[edit event-options policy]
der Hierarchie.
-
Geben Sie eine Beschreibung an.
[edit snmp] user@switch# set description “qfabric0 system”
Diese Zeichenfolge wird in das MIB II-sysDescription-Objekt eingefügt.
Geben Sie den physischen Standort des QFabric-Systems an.
[edit snmp] user@switch# set location “Lab 4 Row 11”
Diese Zeichenfolge wird in das MIB II-sysLocation-Objekt eingefügt.
Geben Sie einen administrativen Kontakt für das SNMP-System an.
[edit snmp] user@switch# set contact “qfabric-admin@qfabric0”
Dieser Name wird in das MIB II-sysContact-Objekt eingefügt.
Geben Sie einen eindeutigen SNMP-Community-Namen und die schreibgeschützte Autorisierungsebene an.
HINWEIS:Die
read-write
Option wird auf dem QFabric-System nicht unterstützt.[edit snmp] user@switch# set community public authorization read-only
Erstellen Sie eine Clientliste mit einer Reihe von IP-Adressen, die die SNMP-Community verwenden können.
[edit snmp] user@switch# set client-list list0 192.168.0.0/24 user@switch# set community public client-list-name list0
Geben Sie die IP-Adressen von Clients an, die von der Nutzung der Community ausgeschlossen sind.
[edit snmp] user@switch# set community public clients 198.51.100.0/24 restrict
Konfigurieren Sie eine Trap-Gruppe, einen Zielport und ein Ziel, um die SNMP-Traps in der Trap-Gruppe zu empfangen.
[edit snmp] user@switch# set trap-group “qf-traps” destination-port 155 targets 192.168.0.100
HINWEIS:Sie müssen die
destination-port
Anweisung nicht einschließen, wenn Sie den Standardport 162 verwenden.Die Trap-Gruppe qf-traps ist so konfiguriert, dass Traps an 192.168.0.100 gesendet werden.
Ergebnisse
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show
Befehl eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
[edit] user@switch# show snmp { name "snmp qfabric"; description "qfabric0 system"; location "Lab 4 Row 11"; contact "qfabric-admin@qfabric0"; client-list list0 { 192.168.0.0/24; } community public { authorization read-only; clients { 198.51.100.0/24 restrict; } } trap-group qf-traps { destination-port 155; targets { 192.168.0.100; } } }
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit
.