Juniper EXシリーズスイッチでSNMPv3がSNMPリクエストの受け入れを停止するという問題があります。ランダムな発生のように見える場合、ジュニパーノードはSNMP認証資格情報を拒否します。
これは私たちが最終的に得るものです:
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:~$
デバイスは機能していましたが、その後停止しました。ユーザー名は正しく、システムに読み込まれています。
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
これにしばらく対処した後、ようやく調査することにしました。システムがリクエストの受け入れを停止する前に、このエントリが表示されます。
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.
ユーザー名/パスワードを再入力するだけで、デバイスへのアクセスが復元されることがわかりました。
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
commit
操作後、再びアクセスできます。
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:~$
この問題は、さまざまなデバイスで発生しています。モデルには、バージョン12.3のEX2200-c、EX3300、EX4200、EX4550が含まれます。
なぜこれが起こっているのですか、どうすれば停止できますか?