NEC IXシリーズはSNMPによる監視機能を備えたルータです。snmp communityを設定する事によって、監視サーバからのsnmpgetに応答できるようになり、帯域やCPU使用率をグラフ化する事ができます。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Router(config)# snmp-agent ip enable Router(config)# snmp-agent ip community <community> [ <acl> ] [ ro | rw ]
仕様説明
snmp有効化
以下のコマンドでsnmpとsnmptrapの両方を有効化する事ができます。
Router(config)# snmp-agent ip enable
コミュニティ名の設定
以下のコマンドでコミュニティ名を設定する事ができます。コミュニティ名は読取専用(ro)と書込可能(rw)の2種類を選ぶ事ができます。ルータによってはMIB値を書き換える事によって再起動を行う事もできますので、死活監視と性能監視のみの用途ならば読取専用(ro)にする事をお勧めします。
Router(config)# snmp-agent ip community <community> [ ro | rw ]
contact location
必須設定ではありませんがsnmpは障害発生時に備え、連絡先 contactと設置場所 locationを設定しておく事もできます。
Router(config)# snmp-agent location <location> Router(config)# snmp-agent contact <contact>
セキュリティ設定
SNMPによって取得できる情報を誰にでも見せてしまうのはセキュリティの観点で好ましくありません。また、スイッチ機器にsnmpwalkコマンドを連打すれば簡単にCPU使用率を上昇させる事ができます。
このような脅威に備えるため、snmp応答を返すホストを限定する事ができます。”snmp-agent ip community”コマンド入力時に、<acl>を指定して下さい。
Router(config)# snmp-agent ip community <community> [ <acl> ] [ ro | rw ]
動作確認環境
以下の構成で動作確認を行います。
::100 ::254 +---------+ .100 .254 +--------+ | Host100 +---------------+ IX2215 + +---------+ G1.0 +--------+ 192.168.0.0/24 2001::/64
[IX2215] interface GigaEthernet0.0 ip address 192.168.0.254/24 ipv6 address 2001::254/64 no shutdown ! interface Loopback0.0 ip address 10.1.1.1/32
初期設定の全文は以下を参照下さい。
snmpの設定
snmp 有効化
以下のコマンドを入力し、snmpを有効にします。
snmp-agent ip enable
コミュニティ名の設定
RO_MNSというコミュニティ名でMIB値が読み取り可能なるように設定します。
snmp-agent ip community RO_MNS ro
疎通確認
Host100からsnmpによる読み取りが可能である事を確認します。
# snmpwalk -v 2c -c RO_MNS 192.168.0.254 | head SNMPv2-MIB::sysDescr.0 = STRING: NEC Portable Internetwork Core Operating System Software, IX Series IX2215 (magellan-sec) Software, Version 8.8.22, RELEASE SOFTWARE, Compiled Jul 04-Wed-2012 13:57:25 JST #2, IX2215 SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.119.1.84.16.1 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5205521) 14:27:35.21 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: R254 SNMPv2-MIB::sysLocation.0 = STRING: SNMPv2-MIB::sysServices.0 = INTEGER: 72 IF-MIB::ifNumber.0 = INTEGER: 30 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2
contact / location
contact / location 設定
locationとcontactを設定します。
snmp-agent location 1214A15_13U snmp-agent contact foo@hogehoge.com
疎通確認
Host100からlocation, contactが参照できるようになった事を確認します。
# snmpwalk -v 2c -c RO_MNS 192.168.0.254 | egrep "sysContact|sysLocation" SNMPv2-MIB::sysContact.0 = STRING: foo@hogehoge.com SNMPv2-MIB::sysLocation.0 = STRING: 1214A15_13U
送信元制御
trapdサーバによるアクセス制御
Host100からのみsnmpgetを受け付けるように設定します。
ip access-list SERVER_SNMP permit ip src 192.168.0.100/32 dest any snmp-agent ip community RO_MNS SERVER_SNMP ro
接続許可の確認
Host100からsnmpによる読み取りが可能である事を確認します。
# snmpwalk -v 2c -c RO_MNS 192.168.0.254 | head SNMPv2-MIB::sysDescr.0 = STRING: NEC Portable Internetwork Core Operating System Software, IX Series IX2215 (magellan-sec) Software, Version 8.8.22, RELEASE SOFTWARE, Compiled Jul 04-Wed-2012 13:57:25 JST #2, IX2215 SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.119.1.84.16.1 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5238531) 14:33:05.31 SNMPv2-MIB::sysContact.0 = STRING: foo@hogehoge.com SNMPv2-MIB::sysName.0 = STRING: R254 SNMPv2-MIB::sysLocation.0 = STRING: 1214A15_13U SNMPv2-MIB::sysServices.0 = INTEGER: 72 IF-MIB::ifNumber.0 = INTEGER: 30 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2
接続拒否の確認
Host100からのアクセス権を削除します。
no ip access-list SERVER_SNMP
Host100からIXルータにsnmpgetができなくなった事を確認します。
# snmpwalk -v 2c -c RO_MNS 192.168.0.254 | head Timeout: No Response from 192.168.0.254