構成
- 各機器のIPアドレスの第四オクテットは名前にある数字を採用(iosv-1なら20.1.1.1)
- iosv-2,9でHSRPを動作させる
- iosv-2がActive (Priority 110)
- iosv-9がStandby (Priority 100)
- iosv-2のインターフェースがダウンした際、逆サイドのインターフェースはプライオリティを20デクリメントさせてHAの切り替えを行う
- VIPの第四オクテットはそれぞれ.254
- inside側に20.1.1.1を10.1.1.1へstaticに変換させる(DestNAT)
コンフィグ
ip nat ~の設定の末尾にredundancy [HSRP名]を入れる。
iosv-2
iosv-2#sh run | s NAT|nat|0/0|0/1
track 1 interface GigabitEthernet0/0 line-protocol
track 2 interface GigabitEthernet0/1 line-protocol
interface GigabitEthernet0/0
ip address 20.1.1.2 255.255.255.0
ip nat outside
ip virtual-reassembly in
standby 2 ip 20.1.1.254
standby 2 priority 110
standby 2 preempt
standby 2 name outside
standby 2 track 2 decrement 20
interface GigabitEthernet0/1
ip address 10.1.1.2 255.255.255.0
ip nat inside
ip virtual-reassembly in
standby 1 ip 10.1.1.254
standby 1 priority 110
standby 1 preempt
standby 1 name inside
standby 1 track 1 decrement 20
ip nat pool for_SNAT 20.1.1.254 20.1.1.254 prefix-length 24
ip nat inside source list NAT_inside pool for_SNAT redundancy 1 mapping-id 1 overload
ip nat outside source static 20.1.1.1 10.1.1.1 redundancy outside no-alias add-route
ip access-list standard NAT_inside
permit 10.1.1.0 0.0.0.255
iosv-9
iosv-9#sh run | s NAT|nat|0/0|0/1
interface GigabitEthernet0/0
ip address 20.1.1.9 255.255.255.0
ip nat outside
ip virtual-reassembly in
standby 2 ip 20.1.1.254
standby 2 preempt
standby 2 name outside
interface GigabitEthernet0/1
ip address 10.1.1.9 255.255.255.0
ip nat inside
ip virtual-reassembly in
standby 1 ip 10.1.1.254
standby 1 preempt
standby 1 name inside
ip nat pool for_SNAT 20.1.1.254 20.1.1.254 prefix-length 24
ip nat inside source list NAT_inside pool for_SNAT redundancy 1 mapping-id 1 overload
ip nat outside source static 20.1.1.1 10.1.1.1 redundancy outside no-alias add-route
ip access-list standard NAT_inside
permit 10.1.1.0 0.0.0.255
検証
各フェーズごとに以下のpingを投げてshowで確認を行う。
iosv-3→10.1.1.1(DNAT後iosv-1アドレス)
1. HA切り替え前
- まだAct-Standby健在なのでただのDNAT
- ただし、セッションの同期は行わないのでiosv-9のshow ip nat translationsにはセッションが表示されない
iosv-2(config-if)#do sh ip nat trans
Pro Inside global Inside local Outside local Outside global
--- --- --- 10.1.1.1 20.1.1.1
icmp 10.1.1.3:6 10.1.1.3:6 10.1.1.1:6 20.1.1.1:6
iosv-9(config)#do sh ip nat trans
Pro Inside global Inside local Outside local Outside global
--- --- --- 10.1.1.1 20.1.1.1
2. HA切り替え後
- iosv-9がActiveになった
- セッション同期を行わないので異なるセッションでNAT変換を行っていることが確認できる
iosv-2(config-if)#do sh ip nat trans
Pro Inside global Inside local Outside local Outside global
--- --- --- 10.1.1.1 20.1.1.1
icmp 10.1.1.3:6 10.1.1.3:6 10.1.1.1:6 20.1.1.1:6
iosv-9(config)#do sh ip nat t
rans
Pro Inside global Inside local Outside local Outside global
--- --- --- 10.1.1.1 20.1.1.1
icmp 10.1.1.3:7 10.1.1.3:7 10.1.1.1:7 20.1.1.1:7
3. HA切り戻し後
- iosv-2がActiveに戻ってきた
- 特に書くことはない
iosv-2(config-if)#do sh ip nat trans
Pro Inside global Inside local Outside local Outside global
--- --- --- 10.1.1.1 20.1.1.1
icmp 10.1.1.3:6 10.1.1.3:6 10.1.1.1:6 20.1.1.1:6
icmp 10.1.1.3:8 10.1.1.3:8 10.1.1.1:8 20.1.1.1:8
iosv-9(config)#do sh ip nat trans
Pro Inside global Inside local Outside local Outside global
--- --- --- 10.1.1.1 20.1.1.1
icmp 10.1.1.3:7 10.1.1.3:7 10.1.1.1:7 20.1.1.1:7