一、实验拓扑: Twice NAT好处:可以节省主机或者路由器的配置,R1可以不需要有默认路由,R2(PC)可以不写网关; 二、实验要求: 1、当Inside网络10.1.1.0/24,去往Outside地址1.1.1.1时,转换内部网络10.1.1.0/24到Outside区域地址202.100.1.101; 2、当Inside网络10.1.1.0/24,访问内部网络地址10.1.1.101时,就会被转送到木的地1.1.1.1,并且转换内部网络10.1.1.0/24到Outside区域地址202.100.1.102。 三、命令部署: 1、ASA上增加到R1环回口1.1.1.1的默认路由: ASA(config)# route outside 1.1.1.0 255.255.255.0 202.100.1.1 验证: ASA(config)# ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:!!!!!

2、ASA放行ICMP的流量: ASA(config)# policy-map global_policy ASA(config-pmap)# class inspection_default ASA(config-pmap-c)# inspect icmp 验证: R2#ping 1.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:.!!!!

3、当Inside网络10.1.1.0/24,去往Outside地址1.1.1.1时,转换内部网络10.1.1.0/24到Outside区域地址202.100.1.101 ASA(config)# object network inside-weizhuanhuan //转换前内部源地址 ASA(config-network-object)# subnet 10.1.1.0 255.255.255.0

ASA(config)# object network mude-loopback //内部要访问的目的地址 ASA(config-network-object)# host 1.1.1.1

ASA(config)# object network out-zhuanhuanhou //转换后外部地址 ASA(config-network-object)# host 202.100.1.101

ASA(config)# nat (inside,outside) source dynamic inside-weizhuanhuan out-zhuanhuanhou destination static mude-loopback mude-loopback //全局下部署的,意思是:源地址动态转换,访问的目的地址不转换,依然是目的地址 验证: ASA(config)# show run nat nat (inside,outside) source dynamic inside-weizhuanhuan out-zhuanhuanhou destination static mude-loopback mude-loopback

R2#telnet 1.1.1.1 Trying 1.1.1.1 ... Open User Access Verification Username: aa Password: R1>show users Line User Host(s) Idle Location 0 con 0 idle 00:20:19

  • 66 vty 0 aa idle 00:00:00 202.100.1.101

R1是不可以主动Telnet R2的,因为这是动态转换: R1#telnet 202.100.1.101 Trying 202.100.1.101 ... % Connection timed out; remote host not responding

R2去的目的不一样是不会做转换的: R2#telnet 202.100.1.1 Trying 202.100.1.1 ... Open User Access Verification Username: aa Password: R1>show users Line User Host(s) Idle Location 0 con 0 idle 00:01:41

  • 66 vty 0 aa idle 00:00:00 10.1.1.2

结论:只有源去往这个目的才会转换,否则不会转换的。

4、当Inside网络10.1.1.0/24,访问内部网络地址10.1.1.101时,就会被转送到目的地1.1.1.1,并且转换内部网络10.1.1.0/24到Outside区域地址202.100.1.102(也就是把10.1.1.2转换为202.100.1.102) 步骤: (1)先删除刚刚最后一条: ASA(config)#no nat (inside,outside) source dynamic inside-weizhuanhuan out-zhuanhuanhou destination static mude-loopback mude-loopback (2)增加内部目的地址: ASA(config)# object network in-mude ASA(config-network-object)# host 10.1.1.101 (3)查看Object ASA# show run object object network inside-weizhuanhuan subnet 10.1.1.0 255.255.255.0 object network mude-loopback host 1.1.1.1 object network out-zhuanhuanhou host 202.100.1.101 object network in-mude host 10.1.1.101 (4)部署NAT: ASA(config)# ASA(config)# nat (inside,outside) source dynamic inside-weizhuanhuan out-zhuanhuanhou destination static in-mude mude-loopback 验证: (1)先把R1、R2的默认路由删除掉,此处不需要默认路由: R1(config)#no ip route 0.0.0.0 0.0.0.0 202.100.1.10 R2(config)#no ip route 0.0.0.0 0.0.0.0 10.1.1.10

(2)R2远程Telnet 10.1.1.101,它会跳转到R1的1.1.1.1 R2#telnet 10.1.1.101 Trying 10.1.1.101 ... Open User Access Verification Username: aa Password: R1>show users Line User Host(s) Idle Location 0 con 0 idle 00:00:46

  • 66 vty 0 aa idle 00:00:00 202.100.1.101 结论:看到的源地址是202.100.1.101

(3)ASA上查看转换槽位: ASA# show xlate 2 in use, 3 most used Flags: D - DNS, i - dynamic, r - portmap, s - static, I - identity, T - twice NAT from outside:1.1.1.1 to inside:10.1.1.101 flags sT idle 0:02:01 timeout 0:00:00 TCP PAT from inside:10.1.1.2/13010 to outside:202.100.1.101/35121 flags ri idle 0:02:01 timeout 0:00:30

(4)R1反过来Telnet 202.100.1.101是不通的: R1#telnet 202.100.1.101 //反过来是不可以的 Trying 202.100.1.101 ... % Connection timed out; remote host not responding

(5)R2直接Telnet 202.100.1.1是不通的,因为没有路由条目: R2#telnet 202.100.1.1 Trying 202.100.1.1 ... % Destination unreachable; gateway or host down //而且秒快就会弹出错误提示信息,原因:没有路由,连包都封装不了。

总结:服务器做NAT映射,一般情况下都是做的这种映射/转换,但是一般做的是静态转换,而且同时会加入端口号的转换。 比如:ASA(config)# nat (inside,outside) source static 10.1.1.2 object destination 携带静态、Object等,还可以加端口