ちま夫@IT屋おじさん

ピーク過ぎた感のあるIT屋のおじさんです。IT関係や節約関係などを、のんびりと書いてみたいと思います。

HP Aruba 2530スイッチのループ検知(loop-protect)

f:id:chima_chimao:20190522145308j:plain

 

こんばんわ、ちま夫です。

 

HP Aruba2530スイッチを触る機会があり、ループ対策機能の動作確認を実施しましたので、備忘録として記載します。

STP(スパニングツリー)では無く、Loop Protection(ループプロテクション)の機能の方です。

 

Loop Protection(ループプロテクション)とは

 

f:id:chima_chimao:20190522134626j:plain

 

この図の通り、スイッチからループ検知用パケットを定期的に送信し、そのパケットが自分に戻ってきたらループと判断します。

 

HP Arubaマニュアルから抜粋 

ループ保護がイネーブルになっている場合、インターフェイスはループ保護プロトコルデータユニット(PDU)をマルチキャスト宛先アドレス09:00:09:09:13:A6に送信します。インターフェイスがループ保護PDUを受信すると、送信元MACアドレスと自身のMACアドレスが比較されます。 MAC アドレスが一致すると、ループが検出され、設定された処理が実行されます。これには、指定された期間ポートをシャットダウンすることが含まれます。

 

下図のようなループ状況を検知することが可能のようです。 

f:id:chima_chimao:20190522142449j:plain

 

loop-protectの設定コマンド

 

loop-protectに関する設定コマンドを記載します。

 

■ループ検知モードの設定
loop-protect mode < port | vlan >
・port : ポート単位のループ検知を行うモード(デフォルト)
・vlan : VLAN 単位のループ検知を行うモード

 

■ポート単位のループ検知設定
loop-protect Port-List [ receiver-action < send-disable | no-disable | send-recv-dis > ]
・send-disable : ループ検知時にループ検知パケットを送信したポートをシャットダウンします。(デフォルト)
・no-disable : ループを検知してもポートをシャットダウンしません。
・send-recv-dis : ループ検知時にループ検知パケットを送信したポート、受信したポートの両方をシャットダウンします。

 

■VLAN 単位のループ検知設定
loop-protect vlan Vlan-list [ receiver-action < send-disable | no-disable | send-recv-dis > ]
アクションの設定はポート単位と同じです。

 

■ループ検知パケット送信間隔の設定
loop-protect transmit-interval < 1-10 >
デフォルトは 5 秒。

 

■ポートシャットダウン自動解除の設定
loop-protect disable-timer < 0-604800 >
ループ復旧してからポートシャットダウン解除までの時間を指定します。デフォルトは 0 秒になっており、ループ検知でシャットダウンされたポートは自動復旧しません。復旧するには、interface < Port-List> enable を実行する必要があります。

 

■ループ検知時の Trap 送信の設定
loop-protect trap loop-detected

  

loop-protectの設定例

 

以下の設定例では、ポート1~5でLoop-Protectを有効にして、ループ検出時にポートをシャットダウン。ループ検知用パケットを3秒毎に送信。ループ復旧後のシャットダウンポート自動解除は60秒。

Aruba# configure
Aruba(config)# loop-protect 1-5
Aruba(config)# loop-protect disable-timer 60 transmit-interval 3

 

■初期設定状態のshow loop-protect

Aruba# show loop-protect
Status and Counters - Loop Protection Information
Transmit Interval (sec) : 5
Port Disable Timer (sec) : Disabled
Loop Detected Trap : Disabled
Loop Protect Mode : Port
Loop Protect Enabled VLANs :
Loop Loop Detected Loop Time Since Rx Port
Port Protect Detected on VLAN Count Last Loop Action Status
------ ------- -------- --------- ------ ----------- ------------- --------
Aruba#

 

■設定後のshow loop-protect

Aruba# show loop-protect
Status and Counters - Loop Protection Information
Transmit Interval (sec) : 3
Port Disable Timer (sec) : 60
Loop Detected Trap : Disabled
Loop Protect Mode : Port
Loop Protect Enabled VLANs :
Loop Loop Detected Loop Time Since Rx Port
Port Protect Detected on VLAN Count Last Loop Action Status
------ ------- -------- --------- ------ ----------- ------------- --------
1 Yes No NA 0 send-disable Up
2 Yes No NA 0 send-disable Down
3 Yes No NA 0 send-disable Down
4 Yes No NA 0 send-disable Down
5 Yes No NA 0 send-disable Down
Aruba#

 

ループした場合

 

■ポート1配下のHUBでループが発生した場合のステータス。

Aruba# show loop-protect
Status and Counters - Loop Protection Information
Transmit Interval (sec) : 3
Port Disable Timer (sec) : 60
Loop Detected Trap : Disabled
Loop Protect Mode : Port
Loop Protect Enabled VLANs :
Loop Loop Detected Loop Time Since Rx Port
Port Protect Detected on VLAN Count Last Loop Action Status
------ ------- -------- --------- ------ ----------- ------------- --------
1 Yes Yes NA 2 2s send-disable Down
2 Yes No NA 0 send-disable Down
3 Yes No NA 0 send-disable Down
4 Yes No NA 0 send-disable Down
5 Yes No NA 0 send-disable Down
Aruba#

 

■ログの表示例

Aruba# show logging
Keys: W=Warning I=Information
M=Major D=Debug E=Error
---- Event Log listing: Events Since Boot ----
W 05/20/19 10:51:25 00884 loop-protect: port 1 disabled - loop detected.
I 05/20/19 10:51:25 00898 ports: Loop Protect(62) has disabled port 1 for 60 seconds
Aruba#

 

 

注意事項(ループが検知できない時)

 

■ループ検知用パケットが破棄される

ループ検知用パケットをマルチキャスト宛先アドレス09:00:09:09:13:A6に送信するのですが、L2スイッチ(島スイッチ)によってはこのパケットを破棄してしまうことがあり、ループが発生してもloop-protectが働かない時がありますので、動作確認は実施しておいた方が良いかと思います。

 

■ループが発生しているのに検知できない

強烈なループトラフィックが発生してしまい、ループ検知用パケットを受信することができず、loop-protectが働かない時があります。