实验拓扑
软件版本GN3 0.8.6 ASA镜像8.0(2)
实验环境
R1和R2模拟公司内网,R3模拟互联网设备。ASA作为公司出口,实现NAT地址转换
实验需求
在ASA上做动态NAT实现对R1 loopback 0 网段的地址转换
在ASA上做动态PAT实现对R1 loopback 1 网段的地址转换
在ASA上做静态NAT实现对R2 loopback 0 地址经行转换
在ASA上做静态PAT实现将R2的F0/0的23端口映射为218.1.1.1这个地址的23端口
地址规划
R1 loopback 0 IP: 192.168.10.1/24
R1 loopback 1 IP: 172.16.1.1/24
R1 F0/0 IP: 11.0.0.2/24
R2 loopback 0 IP: 192.168.20.1/24
R2 F0/0 IP: 12.0.0.2/24
R3 F0/0 IP: 13.0.0.3/24
配置如下:
路由器的一些基本配置这里就不做解释了
R1配置:
R1(config)#int f0/0
R1(config-if)#ip add 11.0.0.2 255.255.255.0
R1(config-if)#no shut
R1(config-if)#int loo 0
R1(config-if)#ip add 192.168.10.1 255.255.255.0
R1(config-if)#int loo 1
R1(config-if)#ip add 172.16.1.1 255.255.255.0
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 11.0.0.1
R2配置:
R2(config)#line vty 0 4
R2(config-line)#password abc123
R2(config-line)#login
R2(config-line)#exit
R2(config)#ip route 0.0.0.0 0.0.0.0 12.0.0.1
R2(config-if)#ip add 12.0.0.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int loo 0
R2(config-if)#ip add 192.168.20.1 255.255.255.0
R3配置:
R3(config)#int f0/0
R3(config-if)#ip add 13.0.0.3 255.255.255.0
R3(config-if)#no shut
为R1的loopback 0 接口做动态NAT
ASA1配置:
ASA1(config)# int e0/0
ASA1(config-if)# nameif inside //定义接口名称
INFO: Security level for "intside" set to 100 by default.
ASA1(config-if)# ip add 11.0.0.1 255.255.255.0
ASA1(config-if)# no shut
ASA1(config-if)# exit
ASA1(config)# int e0/1
ASA1(config-if)# nameif dmz
INFO: Security level for "dmz" set to 0 by default.
ASA1(config-if)# ip add 12.0.0.1 255.255.255.0
ASA1(config-if)# security-level 50 //配置接口安全级别
ASA1(config-if)# no shut
ASA1(config-if)# int e0/2
ASA1(config-if)# nameif outside
ERROR: Name "outside" has been assigned to interface Ethernet0/0
ASA1(config-if)# ip add 13.0.0.1 255.255.255.0
ASA1(config-if)# no shut
ASA1(config-if)# exit
ASA1(config)# route inside 192.168.10.0 255.255.255.0 11.0.0.2
ASA1(config)# route inside 172.16.1.0 255.255.255.0 11.0.0.2 //配置到达环回口的静态路由
ASA1(config)# route dmz 192.168.20.0 255.255.255.0 12.0.0.2
ASA1(config)# nat (inside) 1 192.168.10.0 255.255.255.0 //定义列表1,inside口要转换的地址
ASA1(config)# global (outside) 1 200.1.1.10-200.1.1.20 netmask 255.255.255.0
//配置公网地址池范围
ASA1(config)# access-list 110 permit icmp any any //这里为了偷懒就允许所有icmp
在R3上添加回程路由,并开启debug
R3#debug ip icmp
R3#conf t
R3(config)#ip route 200.1.1.0 255.255.255.0 13.0.0.1
R1 loopback 0 ping R3 测试
从R3的debug信息可以看出NAT转换成功了
在ASA上为R1 loopback 1 接口做PAT
ASA1(config)# nat (inside) 2 172.16.1.0 255.255.255.0
ASA1(config)# global (outside) 2 interface
用R1 的 loopback 1 ping R3测试
查看R3上的debug信息,发现转换成功为外网口地址
在ASA上做为R2的loopback 0 做静态NAT,转换为222.222.222.222
ASA1(config)# static (dmz,outside) 222.222.222.222 192.168.20.1 //配置将192.168.20.1这个
地址转换为222.222.222.222,注意公网地址是写在前面
在R3上做回程路由
R3(config)#ip route 222.222.222.222 255.255.255.255 13.0.0.1
在R2上ping 13.0.0.3 测试
在R3上查看debug信息,发现转换成功
在ASA上做静态PAT,将R2的F0/0的23端口映射为到218.1.1.1的23端口
ASA1(config)# static (dmz,outside) tcp 218.1.1.1 telnet 12.0.0.2 telnet
//配置将12.0.0.2的23端口映射到218.1.1.1这个地址的23端口,公网地址要写在前面
ASA1(config)# access-list 110 permit tcp host 13.0.0.3 host 218.1.1.1 eq 23
//定义一个ACL允许13.0.0.3对218.1.1.1进行telnet,由于之前110在接口上应用了这里就省略了
在R3上做回程路由
R3(config)#ip route 218.1.1.1 255.255.255.255 13.0.0.1
在R3上telnet 218.1.1.1 ,验证是否能映射到R2
总结:
动态NAT是多对多,定义一个地址池。地址池内有少个地址就可以有多少地址上公网
动态PAT是一对多,让所有私网地址都复用一个地址去上公网
静态NAT是一对一,一个私网地址指定一个公网地址
静态PAT是端口映射,将一个公网地址的某个端口映射到私网的某个地址