若内网有一台服务器映射成为一个公网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