HSRP (Hot Standby Routing Protocol)の設定方法

以下の設定にてR1,R2においてHSRPを有効にすることができます。

R1(config)#interface fa0/0
R1(config-if)#standby 1 ip 192.168.1.3
R2(config)#interface fa0/0
R2(config-if)#standby 1 ip 192.168.1.3

HSRPを設定するためにはstandbyコマンドを使用します。192.168.1.3は仮想ゲートウェイ IPアドレスです。”1”は、HSRPのグループ番号で、R1,R2の両方のデバイスで同一である必要があります。

R1#
%HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
%HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active
R2#
%HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby

どちらのスイッチを最初に設定したかによって、これらのメッセージが表示されます。
スイッチの1つがアクティブゲートウェイになります。 PC-1から、VIP(192.168.1.3)に到達できるかどうかを見てみましょう。

C:>ipconfig
イーサネット アダプター イーサネット:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.10
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.1.3

PC-1のデフォルトゲートウェイを仮想IPアドレス192.168.1.3に設定します。 pingしてみましょう。

C:>ping 192.168.1.3
192.168.1.3 に ping を送信しています 32 バイトのデータ:
192.168.1.3 からの応答: バイト数 =32 時間 <1ms TTL=64
192.168.1.3 からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.1.3 からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.1.3 からの応答: バイト数 =32 時間 =1ms TTL=64
192.168.1.3 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 0ms、最大 = 1ms、平均 = 0ms

ご覧のとおり、仮想ゲートウェイのIPアドレスに正常に到達できます。

仮想IPアドレスとして192.168.1.3を使用していますが、どのMACアドレスを使用しているでしょうか?

R1#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.1.1 – ca01.4534.0000 ARPA FastEthernet0/0
Internet 192.168.1.3 – 0000.0c07.ac01 ARPA FastEthernet0/0

ARPテーブルで192.168.1.3のMACアドレスを確認できますが、このMACアドレスはどこから来たのでしょうか?

HSRPは0000.0c07.acXX MACアドレスを使用します。XXはHSRPグループ番号です。
この例では、HSRPグループ番号1を設定しました。

他にも興味深いものがいくつかあります。以下をご覧ください。

R1#show standby
FastEthernet0/0 – Group 1
State is Active
2 state changes, last state change 00:00:03
Virtual IP address is 192.168.1.3
Active virtual MAC address is 0000.0c07.ac01 (MAC In Use)
Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec
Next hello sent in 1.648 secs
Preemption enabled
Active router is local
Standby router is unknown
Priority 120 (configured 120)
Track object 2 state Up decrement 50
Group name is “hsrp-Fa0/0-1” (default)
R2#show standby
FastEthernet0/0 – Group 1
State is Standby
1 state change, last state change 00:08:23
Virtual IP address is 192.168.1.3
Active virtual MAC address is 0000.0c07.ac01 (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac01 (v1 default)

Hello time 3 sec, hold time 10 sec
Next hello sent in 2.144 secs
Preemption enabled
Active router is 192.168.1.1, priority 120 (expires in 10.704 sec)
Standby router is local
Priority 90 (configured 90)
Group name is “hsrp-Fa0/0-1” (default)

設定を確認するには、show standbyコマンドを使用します。 以下の点が確認できます。

・ここで仮想IPアドレスを確認できます(192.168.1.3)。
・また、仮想MACアドレス(0000.0c07.ac01)も表示されます。
・どのルーターがアクティブまたはスタンバイモードになっているかを確認できます。
・ハロータイムは3秒で、ホールドタイムは10秒です。
・プリエンプションは有効です。

アクティブルーターはコンピューターからのARP要求に応答し、コンピューターからのパケットをアクティブに転送します。 スタンバイモードのルーターにhelloメッセージを送信します。 スタンバイモードのルーターは、helloメッセージをリッスンします。アクティブなルーターから何も受信しない場合、引き継ぐ前にホールドタイムが切れるのを待ちます。 保持時間はデフォルトでは10秒ですが、かなり遅いです。 これを少し高速化する方法を見ていきます。

各HSRPルーターは、アクティブルーターまたはスタンバイルーターになる前にいくつかの状態を遷移します。

状態説明
Initial これは、HSRPが起動する最初の状態です。 これは、HSRPを構成した直後、またはインターフェイスが有効になった直後に表示されます。
Listen ルーターは仮想IPアドレスを認識しており、他のHSRPルーターからのhelloメッセージをリッスンします。
Speak ルーターはhelloメッセージを送信し、選択に参加して、アクティブまたはスタンバイになるルーターを確認します。
Standby ルーターはアクティブルーターになりませんでしたが、helloメッセージを送信し続けます。 アクティブなルーターに障害が発生すると、引き継ぎます。
Active ルーターはクライアントからのパケットを積極的に転送し、helloメッセージを送信します。

これらすべての手順は、debugコマンドで確認できます。 見てみましょう。 

R1(config)#interface fastEthernet 0/0
R1(config-if)#shutdown
R2(config)#interface fastEthernet 0/0
R2(config-if)#shutdown

インターフェイスをShutdownして、HSRPのすべての状態を最初から確認できるようにします。

R1#debug standby events
HSRP Events debugging is on

debug standby eventsコマンドを使用して、見てみましょう。

Leave a comment

Your email address will not be published. Required fields are marked *