はじめに
ZabbixやPRTGでCiscoスイッチを監視するとき、SNMPを v2c か v3 のどっちで組むか迷ったことありませんか?
社内検証なら v2c で十分なケースもあるけど、結論から言うと「v3 でいけるなら最初から v3 」が後々ラク。Catalyst 9300 と ISR4321 で実機検証したコマンドと、現場でハマったポイントをまとめます。
SNMPv2c と SNMPv3 の違い
| 項目 | SNMPv2c | SNMPv3 |
|---|---|---|
| 認証 | コミュニティ文字列のみ(平文) | user単位で MD5/SHA |
| 暗号化 | なし | DES/3DES/AES128/192/256 |
| 設定の手数 | 2〜3行 | 7〜10行 |
| 推奨用途 | 閉じた検証環境のみ | 本番運用すべて |
v2c はコミュニティ文字列が 平文で流れる ので、WANをまたぐ監視や共通基盤では避けたほうが無難です。
SNMPv2c の設定(ACL とセットが鉄則)
! NMSの送信元IPだけ許可するACL
ip access-list standard SNMP_NMS_RO
permit host 10.0.0.10
deny any log
! コミュニティ文字列にACLを紐付け
snmp-server community NmsR0_2026 RO SNMP_NMS_RO
snmp-server location DC-Tokyo-Rack5
snmp-server contact netops@example.co.jp
コミュニティ名に public / private は絶対NG。スキャナの辞書攻撃で最初に試されます。
SNMPv3 の設定(推奨)
view → group → user の順に作るのがポイント。
! 1. view を作る(参照可能な範囲を絞る)
snmp-server view v_iso iso included
snmp-server view v_iso internet.6.3.15 excluded
! 2. group を作る
snmp-server group GRP_NMS v3 priv read v_iso access SNMP_NMS_RO
! 3. user を作る(auth + priv)
snmp-server user nms_user GRP_NMS v3 \
auth sha N3tOpsAuth!2026 priv aes 128 N3tOpsPriv!2026
```
> ⚠ `snmp-server user` のパスワードは EngineID と紐づくので、コンフィグをバックアップから別装置に流し込んでも動きません。リストア後に再作成が必要です。
## SNMP trap 送信の設定
```
snmp-server enable traps snmp linkdown linkup coldstart warmstart
snmp-server enable traps config
snmp-server enable traps syslog
snmp-server host 10.0.0.10 version 3 priv nms_user
```
`enable traps` を全部入りにすると、ポートがバタつくたびに大量のtrapが飛んでNMSのキューが詰まります。最初は `linkdown linkup` と `config` だけでスタートが現実的。
## 動作確認とよく使う OID
```
# Linux 側からの snmpwalk(v3)
snmpwalk -v 3 -l authPriv -u nms_user \
-a SHA -A 'N3tOpsAuth!2026' \
-x AES -X 'N3tOpsPriv!2026' \
10.0.0.1 sysDescr
```
| 用途 | OID / MIB名 |
|---|---|
| 機種・IOS識別 | sysDescr (1.3.6.1.2.1.1.1) |
| CPU使用率 | cpmCPUTotal5min |
| メモリ使用 | ciscoMemoryPoolUsed |
| IF状態 | ifOperStatus(1=up, 2=down) |
| トラフィック量 | ifHCInOctets / ifHCOutOctets(64bit) |
## トラブル対処パターン
| 症状 | 原因 | 対処 |
|---|---|---|
| Timeout: No Response | ACL拒否/FW遮断 | `show ip access-lists` でhitcount確認 |
| Authentication failure | v3パスワード不一致 | user削除→再作成 |
| Unknown user name | EngineID不一致 | remote engineIDを明示 |
| trap が届かない | enable traps漏れ | `debug snmp packets` |
## 詳しくはブログで
この記事の完全版(v3 の view 設定の詳細、`show snmp` 系コマンドの全出力例、トラブル時のログの読み方など)はブログで公開しています。
👉 [Cisco SNMP設定手順|v2c/v3の使い分け・trap送信・OID確認【実機検証】](https://inunuit.com/2026/05/01/cisco-snmp-v2c-v3-trap-configuration-guide/)
ネットワークエンジニア歴のメモを inunuit.com に書いてます。FortiGate / Cisco / 資格対策が中心です。