NAT—网络地址转换
参考链接:http://www.qingsword.com/qing/745.html
视频链接:
一、什么是NAT?
NAT --- Network Address Translation 也就是所谓的网络地址转换。这是为了解决ipv4地址不够用而产生的一种技术。原理是把私有地址转换成公有地址与外界通信。私有地址如下:
A类:10.0.0.0—10.255.255.255
B类:172.16.0.0—172.31.255.255
C类:192.168.0.0—192.168.255.255
常见的NAT技术有三种:静态NAT,动态NAT,PAT
二、拓扑图的建立
大家自己看着拖,路由器型号是1841,有Serial串行口就行。每个端口的ip配置如图所示。
三、静态NAT
静态NAT就是一对一的NAT,内部有多少私有地址需要和外部通信,就要配置多少外网IP地址与其对应。
配置路由器R1为静态NAT
/*配置内网网关接口*/ R1(config)#int fa 0/0 R1(config-if)#ip add 192.168.1.1 255.255.255.0 /*这个接口是内网接口,需要配置成NAT对内接口*/ R1(config-if)#ip nat inside R1(config-if)#no shut /*配置与ISP相连的外网接口*/ R1(config-if)#int s 0/0/0 R1(config-if)#ip add 12.1.1.1 255.255.255.0 /*配置成NAT对外接口*/ R1(config-if)#ip nat outside R1(config-if)#no shut R1(config-if)#exit /*配置静态转换条目,每个内网IP需要和一个外网IP对应*/ R1(config)#ip nat inside source static 192.168.1.2 12.1.1.20 R1(config)#ip nat inside source static 192.168.1.3 12.1.1.30
配置路由器R2
R2(config)#int s 0/0/0 R2(config-if)#ip add 12.1.1.2 255.255.255.0 R2(config-if)#no shut /*在R2上开启ICMP调试*/ R2#debug ip icmp //ICMP packet debugging is on
最后,我们来测试静态NAT,用PC1 ping一下路由器2看看结果
/*使用192.168.1.2去Ping路由器2*/ PC1> ping 12.1.1.2 /* * R2上的ICMP调试输出显示,echo reply的目的地址是12.1.1.20, * 说明R1上的静态NAT是成功的,成功将PC1的私有IP转换成了公网IP。 */
在R1上查看NAT地址转换表
R1#show ip nat translations Pro Inside global Inside local Outside local Outside global --- 12.1.1.20 192.168.1.2 --- --- --- 12.1.1.30 192.168.1.3 --- ---
四、动态NAT
动态NAT是在路由器上配置一个外网IP地址池,当内部有计算机需要和外部通信时,就从地址池里动态的取出一个外网IP,并将他们的对应关系绑定到NAT表中,通信结束后,这个外网IP被释放,可供其他内部IP转换使用,这和DHCP租约IP有相似之处。
在路由器1那里改一下配置代码
/* * 配置外网地址池,poolname1是这个地址池的自定义名称, * 外网地址池范围从12.1.1.20-12.1.30,11个可用于转换的IP地址, * 子网掩码24位。 */ R1(config)#ip nat pool poolname1 12.1.1.20 12.1.1.30 netmask 255.255.255.0 /* * 设置一个ACL来允许哪些内网IP被转换, * 这里是192.168.1.0/24网段都允许被转换。 */ R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 /*开启动态NAT,允许ACL 1中的私有地址转换成poolname1中的外网IP*/ R1(config)#ip nat inside source list 1 pool poolname1
在ping的时候打开路由器2可以看消息
五、PAT
这是最常用的NAT技术,也是IPv4能维持到今天的最重要原因之一,它提供了一种多对一的方式,对多个内网IP地址,边界路由可以给他们分配一个外网IP,利用这个外网IP的不同端口(不同的端口对应不同的内网IP)和外部进行通信。
在路由器1上配置
*配置允许转换的内部地址范围*/ R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255 /*ACL1中允许的私有IP地址将会共用R1的s0/0接口外网IP地址*/ R1(config)#ip nat inside source list 1 interface s 0/0 overload R1(config)#end