【概要】
※SLA (Service Level Agreement)
Cisco IOS IP SLAによる、HSRPのActive/Standbyを切り替える方法です。
IP SLA「icmp-echo」で特定のIPをICMPでTrackingします。
- ICMP-replyが有れば、ステータス継続
- ICMP-replyが無くなったら、HSRP Priority値を下げてHSRP ActiveをStandbyに降格
NW構成 (Cisco CMLを使って検証)
- 【通信要件】:PC1(192.168.1.100/24) ⇒ R5のloopback (5.5.5.5)
- 【IP SLA(icmp-echo)】:宛先:R5(10.35.1.5) 、 送信元:R1(192.168.1.252)
- 【IP SLA(icmp-echo)】:送信間隔: 5秒毎
- 【正常経路】:PC1 ⇒ L2SW ⇒ R1 ⇒ R3 ⇒ R5 ⇒ 5.5.5.5
Config
R1-config
hostname R1
!
track 55 ip sla 50 reachability
!
interface GigabitEthernet0/0
ip address 192.168.1.252 255.255.255.0
standby 10 ip 192.168.1.254
standby 10 priority 150
standby 10 preempt
standby 10 track 55 decrement 90
!
interface GigabitEthernet0/1
ip address 10.13.1.1 255.255.255.0
!
router ospf 1
passive-interface GigabitEthernet0/0
network 0.0.0.0 255.255.255.255 area 0
!
ip sla 50
icmp-echo 10.35.1.5 source-ip 192.168.1.252
tos 184
frequency 5
ip sla schedule 50 life forever start-time now
!
control-plane
!
end
R2-config
hostname R2
!
interface GigabitEthernet0/0
ip address 192.168.1.253 255.255.255.0
standby 10 ip 192.168.1.254
standby 10 priority 90
standby 10 preempt
!
interface GigabitEthernet0/1
ip address 10.24.1.2 255.255.255.0
ip ospf cost 500
!
router ospf 1
passive-interface GigabitEthernet0/0
network 0.0.0.0 255.255.255.255 area 0
!
control-plane
!
end
R3-config
hostname R3
!
interface GigabitEthernet0/0
ip address 10.13.1.3 255.255.255.0
!
interface GigabitEthernet0/1
ip address 10.35.1.3 255.255.255.0
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
control-plane
!
end
R4-config
hostname R4
!
interface GigabitEthernet0/0
ip address 10.24.1.4 255.255.255.0
ip ospf cost 500
!
interface GigabitEthernet0/1
ip address 10.45.1.4 255.255.255.0
ip ospf cost 500
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
control-plane
!
end
R5-config
hostname R5
!
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface GigabitEthernet0/0
ip address 10.35.1.5 255.255.255.0
!
interface GigabitEthernet0/1
ip address 10.45.1.5 255.255.255.0
ip ospf cost 500
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!
control-plane
!
end
コマンド説明
R1
ip sla関連設定
ip sla 50
⇒ sla Entry Numberを50に定義
icmp-echo 10.35.1.5 source-ip 192.168.1.252
⇒ 送信元IPをLANの物理IPに設定(source-ipをHSRP Vipにすることは不可)
宛先IP 4.4.4.4を指定してICMPを実行する。
tos 184
⇒ SLAで発行するICMPパケットに ToS値[EF]を付けて送信
frequency 5
⇒ 5秒毎にICMPを発行
ip sla schedule 50 life forever start-time now
⇒ sla Entry Number 50に対して、今から永久に実行するコマンド
(このコマンドが無いと、SLAは動作しない)
track 55 ip sla 50 reachability
⇒設定済みのsla Entry Number 50を Track 55に割り当てる
inteface設定 (HSRP / ip sla)
interface GigabitEthernet0/0
ip address 192.168.1.252 255.255.255.0
standby 10 ip 192.168.1.254
⇒ HSRP Vip設定
standby 10 priority 150
⇒ HSRP Priority設定
standby 10 preempt
⇒ HSRP Preempt設定
standby 10 track 55 decrement 90
⇒ ip sla track 50 ICMP replyが無くなった場合、HSPR Priorityを90下げる
(150 – 90 = 60 priorityは60になる)
R2
inteface設定 (HSRP / ip sla)
interface GigabitEthernet0/0
ip address 192.168.1.253 255.255.255.0
standby 10 ip 192.168.1.254
⇒ HSRP Vip設定
standby 10 priority 90
⇒ HSRP Priority設定
standby 10 preempt
⇒ HSRP Preempt設定
(preemptはHSRP Active側だけに設定があれば良いが、設定が問題が無いのでStandby側に設定してしまう事が多い)
IP SLA役に立つ場面
- R1のインターフェイス障害
- R1とR3間のケーブル障害
- R3のインターフェイス障害
【障害時】
- 【障害時経路】:PC1 ⇒ L2SW ⇒ R2 ⇒ R4 ⇒ R5 ⇒ 5.5.5.5】
- 【障害時とは】:IP SLA(icmp-echo)の宛先R5(10.35.1.5)からのICMP replyが無くなった時
- 【障害時の動作】:10.35.1.5からのICMP replyが無くなった時、HSRPと連携して自身のHSRP Priority値を下げ、自身をActiveから Standbyに降格させる。
R1から10.35.1.5へのICMP replyが無くなった時のログ
R1
R1#show ip sla summary
ID Type Destination Stats(ms) Return Code Last Run
———————————————————————–
*50 icmp-echo 10.35.1.5 – Timeout 10 seconds ago
R1#show ip sla statistics
IPSLAs Latest Operation Statistics
IPSLA operation id: 50
Latest RTT: NoConnection/Busy/Timeout
Latest operation return code: Timeout
Number of successes: 12
Number of failures: 31
Operation time to live: Forever
R1#show standby brief
State is Standby
27 state changes, last state change 01:27:27
Virtual IP address is 192.168.1.254
Active virtual MAC address is 0000.0c07.ac0a
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.136 secs
Preemption enabled
Active router is 192.168.1.253, priority 90 (expires in 9.664 sec)
Standby router is local
Priority 60 (configured 150)
Track object 55 state Down decrement 90
Group name is “hsrp-Gi0/0-10” (default)
R1#show standby brief
Interface Grp Pri P State Active Standby Virtual IP
Gi0/0 10 60 P Standby 192.168.1.253 local 192.168.1.254
R2#show standby brief
Interface Grp Pri P State Active Standby Virtual IP
Gi0/0 10 90 P Active local 192.168.1.252 192.168.1.254
まとめ
IP SLA「icmp-echo」で10.35.1.5をTrackingして、replyが無くなった時点で
R1のHSRP priorityを引き下げ、Active ⇒ Standbyへ降格させます。
結果、R2がHSRP ActiveになりPCのデフォルゲートはR2になります。
本構成例の場合、10.35.1.5のインターフェイスがダウンした場合、R2をHSRP Activeにしないと
通信断が継続したままになります。
10.35.1.5に対して、ICMPがTimeoutしている状態