一、实验拓扑:
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等,还可以加端口
转载于:https://blog.51cto.com/13856092/2138615