0x00 前言
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
另外,这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 1632中有对NAT的说明。
0X01 动态 NAT
1、依据图中拓扑,配置各个路由器的 IP 地址,并部署静态和默认路由。2、在 R2 上部署动态 NAT,使得内网所有设备可以访问外网,配置如下:
①定义内网流量和公网地址池
R2(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R2(config)#access-list 2 permit 192.168.2.0 0.0.0.255
R2(config)#ip nat pool DNAT 100.1.23.100 100.1.23.200 netmask 255.255.255.0
②定义内外接口
R2(config)#int f0/0
R2(config-if)#ip nat inside
R2(config)#int f1/0
R2(config-if)#ip nat outside
③执行动态 NAT
R2(config)#ip nat inside source list 1 pool DNAT
3、测试动态 NAT,如下:
R2#debug ip nat
在 R1 上访问互联网
R1#ping 8.8.8.8 source 192.168.1.1
R1#ping 8.8.8.8 source 192.168.2.1
在 R2 上查看 NAT 调试信息
R2#show ip nat
查看 R2 上 NAT 转换表
R2#show ip nat translations
查看 R2 上 NAT 转换状态
R2#show ip nat statistics
0x02 端口 NAT
1、配置各个路由器的 IP 地址,并部署静态和默认路由2、在 R2 上部署端口 NAT,使得内网所有设备可以访问外网,配置如下:
①定义内网流量和公网地址池
R2(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R2(config)#access-list 2 permit 192.168.2.0 0.0.0.255
R2(config)#ip nat pool PAT 100.1.23.100 100.1.23.101 netmask 255.255.255.0
②定义内外接口
R2(config)#int f0/0
R2(config-if)#ip nat inside
R2(config)#int f1/0
R2(config-if)#ip nat outside
③执行端口 NAT
R2(config)#ip nat inside source list 1 pool PAT overload
3、测试端口 NAT,如下:
在 R2 上调试 NAT 进程
R2#debug ip nat
在 R1 上访问互联网
R1#ping 8.8.8.8 source 192.168.1.1
R1#ping 8.8.8.8 source 192.168.2.1
在 R2 上查看 NAT 调试信息
查看 R2 上 NAT 转换表
R2#show ip nat translations
4、通过接口部署端口 NAT,配置如下:
①定义内网流量
R2(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R2(config)#access-list 2 permit 192.168.2.0 0.0.0.255
②定义内外接口
R2(config)#int f0/0
R2(config-if)#ip nat inside
R2(config)#int f1/0
R2(config-if)#ip nat outside
③执行端口 NAT
R2(config)#ip nat inside source list 1 interface f1/0 overload
在 R1 上访问互联网
R1#ping 8.8.8.8 source 192.168.1.1
R1#ping 8.8.8.8 source 192.168.2.1
在 R2 上查看 NAT 转换表
R2#show ip nat translations
0x03 静态 NAT
1、配置各个路由器的 IP 地址,并部署静态和默认路由;映射到公网,使公网主机可以访问。2、在 R2 上部署静态 NAT,配置如下:
①定义内外接口
R2(config)#int f2/0
R2(config-if)#ip nat inside
R2(config)#int f1/0
R2(config-if)#ip nat outside
③执行静态 NAT
R2(config)#ip nat inside source static 172.16.1.4 100.1.23.4
3、测试端口 NAT,如下:
R2#show ip nat translations
R3#ping 100.1.23.4
4、部署静态 NAT,将 R4 的 23 端口映射到公网100.1.23.4端口202,将公网地址映射给多个服务器,如下:
2(config)#ip nat inside source static tcp 172.16.1.4 23 100.1.23.4 202
2(config)#ip nat inside source static tcp 172.16.1.5 80 100.1.23.4 80
让 R3 通过 2323 端口远程访问 R4,
3#telnet 100.1.23.4 2323
2#show ip nat translations
欢迎大家分享更好的思路,热切期待^^_^^ !