SNMP監視が届かない時の原因とMIBの読み方・確認手順

  • URLをコピーしました!

SNMP 監視が急に届かなくなった、監視サーバー側でタイムアウトが発生する──これらはネットワーク運用で非常に頻繁に起きるトラブルです。本記事では、SNMP の仕組みを踏まえつつ、原因/確認手順/コマンド例/期待される結果 を体系的にまとめています。

目次

■ よくある原因一覧(まずここを疑う)

  • SNMPコミュニティ名/ユーザー名の不一致(v1/v2c/v3)
  • ACL や FW による UDP/161 のブロック
  • SNMP のバージョン設定ミスマッチ(例:監視側 v2c、機器側 v3)
  • SNMP エージェント自体が無効化されている
  • MIB の OID が誤っている(取得対象が存在しない)
  • アクセスリスト(snmp-server community の “ro” に制限)
  • VRF を使っていて監視サーバーと疎通がない

■ 1. SNMP が有効化されているか確認

【Cisco IOS の例】

show running-config | include snmp

■ 想定される正常例

snmp-server community public RO
snmp-server location ServerRoom
snmp-server contact admin@example.com

■ 異常例(よくあるパターン)

snmp-server community public RO 10

→ 数字「10」は snmp ACL の番号。ACL に監視サーバーのIPが入っていないと取得不可。

■ 2. ACL やファイアウォールで UDP/161 が許可されているか

【Cisco FW の例】

show access-list | include 161

正常例

permit udp host 192.168.1.10 any eq 161

異常例

deny udp any any eq 161

→ SNMP は TCP ではなく UDP/161(Trap は UDP/162)。ここが誤っているケースは非常に多いです。

■ 3. SNMP バージョンの不一致確認(v2c / v3)

SNMPv3 はセキュリティがあり、認証方式のミスで失敗しやすいポイントです。

【設定確認】

show running-config | section snmp-server

よくある v3 ミス

  • auth プロトコルが SHA / MD5 で不一致
  • privacy が AES / DES で不一致
  • ユーザー名が誤り

例:Cisco SNMPv3 設定

snmp-server group NMS v3 auth
snmp-server user monitor NMS v3 auth sha PASSWORD privacy aes 128 PRIVPASS

■ 4. SNMP 通信の疎通テスト(snmpwalk)

監視サーバー側で実行する例

snmpwalk -v2c -c public 192.168.1.1 sysName

正常例

SNMPv2-MIB::sysName.0 = STRING: CoreSwitch01

異常例(タイムアウト)

Timeout: No Response from 192.168.1.1

→ ACL・FW ロック、バージョン mismatch の典型。

■ 5. MIB と OID の読み方(必須知識)

SNMP では、各データが OID(Object Identifier) として階層構造で管理されています。 例えば以下は非常に有名な sysName の OID です。

1.3.6.1.2.1.1.5.0

OID の構造イメージ

1   → ISO
1.3 → org
1.3.6 → dod
1.3.6.1 → internet
1.3.6.1.2 → mgmt
1.3.6.1.2.1 → MIB-2

sysName は MIB-2 の system グループの 1 項目です。

実際の取得例

snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.5.0

正常例

SNMPv2-MIB::sysName.0 = STRING: CoreSwitch01

もし Not Found となる場合、以下が原因です:

  • 機器がその MIB を実装していない
  • OID が間違っている
  • 権限不足(read-only で許可されていない MIB)

■ 6. VRF 利用時の SNMP 疎通

VRF を使っていると SNMP パケットが意図しない VRF で送信され、監視サーバーに届かないケースがあります。

確認コマンド

show snmp vrf

SNMP packets are sent via VRF MGMT

監視サーバーが別 VRF(例:default)にあると疎通しません。

■ 7. SNMP Trap が届かない時の確認(UDP/162)

設定確認例

show running-config | include trap

例(正常)

snmp-server enable traps
snmp-server host 192.168.1.10 version 2c public

Trap はポーリングとは別で、UDP/162 を使います。 FW や ACL で 162 を閉じていると届きません。

■ 8. 最終的なチェックリスト

  1. SNMP は有効化されているか?
  2. community / user / version は一致しているか?
  3. ACL・FW で 161/162 が許可されているか?
  4. 監視サーバーからの疎通(ping, traceroute)は取れるか?
  5. snmpwalk/snmpget が成功するか?
  6. OID(MIB)が正しいか?
  7. VRF が絡んでいないか?

■ まとめ

SNMP が届かないトラブルの多くは、コミュニティ不一致・ACL・FW・バージョン不一致 です。 本記事の手順で順に切り分けることで、ほぼ確実に原因が特定できます。

現場でよくある確認項目と期待値もまとめているため、監視がタイムアウトした際の即時調査チェックリストとして活用してください。

目次