概要

ルーティングテーブルの状態を監視して、HSRPアクティブルータを切り替えるための設定例について解説します。

ネットワーク構成

図 HSRPルーティングテーブルのトラッキング ネットワーク構成
図 HSRPルーティングテーブルのトラッキング ネットワーク構成

初期設定

各ルータの初期設定は以下の通りです。

R1

interface FastEthernet0/0
 ip address 192.168.1.251 255.255.255.0
 standby 1 ip 192.168.1.254
 standby 1 priority 120
 standby 1 preempt
!
interface FastEthernet0/1
 ip address 192.168.3.251 255.255.255.0
!
interface FastEthernet1/0
 ip address 192.168.12.251 255.255.255.0
!
router ospf 1
 router-id 1.1.1.1
 log-adjacency-changes
 passive-interface FastEthernet0/0
 network 192.168.0.0 0.0.255.255 area 0

R2

interface FastEthernet0/0
 ip address 192.168.1.252 255.255.255.0
 standby 1 ip 192.168.1.254
 standby 1 preempt
!
interface FastEthernet0/1
 ip address 192.168.3.252 255.255.255.0
!
interface FastEthernet1/0
 ip address 192.168.12.252 255.255.255.0
!
router ospf 1
 router-id 2.2.2.2
 log-adjacency-changes
 passive-interface FastEthernet0/0
 network 192.168.0.0 0.0.255.255 area 0

R3

interface FastEthernet0/0
 ip address 192.168.100.253 255.255.255.0
!
interface FastEthernet1/0
 ip address 192.168.3.253 255.255.255.0
!
router ospf 1
 router-id 3.3.3.3
 log-adjacency-changes
 network 192.168.0.0 0.0.255.255 area 0

R1とR2のFa0/0でHSRPを有効にしていて、R1がアクティブルータです。

R1

R1#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp  Pri P State   Active          Standby         Virtual IP
Fa0/0       1    120 P Active  local           192.168.1.252   192.168.1.254
R1#show ip route
~省略~

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, FastEthernet1/0
C    192.168.1.0/24 is directly connected, FastEthernet0/0
O    192.168.100.0/24 [110/2] via 192.168.3.253, 01:16:10, FastEthernet0/1
C    192.168.3.0/24 is directly connected, FastEthernet0/1

R1のFa0/1がダウンすると、R1がアクティブルータのままではパケットの転送経路が効率的ではありません。R1のFa0/1がダウンすると、R2がアクティブルータになったほうがいいです。そこで、R1のルーティングテーブル上のOSPFルート192.168.100.0/24の状態を監視するトラッキングの設定を行います。

ルーティングテーブルのトラッキングの設定 ~特定のルート情報が存在しているかどうか~

設定

ルーティングテーブル上のOSPFルート192.168.100.0/24が存在しているかどうかを監視して、HSRPのアクティブルータを切り替えます。R1でOSPFルート192.168.100.0/24がルーティングテーブルから削除されると、HSRPプライオリティを30下げる設定をします。

R1

track 1 ip route 192.168.100.0 255.255.255.0 reachability
!
interface FastEthernet0/0
 standby 1 track 1 decrement 30

確認

R1で設定を確認すると、以下のようになります。

R1

R1#show track
Track 1
  IP route 192.168.100.0 255.255.255.0 reachability
  Reachability is Up (OSPF)
    1 change, last change 00:04:18
  First-hop interface is FastEthernet0/1
  Tracked by:
    HSRP FastEthernet0/0 1
R1#show standby
FastEthernet0/0 - Group 1
  State is Active
    2 state changes, last state change 00:11:35
  Virtual IP address is 192.168.1.254
  Active virtual MAC address is 0000.0c07.ac01
    Local virtual MAC address is 0000.0c07.ac01 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 1.064 secs
  Preemption enabled
  Active router is local
  Standby router is 192.168.1.252, priority 100 (expires in 7.712 sec)
  Priority 120 (configured 120)
    Track object 1 state Up decrement 30
  Group name is "hsrp-Fa0/0-1" (default)

R1 Fa0/1をshutdownすると、ルーティングテーブルから192.168.100.0/24が削除されます。それに伴ってHSRPのアクティブルータがR2に切り替わります。ただし、すぐにもとに戻ります。OSPFがコンバージェンスして、192.168.100.0/24のルートを再度学習すると、R1が再びアクティブルータとなります。以下、R1のFa0/1をshutdownしたときのコンソールのログです。

R1

R1(config)#interface FastEthernet 0/1
R1(config-if)#shutdown
R1(config-if)#
*Mar  1 01:28:48.963: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Interface down or detached
*Mar  1 01:28:48.963: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Interface down or detached
R1(config-if)#
*Mar  1 01:28:50.943: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
*Mar  1 01:28:51.383: %TRACKING-5-STATE: 1 ip route 192.168.100.0/24 reachability Up->Down
*Mar  1 01:28:51.943: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
R1(config-if)#
*Mar  1 01:28:53.755: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Active -> Speak
R1(config-if)#
*Mar  1 01:29:03.755: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
R1(config-if)#
*Mar  1 01:29:06.383: %TRACKING-5-STATE: 1 ip route 192.168.100.0/24 reachability Down->Up
R1(config-if)#
*Mar  1 01:29:08.747: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active

図 R1 Fa0/1がDownしたとき その1
図 R1 Fa0/1がDownしたとき その1
図 R1 Fa0/1がDownしたとき その2
図 R1 Fa0/1がDownしたとき その2

例として考えているネットワーク構成では、単純にルート情報が存在するかどうかを監視しても、効果的にアクティブルータを切り替えることができません。

ルーティングテーブルのトラッキングの設定 ~ルート情報のメトリックのしきい値~

設定

R1のFa0/1がダウンして192.168.100.0/24へルートが切り替わったときに、アクティブルータをR2にするために、トラッキングオブジェクトを以下のように設定します。

R1

track 2 ip route 192.168.100.0 255.255.255.0 metric threshold
 threshold metric up 2 down 3

R1から192.168.100.0/24への最適ルートが切り替わると、メトリックが2から3に増えます。192.168.100.0/24のメトリックが3になるとDownとなるようにトラッキングオブジェクト2を設定します。

そして、HSRPにトラッキングオブジェクト2を関連付けます。

R1

interface FastEthernet0/0
 no standby 1 tarck 1
 standby 1 track 2 decrement 30

確認

R1で設定を確認すると、以下のようになります。

R1

R1#show track
Track 1
  IP route 192.168.100.0 255.255.255.0 reachability
  Reachability is Up (OSPF)
    3 changes, last change 00:39:50
  First-hop interface is FastEthernet0/1
Track 2
  IP route 192.168.100.0 255.255.255.0 metric threshold
  Metric threshold is Up (OSPF/2/2)
    1 change, last change 00:05:31
  Metric threshold down 3 up 2
  First-hop interface is FastEthernet0/1
  Tracked by:
    HSRP FastEthernet0/0 1
R1#show standby
FastEthernet0/0 - Group 1
  State is Active
    5 state changes, last state change 00:39:54
  Virtual IP address is 192.168.1.254
  Active virtual MAC address is 0000.0c07.ac01
    Local virtual MAC address is 0000.0c07.ac01 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 2.152 secs
  Preemption enabled
  Active router is local
  Standby router is 192.168.1.252, priority 100 (expires in 7.148 sec)
  Priority 120 (configured 120)
    Track object 2 state Up decrement 30
  Group name is "hsrp-Fa0/0-1" (default)

R1 Fa0/1をshutdownすると、ルーティングテーブルの192.168.100.0/24のメトリックが3になります。それに伴ってHSRPのアクティブルータがR2に切り替わります。以下、R1のFa0/1をshutdownしたときのコンソールのログです。

R1

R1(config)#interface FastEthernet 0/1
R1(config-if)#shutdown
R1(config-if)#
*Mar  1 02:10:56.239: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Interface down or detached
*Mar  1 02:10:56.239: %OSPF-5-ADJCHG: Process 1, Nbr 3.3.3.3 on FastEthernet0/1 from FULL to DOWN, Neighbor Down: Interface down or detached
R1(config-if)#
*Mar  1 02:10:58.223: %LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down
*Mar  1 02:10:59.223: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
R1(config-if)#
*Mar  1 02:11:06.383: %TRACKING-5-STATE: 2 ip route 192.168.100.0/24 metric threshold Up->Down
R1(config-if)#
*Mar  1 02:11:08.779: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Active -> Speak
R1(config-if)#
*Mar  1 02:11:18.775: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Speak -> Standby
R1(config-if)#do show track 2
Track 2
  IP route 192.168.100.0 255.255.255.0 metric threshold
  Metric threshold is Down (OSPF/3/3)
    2 changes, last change 00:00:19
  Metric threshold down 3 up 2
  First-hop interface is FastEthernet1/0
  Tracked by:
    HSRP FastEthernet0/0 1
R1(config-if)#do show standby
FastEthernet0/0 - Group 1
  State is Standby
    7 state changes, last state change 00:00:11
  Virtual IP address is 192.168.1.254
  Active virtual MAC address is 0000.0c07.ac01
    Local virtual MAC address is 0000.0c07.ac01 (v1 default)
  Hello time 3 sec, hold time 10 sec
    Next hello sent in 0.928 secs
  Preemption enabled
  Active router is 192.168.1.252, priority 100 (expires in 9.916 sec)
  Standby router is local
  Priority 90 (configured 120)
    Track object 2 state Down decrement 30
  Group name is "hsrp-Fa0/0-1" (default)

図 ルート情報のメトリックしきい値によるアクティブルータの切り替え
図 ルート情報のメトリックしきい値によるアクティブルータの切り替え

IPルーティングのキホン