NEC IXルータにsnmpdの設定をし、snmp getに応答する事で統合監視サーバからの監視を受け付けるように設定する方法をまとめます。混同しやすい設定としてsnmptrapがありますが、snmptrapを送付する方法は「NEC IXのsnmptrap設定」を参照ください。
設定まとめ
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
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 ]
動作確認
動作確認の構成
以下の環境で動作確認を行います。
+-----------------+ | Internet | | (ISP:Jcom) | +-------+---------+ | | | | Gi0.0 | .dhcp +-------+---------+ | NEC IX 2015 | | R1 | +-------+---------+ Gi1.0 | .254 | | 192.168.1.0/24 +-----------+---------+ | | eth0 | .100 eth0 | .101 +-------+---------+ +-------+---------+ | Rocky Linux 8.5 | | Rocky Linux 8.5 | | host100 | | host101 | +-----------------+ +-----------------+
初期設定
IX2015の初期設定は以下の通りとします。設定はIPアドレスとインターネットに接続するためのNATしか投入していません。
動作確認 (1) snmpdの有効化
以下のコマンドを入力し、snmpdを有効にします。
[R1:IX2015] snmp-agent ip enable
publicというコミュニティ名でMIB値が読み取り可能なるように設定します。
[R1:IX2015] snmp-agent ip community public ro
host100(192.168.1.100)からsnmpwalkによる読み取りが可能である事を確認します。
[host100:RockyLinux8.5] [root@host100 ~]# snmpwalk -v 2c -c public 192.168.1.254 SNMPv2-MIB::sysDescr.0 = STRING: NEC Portable Internetwork Core Operating System Software, IX Series IX2105 (magellan-sec) Software, Version 8.10.11, RELEASE SOFTWARE, Compiled Aug 02-Fri-2013 13:57:45 JST #2, IX2105 SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.119.1.84.14.1 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (206325) 0:34:23.25 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: Router SNMPv2-MIB::sysLocation.0 = STRING: SNMPv2-MIB::sysServices.0 = INTEGER: 72 IF-MIB::ifNumber.0 = INTEGER: 12 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 <omitted>
動作確認 (2) contactとlocationの設定
locationとcontactを設定します。
[R1:IX2015] snmp-agent location 1214A15_13U snmp-agent contact foo@hogehoge.com
Host100からlocation, contactが参照できるようになった事を確認します。
[host100:RockyLinux8.5] [root@host100 ~]# snmpwalk -v 2c -c public 192.168.1.254 | egrep "sysContact|sysLocation" SNMPv2-MIB::sysContact.0 = STRING: foo@hogehoge.com SNMPv2-MIB::sysLocation.0 = STRING: 1214A15_13U [root@host100 ~]#
動作確認 (3) アクセス制御
Host100(192.168.1.100)からのみsnmpgetを受け付けるように設定します。
[R1:IX2015] ip access-list SERVER_SNMP permit ip src 192.168.1.100/32 dest any snmp-agent ip community public SERVER_SNMP ro
host100(192.168.1.100)からsnmpによる読み取りが可能であるものの、host101(192.168.1.101)からsnmpによる読み取りは不能である事を確認します。
[host100:RockyLinux8.5] [root@host100 ~]# snmpwalk -v 2c -c public 192.168.1.254 | head SNMPv2-MIB::sysDescr.0 = STRING: NEC Portable Internetwork Core Operating System Software, IX Series IX2105 (magellan-sec) Software, Version 8.10.11, RELEASE SOFTWARE, Compiled Aug 02-Fri-2013 13:57:45 JST #2, IX2105 SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.119.1.84.14.1 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (229815) 0:38:18.15 SNMPv2-MIB::sysContact.0 = STRING: foo@hogehoge.com SNMPv2-MIB::sysName.0 = STRING: Router SNMPv2-MIB::sysLocation.0 = STRING: 1214A15_13U SNMPv2-MIB::sysServices.0 = INTEGER: 72 IF-MIB::ifNumber.0 = INTEGER: 12 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 <omitted>
[host101:RockyLinux8.5] [root@host101 ~]# snmpwalk -v 2c -c public 192.168.1.254 Timeout: No Response from 192.168.1.254 [root@host101 ~]#