ネットワークエンジニアになろう! > HSRPを究める > HSRP を究める - 応用編(1) 複数のインターフェイスをトラッキングする(1)

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

HSRP を究める - 応用編(1) 複数のインターフェイスをトラッキングする(1)

このページでは次のようなネットワークを使います。

※ この例で使うネットワークは、機能を理解するために簡略化しています。
必ずしも最適な構成ではないことをご了承下さい。

Router-A とB の間でStandby Group 10 を作成して、PC-1 にデフォルトゲートウェイを提供しています。

全てが正常に動作しているとき、Router-A がActive Router、Router-B がStandby Router になっています。

Router-A では、インターフェイスEthernet0/1 をトラッキングしており、Ethernet0/1 がダウンすると、プライオリティを10下げるようになっています。

Router-A でプライオリティが10下がって90になると、プライオリティが95のRouter-B がActive Router になります。

しかし、Router-B とE の間のリンクは、64kbps の低速シリアル回線です。
Router-A とC の間のリンクが失われても、まだ、Router-D との間には、10Mbps のイーサネットが残っています。
このリンクを使って通信を継続したいところです。


IOS version 12.2(15)T からサポートされている、Object Tracking という機能を使えば実現できます。

従来のHSRP では、トラッキングの対象は、自分の持つ一つのインターフェイスだけでした。
Object Tracking は、さまざまな対象(Object)をトラッキングすることができます。
また、同時に複数のObject をトラッキングすることもできます。

今回は、二つのインターフェイスを対象にして、両方のインターフェイスがダウンしたらHSRP のプライオリティを下げ、片方でもアップしたらプライオリティを元に戻すように設定します。


Tracking の仕組みを理解するため、まずは一つのインターフェイスだけを対象にトラッキングしてみます。
(得られる結果は、従来のInterface Tracking と同じです)

Router-A でObject Tracking の設定をします。



Router-A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router-A(config)#
Router-A(config)#track 1 interface ethernet 0/1 line-protocol@
Router-A(config-track)#
Router-A(config-track)#delay down 1 up 15A
Router-A(config-track)#exit
Router-A(config)#
Router-A(config)#interface ethernet 0/0
Router-A(config-if)#standby 10 track 1 decrement 10B
Router-A(config-if)#^Z
Router-A#

@ Object を設定します。
Object 番号を1にします(1から500の間で選択できます)。
トラッキング対象を、インターフェイスEthernet0/1 のLine Protocol に指定します。

A トラッキング対象がダウンしてからプライオリティを下げるまでの遅延時間を秒数で設定します(0から180の間で選択できます)。
同時に、トラッキング対象がアップしてからプライオリティを戻すまでの遅延時間を秒数で設定します(0から180の間で選択できます)。
今回は、ダウン時の遅延を1秒に、アップ時の遅延を15秒に設定しました。
この設定を省略すると、デフォルト値の0秒が選択されます。

B トラッキング対象をTrack 1 に指定し、ダウン時の下げ幅をdecrement で設定します

では、Ethernet0/1 をダウンさせてみましょう。



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)#shutdown@
Router-A(config-if)#
*Feb 10 22:09:14.723: %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)#
*Feb 10 22:09:16.719: %LINK-5-CHANGED: Interface Ethernet0/1, changed state to administratively downA
Router-A(config-if)#
*Feb 10 22:09:16.931: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Active -> SpeakB
Router-A(config-if)#
*Feb 10 22:09:17.719: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to down
Router-A(config-if)#
*Feb 10 22:09:26.939: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Speak -> StandbyC
Router-A(config-if)#


@ Ethernet0/1 でshutdown しました。
A Ethernet0/1 がダウンしました。
B Standby Group 10のState がActive からSpeak へ移行しました。
C Standby Group 10のState がSpeak からStandby へ移行しました。

Router-B のコンソールです。



Router-B#
*Feb 10 22:09:17.547: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Standby -> Active
Router-B#

Standby Group 10のActive Router になりました。

では、Router-A のEthernet0/1 をno shutdown しましょう。



Router-A(config)#interface ethernet0/1
Router-A(config-if)#no shutdown@
Router-A(config-if)#
*Feb 10 22:16:28.871: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
*Feb 10 22:16:29.871: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to upA
Router-A(config-if)#
*Feb 10 22:16:35.639: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.3 on Ethernet0/1 from LOADING to FULL, Loading Done
Router-A(config-if)#
*Feb 10 22:16:44.011: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Standby -> ActiveB
Router-A(config-if)

@ Ethernet0/1 でno shutdown しました。
A Ethernet0/1 がアップしました。
B Standby Group 10のState がStandby からActive へ移行しました。



では、トラッキングの対象を二つに増やしましょう。

まず、先に設定したObject Tracking の設定を削除しておいてください。



Router-A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router-A(config)#no track 1
Router-A(config)#interface ethernet 0/0
Router-A(config-if)#no standby 10 track 1
Router-A(config-if)#^Z
Router-A#

Router-A に、改めてObject Tracking の設定をします。



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


@ 先ほどと同様に、Ethernet0/1 を対象とするトラッキングを設定します(Track 1)。

A 続けて、Ethernet0/2 を対象とするトラッキングを設定します。Track 番号が2になっている点に注意してください。

B Track 3を作成します。複数の対象をトラッキングすることを意味するlist を指定し、ダウンと判断するための条件をboolean で指定します。

boolean or は、list の中のobject が一つでもアップしていればアップ、全てダウンしたらダウンさせる、という意味です。
boolean and にすると、全てのobject がアップしていない限りダウン、全てがアップしたらアップ、という意味になります。

C Track 1と2 を、Track 3 のトラッキング対象に指定します。
D Track 3をStandby Group 10のトラッキング対象に設定します。








Router-A のEthernet0/1 をshutdown してみます。



Router-A#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router-A(config)#interface ethernet0/1
Router-A(config-if)#shutdown@
Router-A(config-if)#
*Feb 10 22:35:51.263: %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)#
*Feb 10 22:35:53.259: %LINK-5-CHANGED: Interface Ethernet0/1, changed state to administratively down
*Feb 10 22:35:54.259: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to downA
Router-A(config-if)#

@ Ethernet0/1 をshutdown しました。
A Ethernet0/1 はダウンしますが、HSRP に変化は見られません。

続けて、Router-A のEthernet0/2 をshutdown します。



Router-A(config)#interface ethernet0/2
Router-A(config-if)#shutdown@
Router-A(config-if)#
*Feb 10 22:42:06.187: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.4 on Ethernet0/2 from FULL to DOWN, Neighbor Down: Interface down or detached
Router-A(config-if)#
*Feb 10 22:42:08.179: %LINK-5-CHANGED: Interface Ethernet0/2, changed state to administratively downA
Router-A(config-if)#
*Feb 10 22:42:08.299: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Active -> SpeakB
Router-A(config-if)#
*Feb 10 22:42:09.179: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2, changed state to down
Router-A(config-if)#
*Feb 10 22:42:18.299: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Speak -> StandbyC
Router-A(config-if)#

@ Ethernet0/2 をshutdown しました。
A Ethernet0/2 がダウンしました。
B Standby Group 10 のState がActive からSpeak に移行しました。
C Standby Group 10 のState がSpeak からStandby に移行しました。

では、Router-A のEthernet0/1 をno shutdown しましょう(Ethernet0/2 でも良いです)。



Router-A(config)#interface ethernet0/1
Router-A(config-if)#no shutdown@
Router-A(config-if)#
*Feb 10 22:47:06.631: %LINK-3-UPDOWN: Interface Ethernet0/1, changed state to up
*Feb 10 22:47:07.639: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/1, changed state to upA
Router-A(config-if)#
*Feb 10 22:47:14.687: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.3 on Ethernet0/1 from LOADING to FULL, Loading Done
Router-A(config-if)#
*Feb 10 22:47:20.679: %HSRP-6-STATECHANGE: Ethernet0/0 Grp 10 state Standby -> ActiveB
Router-A(config-if)#

@ Ethernet0/1 でno shutdown しました。
A Ethernet0/1 がアップしました。
B Standby Group 10 のState が、Standby からActive に変わりました。

このように、Object Tracking を使うことで、複数のインターフェイスを同時にトラッキングすることができ、より柔軟な運用が行えます。


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.