1. コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Router(config)# snmp-agent ip enable
Router(config)# snmp-agent ip community <community> [ ro | rw ]
Router(config)# snmp-agent ip trap TRAP_MNS snmp [ link-down | link-up | ... ]
Router(config)# snmp-agent ip trap TRAP_MNS enterprise [ config-mode | config-modified | ... ]
Router(config)# snmp-agent ip host <addr> <community> [ version <version> ]

2. 仕様説明

2.1. snmp有効化

以下のコマンドでsnmpとsnmptrapの両方を有効化する事ができます。

Router(config)# snmp-agent ip enable

2.2. コミュニティ名の定義

まず、snmptrapで仕様するコミュニティ名を定義します。

Router(config)# snmp-agent ip community <community> [ ro | rw ]

2.3. トラップの種類

有効にするsnmptrapの種類を定義します。 link-down, link-upなどの詳細指定を省略した場合は全てのtrapが有効になります。

snmpはリンクダウンや再起動などの物理的な障害を発砲し、 enterpriseはOSPF状態変更や設定変更などの論理的な変更を発砲します。 enterpriseを全て有効化してしまうと精査しきれない程のトラップが発砲されてしまうと思います。 お勧めはsnmpは全てのトラップを有効にし、 enterpriseはtry & errorを繰り返しつつ必要な機能のみ発砲するようにしましょう。

Router(config)# snmp-agent ip trap TRAP_MNS snmp [ link-down | link-up | ... ]
Router(config)# snmp-agent ip trap TRAP_MNS enterprise [ config-mode | config-modified | ... ]

2.4. 宛先ホストの指定

snmptrapを送信する監視サーバを指定します。

Router(config)# snmp-agent ip host <addr> <community> [ version <version> ]

3. 動作確認環境

以下の構成で動作確認を行います。


            ::100    ::254           .254     ::200
 +---------+ .100     .254 +--------+.254      .200 +---------+
 | Host100 +---------------+ IX2215 +---------------+ Host200 |
 +---------+          G1.0 +--------+ G0.0          +---------+
            192.168.0.0/24           150.0.0.0/24
            2001::/64                2001:150::/64
 [Host100]
route add 150.0.0.0 mask 255.255.255.0 192.168.0.254

 [IX2215]
ip route 0.0.0.0/0 150.0.0.254
!
interface GigaEthernet1.0
  ip address 192.168.0.254/24
  ipv6 address 2001::254/64
  no shutdown
!
interface GigaEthernet0.0
  ip address 150.0.0.254/24
  ipv6 address 2001:150::254/64
  no shutdown
!
username cisco password plain cisco
telnet-server ip enable

初期設定の全文は以下を参照下さい。

4. snmptrap 設定

4.1. snmp 有効化

以下のコマンドを入力し、snmptrapを有効にします。

snmp-agent ip enable

4.2. コミュニティ名の設定

TRAP_MNSという名前のコミュニティ名を定義します。

snmp-agent ip community TRAP_MNS ro

4.3. トラップの種類の定義

snmpに関しては全項目を、enterpriseに関しては設定変更をトラップとして通知するようにします。

snmp-agent ip trap TRAP_MNS snmp
snmp-agent ip trap TRAP_MNS enterprise config-mode

4.4. トラップサーバの指定

トラップをHost100へ送信するよう設定します。

snmp-agent ip host 192.168.0.100 TRAP_MNS

4.5. 動作確認

IXルータへで"conf t"コマンドを発行し、トラップを送信させます。

R254# conf t
Enter configuration commands, one per line. End with CNTL/Z.
R254(config)#

Host100へトラップが届いた事を確認します。

# tail -n 3 /var/log/messages
Jan 27 21:42:30 localhost snmptrapd[1148]: 2014-01-27 21:42:30 192.168.0.254(via UDP: [192.168.0.254]:162->[192.168.0.100]) TRAP, SNMP v1, community TRAP_MNS#012#011SNMPv2-SMI::enterprises.119.1.84 Enterprise Specific Trap (15) Uptime: 0:05:48.06#012#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.4.5 = INTEGER: 2#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.5.5 = INTEGER: 3#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.6.5 = IpAddress: 192.168.0.100#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.7.5 = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan 27 21:44:42 localhost snmptrapd[1148]: 2014-01-27 21:44:42 192.168.0.254(via UDP: [192.168.0.254]:162->[192.168.0.100]) TRAP, SNMP v1, community TRAP_MNS#012#011SNMPv2-SMI::enterprises.119.1.84 Enterprise Specific Trap (15) Uptime: 0:08:00.11#012#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.4.5 = INTEGER: 1#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.5.5 = INTEGER: 3#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.6.5 = IpAddress: 192.168.0.100#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.7.5 = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Jan 27 21:44:44 localhost snmptrapd[1148]: 2014-01-27 21:44:44 192.168.0.254(via UDP: [192.168.0.254]:162->[192.168.0.100]) TRAP, SNMP v1, community TRAP_MNS#012#011SNMPv2-SMI::enterprises.119.1.84 Enterprise Specific Trap (15) Uptime: 0:08:01.50#012#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.4.5 = INTEGER: 2#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.5.5 = INTEGER: 3#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.6.5 = IpAddress: 192.168.0.100#011SNMPv2-SMI::enterprises.119.2.3.84.4.1.1.7.5 = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

4.6. 設定確認

SNMPに関する設定は"show run"では確認できません。 "show snmp-agent community"コマンドを使用して設定を確認します。

R254(config)# show snmp-agent community ip TRAP_MNS

  Community name: TRAP_MNS
    Access type: Read-only
    View:
    Traps:
      snmp cold-start: enable
      snmp warm-start: enable
      snmp link-down: enable
      snmp link-up: enable
      snmp auth-fail: enable
      enterprise temp-fault: disable
      enterprise temp-rest: disable
      enterprise volt-fault: disable
      enterprise volt-rest: disable
      enterprise isakmp tunnel start: disable
      enterprise isakmp tunnel stop: disable
      enterprise ipsec tunnel start: disable
      enterprise ipsec tunnel stop: disable
      enterprise ipsec tunnel early-term: disable
      enterprise vrrp new-master: disable
      enterprise vrrp auth-fail: disable
      enterprise network-monitor watch-group status-change: disable
      enterprise login-session: disable
      enterprise login-failure: disable
      enterprise config-mode: enable
      enterprise config-modified: disable
      enterprise port link-down: disable
      enterprise port link-up: disable
      enterprise isdn lapd status: disable
    Trap host: * - compatibility, v1/v2 - SNMP version
       v1 192.168.0.100