■HSRPの設定
HSRPの設定はHSRPを有効にしたいInterface設定モードにて行います。
簡単な例を以下に示します。
RT1
interface FastEthernet0/0
ip address 1.1.1.1 255.255.255.0
no ip redirects
standby 1 ip 1.1.1.254
RT2
interface FastEthernet2/1
ip address 1.1.1.2 255.255.255.0
no ip redirects
standby 1 ip 1.1.1.254
HSRPの基本的な設定はこれだけです。
standby group No. ip 仮想IP-Address
group no.はこの番号が同じRouter同士で仮想IPを共有し、どちらが
ActiveとなりStandbyとなるかを決定します。
このGroup noが違う物同士ではHSRPはお互いの情報を交換する事はありません。
仮想IP-Addressは、同じGroupに属するRouter同士で共有するIP-Addressを指定します。
このアドレスはClientがDefaul-Gatewayとして設定するアドレスとなります。
この設定を行う事で、HSRPは動作しますが、実際の運用を考えた場合
Active-RouterとStandby-Routerのどちらになるかを明示的に指定し運用するのが普通です。
先程の例では仮想IPの設定しか行っていないため、それぞれのInterfaceのIp-Addressの
大きい方がActive-routerとして動作します。この環境ではRT2の方がActiveとなります。
IP-Address以外でこのActive、Standbyの設定を変更するためには、Priorityの指定を行います。
standby group No. priority 0-255
0~255のPriorityを指定する事により、Activeとなる優先度を指定する事が出来ます。
この値が大きい方がActiveとなります。Defaulは100です。
■Routerの切り替わり
Defaultの設定では、Active-Routerに障害が発生し、一旦Standby-RouterがActive-Routerと
なった場合に、元Active-Routerが復旧しても、元Active-RouterはActiveにはならず
Standbyのまま稼動します。
もし、元Active-Routerが復旧した時に、再度Active-Routerとして動作させたい場合には
Preemptの指定を行います。
standby group No. preempt
この設定を行う事で、Priorityの大きい物が常にActive-Routerとなります。
※Active、Standbyの切り替わりの時には通信断が発生する可能性があるため
通信断を極力減らしたい場合には、Preemptの設定を行わない場合もあります。
■HSRP使用時のMAC-Address
HSRPのActive Routerは、物理Interfaceに実際に設定されたIP Addressとは別に
HSRP用の仮想IPも同時に持ち、仮想IPに対する Packet を受け付けます。
このため、仮想IP用のMAC-Addressが必要となります。
仮想IP用のMAC Address は、HSRPのGroup No.によって、下記のように自動的に決定します。
0000.0c 07.ac xx (1): Vender Code (Cisco)
------- ----- -- (2): HSRP を示す (ここは固定です)
(1) (2) (3) (3): HSRP のGroup No.(例:Group0 = 00)
仮想用のMAC-Addressを使用したくない場合には、use-viaを指定する事により可能です。
standby use-via
この設定を行う事で、物理InterfaceのMac-Addressを常に使用します。
■HSRPのHello-Intervalの設定
HSRPはDefaulの状態では3秒に一回、Hello-Packetを送信し、お互いの生死を確認します。
standby-RouterはActive-RouterからのHello-Packetを10秒受信しなかったら
Active-RouterがDownしたとみなし、自身がActive-Routerとなります。
これは言い換えれば、Active-Routerが停止してから最低10秒間はStandby-Routerに切り替わる事は
無いという事になります。
(通常HSRPを使用する環境ではRouterとRouterの間にSwitch等が接続されている場合が殆どであり
対向Routerの生き死にはHello-Packetのやりとりでしか検出する事は出来ません)
この停止時間を短くするためにHSRPのTimerを変更する事が可能です。
standby group No. timers hello interval hold time
この設定を変更する事でDefaulのTimer値から変更する事が出来ます。
DefaultはHello Interval = 3秒、Hold Time = 10秒
Truckingの設定
もしも、RT1がActive-Routerの状態で2.2.2.0/24への接続を失ったらどうなるでしょうか?
下図のような状態です。
+-----+ +------------+ +-----+
| RT1 | | 2.2.2.0/24 +--+ RT2 |
+--+--+ +------------+ +--+--+
.1 .2
| +------------+ |
+----+ 1.1.1.0/24 +----+
+-----+------+
VIP 1.1.1.254
|
+--+--+
| PC1 | GW=1.1.1.254
+-----+
この例ではPC1はGWを1.1.1.254を指定しており、現在の1.1.1.254のActive-RouterはRT1です。
しかし、RT1は2.2.2.0/24に向かうInterfaceに障害が発生しており、2.2.2.0/24へ接続する
事は出来ません。
しかし、RT1とRT2のHSRPは1.1.1.0/24のセグメントで行われているため、
2.2.2.0/24への通信は行えないにも関わらず、RT1はActive-Routerでありつづけます。
これではPC1は2.2.2.0/24への通信が行えず、HSRPの意味がありません。
こういった問題に対処するためのコマンドが
standby track Interface decriment
track-Interfaceとして指定する事で、指定したInterfaceに障害が発生した場合に
HSRPのHello-Intervalのやりとりを行っているInterfaceでは障害が起こっていなくても
Active-RouterとStandby-Routerの切り替わりが発生させる事が出来ます。
この設定を行っていれば、先程の例のように、RT1が2.2.2.0/24のネットワークを
Trackしていた場合に、この接続が失われた場合には、自身のHSRPのPriorityを
decriment(Default 10)で指定された数値だけ引き、Standby-RouterよりもPriorityが小さく
なった場合に、Active-Routerの切り替わりが発生します。
■Sample-Config
今まで紹介したコマンドを全て設定した状態のConfigです。
RT1
interface FastEthernet0/0
ip address 1.1.1.1 255.255.255.0
standby use-bia
standby track ATM0/0 20
standby 1 timers 5 15
standby 1 priority 120 preempt
standby 1 ip 1.1.1.254
RT2#
interface FastEthernet0/0
ip address 1.1.1.2 255.255.255.0
standby use-bia
standby 1 timers 5 15
standby 1 priority 110 preempt
standby 1 ip 1.1.1.254
■確認方法
確認はsh standbyのコマンドを使用します。
RT1#sh standby
FastEthernet0/0 - Group 1
Local state is Active, priority 120, may preempt, use bia
Hellotime 5 holdtime 15 configured hellotime 5 sec holdtime 15 sec
Next hello sent in 00:00:02.450
Hot standby IP address is 1.1.1.254 configured
Active router is local
Standby router is 1.1.1.2 expires in 00:00:12
Standby virtual mac address is 0001.96fd.13c0
13 state changes, last state change 00:04:43
Priority tracking 1 interface or object, 0 up:
Interface or object Decrement State
ATM3/0 20 UP
RT2#sh standby
FastEthernet0/0 - Group 1
Local state is Standby, priority 0, use bia
Hellotime 5 sec, holdtime 15 sec
Next hello sent in 1.678
Virtual IP address is 1.1.1.254 configured
Active router is 1.1.1.1, priority 120 expires in 10.752
Standby router is local
20 state changes, last state change 00:06:11
一番重要なのはGroup NoとActive-RouterがどのRouterでStandby-Routerが正しく認識
されているかを確認する事が重要です。もしも、どちらかがUnknownになっていた
場合には、正しくHSRPが動作していない可能せいがあるので注意が必要です。