ネットワークエンジニアになろう! > HSRPを究める > HSRP を究める - 応用編(6) トラッキング対象のObject に重み付けをする

この記事は、改訂&リニューアルして『P はプロトコルのP - HSRP を究める』へ移転しました。

HSRP を究める - 応用編(6) トラッキング対象のObject に重み付けをする

EtherChannel を組んでいるインターフェイスをトラッキングしたいこともあります。

Channel 内の物理インターフェイスの一つが使用不可となっても、Channel 自体はアップしています。

Channel 内の物理インターフェイスが減っていき、Standby Router 側のリンクの方が太くなった時点で、Active Router の切り替えが発生するのが理想です。

Channel 内の複数の物理インターフェイスを、それぞれトラッキングすることは可能です。
しかし、これまで見てきたboolean and やboolean or では、そこまで柔軟な対応はできません。
「全部のインターフェイスがダウンしたら」とか「一つでもアップしたら」と、両極端です。

上図では、Router-A とC の間は、3本のEthernet でEtherChannel を構成しています。
Router-B とD の間も、3本のEthernet でEtherChannel を構成していますが、1本はダウンしています。

この状態で、Router-A とC の間のリンクが一本ダウンしても、Standby Router 側(Router-B) のリンクと同じ帯域幅なので、Active Router が切替わる必要性は見られません。

Router-A とC の間のリンクがもう一本ダウンして、Channel 内のリンクが一本だけになると、Standby Router 側(Router-B) のリンクの方が太くなります。

今回は、Router-A とC の間のリンクが1本以下になったら、Standby Group のプライオリティを下げ、2本以上になったら、プライオリティを元に戻すように設定します。

本ページでは、Debug コマンドを使用します。
本ページの内容を実際に試される場合は、事前に「Debug コマンドについて」をお読みください。



Router-A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router-A(config)#track 1 interface ethernet 0/1 line-protocol@
Router-A(config-track)#delay down 1 up 15
Router-A(config-track)#exit
Router-A(config)#track 2 interface ethernet 0/2 line-protocol
Router-A(config-track)#delay down 1 up 15
Router-A(config-track)#exit
Router-A(config)#track 3 interface ethernet 0/3 line-protocol
Router-A(config-track)#delay down 1 up 15
Router-A(config-track)#exit
Router-A(config)#track 10 list threshold weightA
Router-A(config-track)#object 1 weight 20B
Router-A(config-track)#object 2 weight 20
Router-A(config-track)#object 3 weight 20
Router-A(config-track)#threshold weight up 40 down 20C
Router-A(config-track)#exit
Router-A(config)#interface ethernet0/0
Router-A(config-if)#standby 10 track 10 decrement 10D
Router-A(config-if)#^Z
Router-A#

@ Track 1、2、3 にそれぞれ、Ethernet0/1、0/2、0/3 のLine Protocol をトラッキング対象として指定します。

A Track 10 を作成し、Object をList 指定します。

B 先に作成したTrack 1、2、3 をそれぞれObject 1、2、3 として指定し、20の重みを設定します。

C トラッキングの閾値(Threshold) を設定します。この例は、重みが20以下になったらダウン、40以上になったらアップと判断することを意味します。

D Standby Group 10 に、Track 100を対象とするObject Tracking を設定します。プライオリティの下げ幅は10です。

以上で設定は完了です。

Router-A で、show track を確認します。

Router-A#show track
Track 1
Interface Ethernet0/1 line-protocol
Line protocol is Up
2 changes, last change 00:00:16
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 2
Interface Ethernet0/2 line-protocol
Line protocol is Up
1 change, last change 00:02:18
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 3
Interface Ethernet0/3 line-protocol
Line protocol is Up
1 change, last change 00:02:00
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 10
List threshold weight
Threshold Weight is Up (60/60)
2 changes, last change 00:01:36
object 1 weight 20 Up (20/60)
object 2 weight 20 Up (20/60)
object 3 weight 20 Up (20/60)
Threshold weight down 20 up 40

Tracked by:
HSRP Ethernet0/0 10
Router-A#


すべてが正常に動作しているとき、Track 100 の重みは60あります。
Track 100の監視対象であるTrack 1、2、3のどれかがダウンすると、重みは20減ります。二つ目のTrack がダウンすると、さらに重みは20減り、20になります。
Track 100 の重みが20以下になると、Track 100はダウンしたと判断し、アラームがあがります。
Standby Group 10 は、アラームを受けて、プライオリティを10減らします。

Track 1、2、3のダウンしていた二つのうちのどちらかがアップすると、重みは40に増えます。
Track 100 はアップしたと判断され、アラームがあがり、それを受けてStandby Group 10のプライオリティが10増えます。

つまり、EtherChannel 内のリンクが一つ以下になればダウン、二つ以上になればアップ、と判断され、Standby Group のプライオリティを操作することができます。

では、実際に障害を発生させて、状況を観察しましょう。

Router-A で、debug track を実行しておきます。

Debug コマンドについて」をお読みください。



Router-A#
Router-A#debug track
Router-A#


Router-A のインターフェイスEthernet0/1 をshutdown します。

Router-A(config)#interface ethernet 0/1
Router-A(config-if)#shutdown
Router-A(config-if)#
*Feb 11 23:36:10.272: Track: 1 Down change delayed for 1 secs
*Feb 11 23:36:11.272: Track: 1 Down change delay expired
*Feb 11 23:36:11.272: Track: 1 Change #2 interface Et0/1, line-protocol Up->Down
*Feb 11 23:36:11.276: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.3 on Ethernet0/1 from FULL to DOWN, Neighbor Down: Interface down or detached
Router-A(config-if)#
Router-A(config-if)#
*Feb 11 23:36:12.268: %LINK-5-CHANGED: Interface Ethernet0/1, changed state to administratively down
*Feb 11 23:36:13.268: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to down
Router-A(config-if)#^Z
Router-A#

Router-A で、show track を確認します。



Router-A#show track
Track 1
Interface Ethernet0/1 line-protocol
Line protocol is Down (hw admin-down)
2 changes, last change 00:00:16
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 2
Interface Ethernet0/2 line-protocol
Line protocol is Up
1 change, last change 00:02:18
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 3
Interface Ethernet0/3 line-protocol
Line protocol is Up
1 change, last change 00:02:00
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 10
List threshold weight
Threshold Weight is Up (40/60)
2 changes, last change 00:01:36
object 1 weight 20 Down (0/60)
object 2 weight 20 Up (20/60)
object 3 weight 20 Up (20/60)
Threshold weight down 20 up 40
Tracked by:
HSRP Ethernet0/0 10
Router-A#

Ethernet0/1 がダウンして、Track 1 の重み20が減り、重みは40になりました。
しかし、まだTrack 10 はアップしています。

show standby を確認します。



Router-A#show standby
Ethernet0/0 - Group 10
State is Active
2 state changes, last state change 00:04:02
Virtual IP address is 192.168.1.1
Active virtual MAC address is 0000.0c07.ac0a
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.876 secs
Preemption enabled
Active router is local
Standby router is 192.168.1.101, priority 95 (expires in 8.756 sec)
Priority 100 (default 100)
Track object 10 state Up decrement 10
IP redundancy name is "hsrp-Et0/0-10" (default)
Router-A#

続いて、Ethernet0/2 をshutdown します。



Router-A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router-A(config)#interface ethernet0/2
Router-A(config-if)#shutdown
Router-A(config-if)#
*Feb 11 23:36:51.480: Track: 2 Down change delayed for 1 secs
*Feb 11 23:36:52.484: Track: 2 Down change delay expired
*Feb 11 23:36:52.484: Track: 2 Change #2 unterface Et0/2, line-protocol Up->Down*Feb 11 23:36:52.948: Track: 10 Change #3 list, threshold weight Up->Down(->20)
Router-A(config-if)#
*Feb 11 23:36:52.952: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.3 on Ethernet0/2 from FULL to DOWN, Neighbor Down: Interface down or detached
Router-A(config-if)#
*Feb 11 23:36:53.364: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Active -> Speak
Router-A(config-if)#
*Feb 11 23:36:53.480: %LINK-5-CHANGED: Interface Ethernet0/2, changed state
to administratively down
*Feb 11 23:36:54.480: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2, changed state to down
Router-A(config-if)#
*Feb 11 23:37:01.880: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Speak -> Standby
Router-A(config-if)#Router-A(config-if)#^Z
Router-A#


Router-A で、show track を確認します。



Router-A#show track
Track 1
Interface Ethernet0/1 line-protocol
Line protocol is Down (hw admin-down)
2 changes, last change 00:01:06
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 2
Interface Ethernet0/2 line-protocol
Line protocol is Down (hw admin-down)
2 changes, last change 00:00:25
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 3
Interface Ethernet0/3 line-protocol
Line protocol is Up
1 change, last change 00:02:49
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 10
List threshold weight
Threshold Weight is Down (20/60)
3 changes, last change 00:00:25
object 1 weight 20 Down (0/60)
object 2 weight 20 Down (0/60)
object 3 weight 20 Up (20/60)

Threshold weight down 20 up 40
Tracked by:
HSRP Ethernet0/0 10
Router-A#


Ethernet0/1 に続いてEthernet0/2がダウンして、Track 2 の重み20が減り、重みは20になりました。
Track 10 はダウンします。

Standby Group 10 のプライオリティが10下げられ、State はActive からSpeak へ、そしてStandby へ移行します。

show standby を確認します。



Router-A#show standby
Ethernet0/0 - Group 10
State is Standby
2 state changes, last state change 00:04:56
Virtual IP address is 192.168.1.1
Active virtual MAC address is 0000.0c07.ac0a
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.404 secs
Preemption enabled
Active router is 192.168.1.101, priority 95 (expires in 9.328 sec)
Standby router is local
Priority 90 (default 100)
Track object 10 state Down decrement 10
IP redundancy name is "hsrp-Et0/0-10" (default)
Router-A#

先ほどshutdown したEthernet0/1 をno shutdown します。



Router-A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router-A(config)#interface ethernet 0/1
Router-A(config-if)#no shutdown
*Feb 11 23:38:25.356: Track: 1 Up change delayed for 15 secs
Router-A(config-if)#
*Feb 11 23:38:27.352: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state t
o up
*Feb 11 23:38:28.352: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to up
Router-A(config-if)#^Z
*Feb 11 23:38:28.820: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.3 on Ethernet0/1 from LOADING to FULL, Loading Done
Router-A(config-if)#
*Feb 11 23:38:40.356: Track: 1 Up change delay expired
*Feb 11 23:38:40.356: Track: 1 Change #3 interface Et0/1, line-protocol Down->Up
*Feb 11 23:38:40.948: Track: 10 Change #4 list, threshold weight Down->Up(->40)
Router-A(config-if)#
*Feb 11 23:38:41.628: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Standby -> Active
Router-A(config-if)#

Router-A で、show track を確認します。



Router-A#show track
Track 1
Interface Ethernet0/1 line-protocol
Line protocol is Up
3 changes, last change 00:00:08
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 2
Interface Ethernet0/2 line-protocol
Line protocol is Down (hw admin-down)
2 changes, last change 00:01:56
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 3
Interface Ethernet0/3 line-protocol
Line protocol is Up
1 change, last change 00:04:21
Delay up 15 secs, down 1 sec
Tracked by:
Track-list 10
Track 10
List threshold weight
Threshold Weight is Up (40/60)
4 changes, last change 00:00:10
object 1 weight 20 Up (20/60)
object 2 weight 20 Down (0/60)
object 3 weight 20 Up (20/60)

Threshold weight down 20 up 40
Tracked by:
HSRP Ethernet0/0 10
Router-A#

Ethernet0/1 がアップし、Track 2 の重み20が増え、重みは40になりました。
Track 10 はアップします。

Standby Group 10 のプライオリティが10上がり、State はStandby からActive へ移行します。

show standby を確認します。



Router-A#show standby
Ethernet0/0 - Group 10
State is Active
2 state changes, last state change 00:06:24
Virtual IP address is 192.168.1.1
Active virtual MAC address is 0000.0c07.ac0a
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.544 secs
Preemption enabled
Active router is local
Standby router is 192.168.1.101, priority 95 (expires in 4.253 sec)
Priority 100 (default 100)
Track object 10 state Up decrement 10
IP redundancy name is "hsrp-Et0/0-10" (default)
Router-A#

Standby Group 10 は元に戻りました。



今回は、EtherChannel 内の物理リンクを対象としましたが、Channel ではなく、別々なリンクを対象として重み付けをすることも可能です。



HSRP を究める (1) はじめに
HSRP を究める (2) バーチャルルータ
HSRP を究める (3) バーチャルルターのアドレス
HSRP を究める (4) Hello の交換
HSRP を究める (5) HSRP のパケットフォーマット
HSRP を究める (6) HSRP メッセージの種類
HSRP を究める (7) HSRP のTimer
HSRP を究める (8) HSRP ステート(State)
HSRP を究める (9) Gratuitous ARP
HSRP を究める(10) Preempt
HSRP を究める(11) Standby Delay コマンド
HSRP を究める(12) Interface Tracking
HSRP を究める(13) BIA (Burnt In Address)
HSRP を究める(14) Authentication
HSRP を究める(15) ICMP Redirect
HSRP を究める(16) ICMP Redirect との協調動作

HSRP を究める - 実践編(1) HSRP を設定する前の状況を確認する
HSRP を究める - 実践編(2) Standby Group をつくる
HSRP を究める - 実践編(3) Active Router に障害を発生させてみる(1)
HSRP を究める - 実践編 (4) Preempt とプライオリティを設定する
HSRP を究める - 実践編 (5) Active Router に障害を発生させてみる(2)
HSRP を究める - 実践編 (6) Interface Tracking
HSRP を究める - 実践編 (7) Timer を変更する
HSRP を究める - 実践編 (8) Standby Group に参加するルータの認証
HSRP を究める - 実践編 (9) Standby Group を追加する
HSRP を究める - 実践編(10) Active Router に障害を発生させてみる(3)
HSRP を究める - 実践編(11) Standby Group に名前を付ける
HSRP を究める - 実践編(12) ICMP Redirect(1)Active Router
HSRP を究める - 実践編(13) ICMP Redirect(2)Passive Router
HSRP を究める - 実践編(14) ICMP Redirect(1)Unknown Router
HSRP を究める - 実践編(15) 設定用コマンド(1)
HSRP を究める - 実践編(16) 設定用コマンド(2)
HSRP を究める - 実践編(17) 設定用コマンド(3)
HSRP を究める - 実践編(18) 設定用コマンド(4)
HSRP を究める - 実践編(19) 設定用コマンド(5)
HSRP を究める - 実践編(20) show コマンド

HSRP を究める - 応用編(1) 複数のインターフェイスをトラッキングする(1)
HSRP を究める - 応用編(2) 複数のインターフェイスをトラッキングする(2)
HSRP を究める - 応用編(3) IP の経路情報 をトラッキングする(1)
HSRP を究める - 応用編(4) 異なる種類のObject をトラッキングする
HSRP を究める - 応用編(5) 特定のIP アドレスへの到達性をトラッキングする
HSRP を究める - 応用編(6) トラッキング対象のObject に重み付けをする
HSRP を究める - 応用編(7) HSRP version 2
HSRP を究める - 応用編(8) HSRP version 2 のパケットフォーマット
HSRP を究める - 応用編(9) HSRP version 2 (2)


ネットワークエンジニアになろう!のトップページへ戻る
サイト内検索
無料メールマガジン「英語でネットワークエンジニア」
マニュアルやRFCを読むのに必要なのは、高度な文法知識ではなく語彙力です。毎回一単語、例文と解説に技術情報を併せてお届けします. (マガジンID:0000181633)
メールアドレス:
Powered by
This website is powered by Movable Type 3.2 Smartnetworks.jp.