Unvorhersehbarer Juniper SNMPv3-Zugriffsfehler


8

Wir haben Probleme, bei denen SNMPv3 keine SNMP-Anforderungen für unsere Switches der Juniper EX-Serie mehr akzeptiert. In scheinbar zufälligen Fällen lehnen Juniper-Knoten die Anmeldeinformationen für die SNMP-Authentifizierung ab.

Das bekommen wir am Ende:

rj@MHN00525SYS01:~$ snmpwalk -v 3 -a SHA -A "PASS" -l authPriv -x AES -X "PASS" 
  -u "username" mhn00416an01 iso.3.6.1.2.1.1.1.0
snmpwalk: Unknown user name
rj@MHN00525SYS01:~$

Unsere Geräte funktionierten, hörten dann aber einfach auf. Die Benutzernamen sind korrekt und werden in das System geladen.

rj@MHN00416AN01# run show snmp v3 users

Engine ID: 80 00 0a 4c 04 31 33 <...snip...>
    User                            Auth/Priv   Storage      Status
    username                         sha/aes128 nonvolatile  active

Nachdem wir uns einige Zeit damit befasst hatten, beschlossen wir schließlich, dies zu untersuchen. Ich sehe diesen Eintrag, bevor das System keine Anfragen mehr annimmt:

Nov  6 09:44:32  MHN00416AN01 mgd[7996]: UI_COMMIT: User 'rj' requested 'commit' 
  operation (comment: none)
Nov  6 09:44:35  MHN00416AN01 snmpd[1260]: LIBJSNMP_NS_LOG_ERR: ERR: snmpd: send_trap: USM 
  unknown security name (no such user exists) (plaintext scopedPDU header type 00: s/b 30)
Nov  6 09:44:35  MHN00416AN01 snmpd[1260]: SNMPD_ENGINE_ID_CHANGED: Warning: Local 
  engine ID has changed. Passwords for all the users under [edit snmp v3 usm local-engine] 
  need to be reconfigured.

Ich habe festgestellt, dass durch erneutes Eingeben des Benutzernamens / der Kennwörter der Zugriff auf das Gerät wiederhergestellt wird.

rj@MHN00416AN01# set snmp v3 usm local-engine user username 
  authentication-sha authentication-password PASS

{master:0}[edit]
rj@MHN00416AN01# set snmp v3 usm local-engine user username 
  privacy-aes128 privacy-password PASS

Nach einer commitOperation können wir wieder darauf zugreifen.

rj@MHN00525SYS01:~$ snmpwalk -v 3 -a SHA -A "PASS" -l authPriv -x AES -X "PASS" 
  -u "username" mhn00416an01 iso.3.6.1.2.1.1.1.0
iso.3.6.1.2.1.1.1.0 = STRING: "Juniper Networks, Inc. ex3300-48p Ethernet Switch, kernel 
  JUNOS 12.3R3.4, Build date: 2013-06-14 02:21:01 UTC Copyright (c) 1996-2013 Juniper 
  Networks, Inc."
rj@MHN00525SYS01:~$

Dieses Problem tritt auf einer Vielzahl verschiedener Geräte auf. Zu den Modellen gehören EX2200-c, EX3300, EX4200 und EX4550 in Version 12.3.

Warum passiert das und wie kann ich dafür sorgen, dass es aufhört?

Antworten:


6

Dieses Problem ist auf die Änderung der Motor-ID zurückzuführen. Wenn Sie auf diese Syslog-Nachricht stoßen, ist dies die genaue Definition des Problems.

Nov  6 09:44:35  MHN00416AN01 snmpd[1260]: SNMPD_ENGINE_ID_CHANGED: Warning: Local 
  engine ID has changed. Passwords for all the users under [edit snmp v3 usm local-engine] 
  need to be reconfigured.

Leider habe ich festgestellt, dass dies ohne ersichtlichen Grund geschieht. Das Commit, das vor der Änderung dieser Engine-ID ausgeführt wurde, war eine einfache syslog-hostErgänzung, die zur Änderung der Engine-ID führte. Juniper behandelt die engine-idOption in seiner TechLibrary , die besagt, dass die Standardoption darin besteht, die Standard-IP-Adresse des Geräts zu verwenden.

Nachdem wir viel mit dem Kopf gegen den Schreibtisch geschlagen haben, haben wir festgestellt, dass es die beste Option ist, einfach einen mit einer expliziten Einstellung zu definieren, da dies konsistent bleibt.

rj@MHN00416AN01# set snmp engine-id local ***.**.244.245

{master:0}[edit]
rj@MHN00416AN01# commit
configuration check succeeds
commit complete

Juniper hat auch einen Hinweis zum Ändern der Motor-ID, der durchgeführt werden muss, bevor es funktioniert. Dies bedeutet effektiv, dass Sie nach dem Festschreiben einer neuen Engine-ID auch einen anderen Benutzernamen / ein anderes Kennwort festschreiben müssen.

Hinweis: SNMPv3-Authentifizierungs- und Verschlüsselungsschlüssel werden basierend auf den zugehörigen Kennwörtern und der Engine-ID generiert. Wenn Sie die Engine-ID konfigurieren oder ändern, müssen Sie die neue Engine-ID festschreiben, bevor Sie SNMPv3-Benutzer konfigurieren. Andernfalls basieren die aus den konfigurierten Kennwörtern generierten Schlüssel auf der vorherigen Engine-ID. Für die Engine-ID empfehlen wir die Verwendung der MAC-Adresse des Management-Ports.

Sie werden neue Benutzer in die Konfiguration verpflichten müssen nach dem Motorwechsel. Dies ist wichtig , weil SNMPv3 Benutzer nicht funktionieren , wenn Sie dies nicht tun , obwohl , was tatsächlich gesagt , unter dem show snmp v3 users. Stellen Sie also sicher, dass Sie neue Benutzer definieren.

rj@MHN00416AN01# set snmp v3 usm local-engine user username 
  authentication-sha authentication-password PASS

{master:0}[edit]
rj@MHN00416AN01# set snmp v3 usm local-engine user username 
  privacy-aes128 privacy-password PASS

{master:0}[edit]
rj@MHN00416AN01# commit
configuration check succeeds
commit complete

Vor der Änderung:

rj@MHN00416AN01# run show snmp v3

Local engine ID: 80 00 0a 4c 01 ** ** f4 f5
Engine boots:           1
Engine time:       421043 seconds
Max msg size:       65507 bytes

Engine ID: 80 00 0a 4c 04 31 33 <...snip...>
    User                            Auth/Priv   Storage      Status
    Username                         sha/aes128 nonvolatile  active

Nach der Änderung:

Local engine ID: 80 00 0a 4c 04 31 33 <...snip...>   <---- previously Engine ID
Engine boots:           1
Engine time:       421110 seconds
Max msg size:       65507 bytes

Engine ID: local   <------ changed
    User                            Auth/Priv   Storage      Status
    Username                         sha/aes128 nonvolatile  active

Dies bietet ein zuverlässigeres SNMP-Setup, das nicht anfällig für Änderungen der Engine-ID ist und den Zugriff verhindert. Juniper empfiehlt, dass Sie die use-mac-addressOption im Gegensatz zu verwenden local engine-id-suffix. Diese Option ist anfällig für Probleme bei der Einrichtung eines virtuellen Gehäuses. Wenn eine Backup-Routing-Engine übernimmt, ändert sich die SNMP-Engine-ID in die me0Schnittstelle des neuen Masters.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.