構成
- inside: 10.1.1.0/24
- outside: 20.1.1.0/24
- IPアドレスは各機器の名前の末尾、iosv-2だけ.254
- iosv-2でNATする
Destination NAT
◎iosv-1,3にて#debug ip icmp, iosv-2にてdebug ip natを実行している。
◎iosv-3にてping 10.1.1.1 repeat 1を実行する
iosv-3
“echo reply rcyd, src 10.1.1.1, dst 10.1.1.3″
- iosv-2にて宛先が10.1.1.1から20.1.1.1へ変換されるので、iosv-3は20.1.1.0/24を知っている必要がない。
- したがって、RIBには自分の所属する10.1.1.0/24しか載っていない。
- これはDestination NAT (宛先を書き換えるから)
iosv-3#ping 10.1.1.1 repeat 1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:
!
Success rate is 100 percent (1/1), round-trip min/avg/max = 112/112/112 ms
iosv-3#
*Jan 22 22:06:29.659: ICMP: echo reply rcvd, src 10.1.1.1, dst 10.1.1.3, topology BASE, dscp 0 topoid 0
RIB(iosv-3)
iosv-3#sh ip ro | b Gate
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.1.1.0/24 is directly connected, GigabitEthernet0/0
L 10.1.1.3/32 is directly connected, GigabitEthernet0/0
DNATコンフィグ
(config)# ip nat outside source static 20.1.1.1 10.1.1.1 no-alias add-route
(config)# ip nat outside source static 20.1.1.6 10.1.1.6 no-alias add-route
Source NAT
iosv-1
“echo reply sent, src 20.1.1.1, dst 20.1.1.254“
- iosv-3→iosv-1でpingを実施した場合、本来であれば送信元IPアドレスはiosv-3の10.1.1.3になるはずである。
- しかし今回はiosv-1が20.1.1.254へpingを返している。
- これはNATで送信元IPアドレスが10.1.1.3から20.1.1.254に書き換えられたため。
- したがってiosv-1でもiosv-3のいる10.1.1.0/24を知っている必要はない。
- これはSource NAT(送信元を書き換えているから)
iosv-1#
*Jan 22 22:06:25.763: ICMP: echo reply sent, src 20.1.1.1, dst 20.1.1.254, topology BASE, dscp 0 topoid 0
RIB(iosv-1)
iosv-1#sh ip ro | b Gate
Gateway of last resort is not set
20.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 20.1.1.0/24 is directly connected, GigabitEthernet0/0
L 20.1.1.1/32 is directly connected, GigabitEthernet0/0
SNAT コンフィグ
- GigabitEthernet0/0はiosv-2のoutside向けインターフェース:20.1.1.254
iosv-2#sh run | s NAT
ip nat inside source list NAT_inside interface GigabitEthernet0/0 overload
ip access-list standard NAT_inside
permit 10.1.1.0 0.0.0.255
NATデバイスでの確認(iosv-2)
#debug ip nat
iosv-2#
*Jan 22 22:21:32.498: NAT*: s=10.1.1.3->20.1.1.254, d=10.1.1.1 [8]
*Jan 22 22:21:32.498: NAT*: s=20.1.1.254, d=10.1.1.1->20.1.1.1 [8]
*Jan 22 22:21:32.524: NAT*: s=20.1.1.1->10.1.1.1, d=20.1.1.254 [8]
*Jan 22 22:21:32.524: NAT*: s=10.1.1.1, d=20.1.1.254->10.1.1.3 [8]
#show ip nat translations
iosv-2#sh ip nat trans
Pro Inside global Inside local Outside local Outside global
--- --- --- 10.1.1.1 20.1.1.1
--- --- --- 10.1.1.6 20.1.1.6
icmp 20.1.1.254:4 10.1.1.3:4 10.1.1.1:4 20.1.1.1:4
#show ip route
iosv-2#sh ip ro | b Gate
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.1.1.0/24 is directly connected, GigabitEthernet0/1
S 10.1.1.1/32 [1/0] via 20.1.1.1
S 10.1.1.6/32 [1/0] via 20.1.1.6
L 10.1.1.254/32 is directly connected, GigabitEthernet0/1
20.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 20.1.1.0/24 is directly connected, GigabitEthernet0/0
L 20.1.1.254/32 is directly connected, GigabitEthernet0/0
NAT、わかると面白いんだけどわかるまでむっちゃ難しいね。