实验目的:
1、掌握端口NAT的基本编写。
2、理解端口NAT的基本特性。
实验拓扑:
实验步骤:
1、依据图中拓扑,配置各个路由器的IP地址,并部署静态和默认路由,配置如下:
R1上
R1(config)# ip route 0.0.0.0 0.0.0.0 12.1.1.2
R2上
R2(config)#ip route 192.168.1.0 255.255.255.0 12.1.1.1 R2(config)#ip route 192.168.2.0 255.255.255.0 12.1.1.1 R2(config)#ip route 0.0.0.0 0.0.0.0 100.1.23.3
测试连通性,如下:
R2#ping 8.8.8.8 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 28/33/44 ms R1#ping 8.8.8.8 source 192.168.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: Packet sent with a source address of 192.168.1.1 ..... Success rate is 0 percent (0/5)
可以看到,边缘路由器可以访问互联网,但是内网无法访问互联网。因为互联网路由器没有到内网的私有路由,一般需要部署NAT技术,将内网地址转换成公网地址,才能实现通信。
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-if)#exit R2(config)#int f1/0 R2(config-if)#ip nat outside R2(config-if)#exit
③执行端口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 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: Packet sent with a source address of 192.168.1.1 .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 60/77/124 ms R1#ping 8.8.8.8 source 192.168.2.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: Packet sent with a source address of 192.168.2.1 .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 60/69/76 ms
从上面可以看到内网已经能够访问外网。
在R2上查看NAT调试信息
R2# *Mar 1 01:06:13.027: NAT*: s=192.168.1.1->100.1.23.100, d=8.8.8.8 [30] *Mar 1 01:06:13.083: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.1.1 [30] *Mar 1 01:06:13.119: NAT*: s=192.168.1.1->100.1.23.100, d=8.8.8.8 [31] *Mar 1 01:06:13.163: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.1.1 [31] *Mar 1 01:06:13.195: NAT*: s=192.168.1.1->100.1.23.100, d=8.8.8.8 [32] *Mar 1 01:06:13.223: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.1.1 [32] *Mar 1 01:06:13.255: NAT*: s=192.168.1.1->100.1.23.100, d=8.8.8.8 [33] *Mar 1 01:06:13.287: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.1.1 [33] *Mar 1 01:06:13.319: NAT*: s=192.168.1.1->100.1.23.100, d=8.8.8.8 [34] *Mar 1 01:06:13.351: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.1.1 [34] *Mar 1 01:06:15.131: NAT*: s=192.168.2.1->100.1.23.100, d=8.8.8.8 [35] *Mar 1 01:06:15.163: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.2.1 [35] *Mar 1 01:06:15.207: NAT*: s=192.168.2.1->100.1.23.100, d=8.8.8.8 [36] *Mar 1 01:06:15.255: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.2.1 [36] *Mar 1 01:06:15.303: NAT*: s=192.168.2.1->100.1.23.100, d=8.8.8.8 [37] *Mar 1 01:06:15.335: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.2.1 [37] *Mar 1 01:06:15.367: NAT*: s=192.168.2.1->100.1.23.100, d=8.8.8.8 [38] *Mar 1 01:06:15.399: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.2.1 [38] *Mar 1 01:06:15.427: NAT*: s=192.168.2.1->100.1.23.100, d=8.8.8.8 [39] *Mar 1 01:06:15.459: NAT*: s=8.8.8.8, d=100.1.23.100->192.168.2.1 [39]
查看R2上NAT转换表
R2#show ip nat translations Pro Inside global Inside local Outside local Outside global icmp 100.1.23.100:6 192.168.1.1:6 8.8.8.8:6 8.8.8.8:6 icmp 100.1.23.100:7 192.168.2.1:7 8.8.8.8:7 8.8.8.8:7
从上面可以看到,当采用端口复用技术时,多个内网地址被映射到同一个公网地址上,实现多对一映射。当有多个公网地址时,需要采用地址池方式进行地址复用,若公网地址只有一个例如出接口地址时,则只需调用出接口进行地址复用。
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-if)#exit R2(config)#int f1/0 R2(config-if)#ip nat outside R2(config-if)#exit
③执行端口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 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: Packet sent with a source address of 192.168.1.1 .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 60/77/124 ms R1#ping 8.8.8.8 source 192.168.2.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds: Packet sent with a source address of 192.168.2.1 .!!!! Success rate is 80 percent (4/5), round-trip min/avg/max = 60/69/76 ms
在R2上查看NAT转换表
R2#show ip nat translations Pro Inside global Inside local Outside local Outside global icmp 100.1.23.2:8 192.168.1.1:8 8.8.8.8:8 8.8.8.8:8 icmp 100.1.23.2:9 192.168.2.1:9 8.8.8.8:9 8.8.8.8:9
此时,多个内网地址被映射到同一个公网出口地址。通过以上实验可以看到,不管是采用地址池还是接口进行地址复用,都可以实现少对多甚至一对多的映射,这样的话,在公网地址不足的情况下便可以很好的节省地址资源,相比动态NAT来说,更适合一般企业的应用。此实验完成。
- 还没有人评论,欢迎说说您的想法!