若内网有一台服务器映射成为一个公网IP地址,并且将该公网IP注册至一个域名中。此时内网用户通过直接输入域名访问该服务器,域名服务器将该服务器的地址解析为已经注册的公网IP地址。默认情况下,当内网用户通过公网地址来访问该服务器时,路由器将认为该流量为正常的穿越流量,因此将为该流量做正常的源地址转换;而在做源地址转换之前,由于检查到该公网IP与外网口在同一网段,因此在做源地址转换前需要预先发送ARP请求来解析该公网IP的MAC地址;但由于实际外网口网段中不存在一台配置为该IP的终端,ARP请求将始终得不到响应,因此源地址转换也将失败。最终,内网用户访问该服务器公网地址的现象为:路由器上无相关转换表项,只在出口发出ARP请求,并且内网用户得不到任何数据应答。此时就需要配置permit-inside功能。
当路由器上配置了permit-inside功能,如下:
ip nat inside source static tcp 192.168.1.254 23 10.0.0.1 23 permit-inside
此时,在内网192.168.1.2上telnet 10.0.0.1,在路由器上查看转换表项如下:
RSR50-40#sh ip nat tran
Pro Inside global Inside local Outside local Outside global
tcp 10.0.0.1:1046 192.168.1.2:1046 10.0.0.1:23 192.168.1.254:23
当配置了permit-inside功能后,路由器对相应数据包的源、目IP都进行了转换:
|
源IP地址 |
目的IP地址 |
转换前 |
192.168.1.2:1046 |
10.0.0.1:23 |
转换后 |
10.0.0.1:1046 |
192.168.1.254:23
|