| 確認 |
HSRPのデフォルトの動作では,Activeルーターがダウンしたあとに復旧しても,Activeにならない。
復旧したルーターを再びActiveにしたいときは,preempt(プリエンプト)という機能を使う必要があります。
●preemptの設定
今回は,RouterAでpreemptを有効にします。
RouterAで,以下のコマンドを1行追加してやるだけでOKです(赤字の部分)。
RotuerA(config)#interface ethernet 0
RotuerA(config-if)#standby 1 preempt
ちなみに,「HSRPの基本」のラボ・シナリオとの違いは,このコマンドの有無だけです。
●設定の確認
RouterAでpreemptの機能が動作しているか確認してみましょう。
HSRPの状態を確認するshow standbyコマンドを使います。
RotuerA#show standby
Ethernet0 - Group 1
State is Active
5 state changes, last state change 00:01:05
Virtual IP address is 192.168.1.254
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (bia)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.276 secs
Preemption enabled
Active router is local
Standby router is 192.168.1.2, priority 100 (expires in 8.264 sec)
Priority 255 (configured 255)
IP redundancy name is "hsrp-Et0-1" (default)
「Preemption enabled」という表示があります。
RouterAでは,確かにpreemptが有効になっているのがわかります。
また,「State is Active」となっており,現在このルーター(RouterA)が使われていることわかります。
一方,RouterBは,「State is Standby」となっており,待機中であることがわかります。
RouterB#show standby
Ethernet0 - Group 1
State is Standby
4 state changes, last state change 00:01:18
Virtual IP address is 192.168.1.254
Active virtual MAC address is 0000.0c07.ac01
Local virtual MAC address is 0000.0c07.ac01 (default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.344 secs
Preemption disabled
Active router is 192.168.1.1, priority 255 (expires in 8.348 sec)
Standby router is local
Priority 100 (default 100)
IP redundancy name is "hsrp-Et0-1" (default)
●動作の確認(RouterA手前のケーブルを抜いて,その後戻してみる)
RouterAのケーブルを抜き差ししたときに,両ルーターに表示されるメッセージを見てみましょう。
最初に,RouterAの手前のケーブルを抜きます。
RotuerA#
00:33:07: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0, changed
state to down
00:33:07: %HSRP-6-STATECHANGE: Ethernet0 Grp 1 state Active -> Init
RouterAのEthernet0がダウンし,HSRPのステートもActiveではなくなりました(上)。
一方のRouterBには,StandbyからActiveになったことを示すメッセージが出ました(下)。
RouterB#
00:32:49: %HSRP-6-STATECHANGE: Ethernet0 Grp 1 state Standby -> Active
次に,先ほど抜いたRouterA手前のケーブルを戻してみて,preemptの動作を確かめてみましょう。
RouterA#
00:33:56: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0, changed
state to up
00:33:58: %HSRP-6-STATECHANGE: Ethernet0 Grp 1 state Listen -> Active
RouterAのEthernet0がアップし,HSRPのステートがActiveになりました(上)。
一方のRouterBには,Activeではなくなったことを示すメッセージが出ました(下)。
RouterB#
00:33:34: %HSRP-6-STATECHANGE: Ethernet0 Grp 1 state Active -> Speak
これで,RouterAのEthernet0が稼働しているときは,必ずRouterAを使うようになりました。
これが,preemptの機能というわけです。
●HSRPでやりとりするメッセージを確認
ケーブルを戻したときにRouterAの様子の詳細をdebugコマンドで観察してみましょう。
debug standbyコマンドを使います。
RotuerA#debug standby
HSRP debugging is on
RotuerA#
00:35:02: HSRP: Et0 Grp 1 Hello in 192.168.1.2 Active pri 100 vIP 192.168.1.254
00:35:02: HSRP: Et0 Grp 1 Active router is 192.168.1.2
00:35:03: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0, changed state to up
00:35:03: HSRP: Et0 API Software interface coming up
00:35:03: HSRP: Et0 Interface up ←@
00:35:03: HSRP: Et0 Starting minimum interface delay (1 secs)
00:35:04: HSRP: Et0 Interface min delay expired
00:35:04: HSRP: Et0 Grp 1 Init: a/HSRP enabled
00:35:04: HSRP: Et0 Grp 1 Init -> Listen
00:35:04: HSRP: Et0 Grp 1 Redundancy "hsrp-Et0-1" state Init -> Backup
00:35:04: HSRP: Et0 Redirect adv out, Passive, active 0 passive 1
00:35:05: HSRP: Et0 Grp 1 Hello in 192.168.1.2 Active pri 100 vIP 192.168.1.254 ←A
00:35:05: HSRP: Et0 Grp 1 Listen: h/Hello rcvd from lower pri Active router
(100/192.168.1.2) ←B
00:35:05: HSRP: Et0 Grp 1 Active router is local, was 192.168.1.2
00:35:05: HSRP: Et0 Redirect adv out, Active, active 1 passive 2
00:35:05: HSRP: Et0 Grp 1 Coup out 192.168.1.1 Listen pri 255 vIP 192.168.1.254 ←C
00:35:05: HSRP: Et0 Grp 1 Listen -> Active ←D
00:35:05: %HSRP-6-STATECHANGE: Ethernet0 Grp 1 state Listen -> Active
00:35:05: HSRP: Et0 Grp 1 Redundancy "hsrp-Et0-1" state Backup -> Active
00:35:05: HSRP: Et0 Redirect adv out, Active, active 1 passive 1
00:35:05: HSRP: Et0 Grp 1 Hello out 192.168.1.1 Active pri 255 vIP 192.168.1.254
00:35:05: HSRP: Et0 API MAC address update
00:35:05: HSRP: Et0 REDIRECT adv in, Passive, active 0, passive 1, from 192.168.1.2
00:35:05: HSRP: Et0 Grp 1 Hello in 192.168.1.2 Speak pri 100 vIP 192.168.1.254
00:35:05: HSRP: Et0 API Add active HSRP addresses to ARP table
00:35:08: HSRP: Et0 Grp 1 Hello in 192.168.1.2 Speak pri 100 vIP 192.168.1.254
00:35:08: HSRP: Et0 Grp 1 Hello out 192.168.1.1 Active pri 255 vIP 192.168.1.254
00:35:11: HSRP: Et0 Grp 1 Hello in 192.168.1.2 Speak pri 100 vIP 192.168.1.254
00:35:11: HSRP: Et0 Grp 1 Hello out 192.168.1.1 Active pri 255 vIP 192.168.1.254
00:35:14: HSRP: Et0 Grp 1 Hello in 192.168.1.2 Speak pri 100 vIP 192.168.1.254
00:35:14: HSRP: Et0 Grp 1 Hello out 192.168.1.1 Active pri 255 vIP 192.168.1.254
00:35:15: HSRP: Et0 Grp 1 Hello in 192.168.1.2 Standby pri 100 vIP 192.168.1.254
00:35:15: HSRP: Et0 Grp 1 Standby router is 192.168.1.2 ←E
00:35:17: HSRP: Et0 Grp 1 Hello out 192.168.1.1 Active pri 255 vIP 192.168.1.254
00:35:18: HSRP: Et0 Grp 1 Hello in 192.168.1.2 Standby pri 100 vIP 192.168.1.254
表示が多いので,注目部分をピックアップしてみます(赤字の部分)。
@Ethernet0インタフェースがアップした。
A192.168.1.2というActiveルーター(プライオリティ値は100)からHelloが来た。
B自分よりプライオリティ値の低いActiveルーターからHelloを受信した。
CCoupメッセージを送出して,自分がActiveになることを知らせる。
D自身をActiveに変更する。
E192.168.1.2(ルーターB)をStandbyに変更する。
HSRPのメッセージは,Hello,Coup,Resignの3種類があります。
そのうちのCoupは,自身がActiveになりたい旨を宣言するメッセージです(Helloは定常通知,ResignはActiveの放棄)。
Activeルーターの復旧時は,Coupメッセージをやりとりすることで,ActiveとStandbyを決めているわけです。
●standby preemptおよびstandby trackコマンドの使用法
http://www.cisco.com/japanese/warp/public/3/jp/service/tac/619/6-j.html |
|