loopdetect検証(続)
時間が空きました。SR-X324T2のloopdetect機能検証の続き。
・loopdetect portdisable
・loopdetect portblock
・syslog、SNMP TRAP
構成
port1と2を直結させる
loopdetect portdisable
以下を設定。
(ちなみに上記コマンドの後 commit コマンドを実行しないと設定が反映されません。富士通製の仕様)
loop検知後の結果
(リカバリ時間はinterval 10s × 10の100秒)
両ポートで検知しているため、どちらもportdisableになっています。
そしてリカバリ時間が経過しても自動で復旧しません。復旧させる場合は以下のコマンドを実行します。もちろんループ状態を解除してからです。
実行後は即元通りになります。
portdisableオプションは手動で復旧させなければならない点が注意です。
loopdetect portblock
以下を設定。
loop検知後の結果
portdisableと異なり、countの値が表示されています。ループ状態が解除された後、
countが10になる(100秒経過する)と自動的にportblockが解除される仕様です。
(今回の構成ではループ解除=リンクダウンになり、detected状態が即リセットされるため実際に試せていません)
syslog、SNMP TRAPによる監視
上記のportdisable、portblockではあくまでも自機のポートを閉塞するだけであり、異なる機器でループ状態となっている場合はあまり意味がありません。自機への影響を防ぐだけです。となると結局は人が検知してループ状態を解除し、復旧させるしかありません。
syslog
loop検知時のsyslogメッセージは以下になります。
l2loopd: Configuration Testing Protocol detects a loop in port 1 and port 2
・syslogサーバーの設定例
SR-X324T2(config)# syslog server 0 address 192.168.11.10
・syslog facilityの設定例(デフォルトは23=local7)
SR-X324T2(config)# syslog facility 22
サーバー側でrsyslog(facilityを合わせる)やfirewall(udp port=514許可)の設定をすればサーバー側のログに出力できます。
SNMP TRAP
・trap送信の設定例
SR-X324T2(config)# snmp service on
SR-X324T2(config)# snmp manager 0 192.168.11.10 public v2c
SR-X324T2(config)# snmp trap loopdetect enable
※ファームウェアが1.05ではsnmp trap loopdetectは存在しないため、2.00にアップデートする必要があります。アップデート手順は以下を参考。
ネットワーク機器 無線LANソリューション SR-Mシリーズ アップデートモジュール インストールの詳細手順 - Fujitsu Japan
・アップデートファイル、拡張MIBファイルのダウンロードURL
ネットワーク機器 サーバ収容スイッチ SR-Xシリーズ アップデートモジュール - Fujitsu Japan
サーバー側でsnmptrapを受信するための設定は割愛。上記拡張MIBファイルの取り込み必要。参考サイト・・・
CentOS snmptrapd へ MIBファイルを追加する - OSSゆいまーる広場
設定後、実際にTRAPを受信した際のメッセージは以下になりました。
※冒頭一部省略。
[UDP: [10.10.0.100]:162->[192.168.11.10]:162]:#012DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (2833995) 7:52:19.95#011SNMPv2-MIB::snmpTrapOID.0 = OID: SRX-MIB::srxLoopDetect#011SRX-MIB::srxLoopDetectSendIfIndex.7001 = INTEGER: 7001#011SRX-MIB::srxLoopDetectRecvIfIndex.7001 = INTEGER: 7002#011SRX-MIB::srxLoopDetectStatus.7001 = INTEGER: detect(2)
syslogの方がわかりやすいです。
以上のように、syslogやSNMP TRAPをzabbixなどと連携してメール通知を行えばリアルタイムで人間が検知可能かと思います。
loopdetectの検証は今回で終了します。
年末にCCNPの更新があるので、その勉強過程で行った検証を一部記事にする予定です。