H3C企业路由器端口映射NAT回流问题处理
                    目录
                    
                
                
            H3C企业路由器端口映射NAT回流问题处理
最近公司搬到新办公室了,换了H3C的MSR系列企业路由器,通过WEB页面配置好WAN口以及nat端口映射后,从外部公网可以正常访问该端口映射,但是从内网主机访问WAN口公网IP的端口时却不能正常访问。百思不得其解…后面通过抓包和查阅资料才发现是因为NAT回流导致的。
NAT回流的原因是:
- 
内网主机A访问WAN口IP和端口,通过端口映射去请求内网服务器B时,会先把流量送到网关设备的WAN口 - 
网关设备的WAN口会配置
NAT SERVER,这个时候它收到该数据包时通过查询NAT端口映射表,就会修改报文中的目的地址和目的端口(内网服务器B的IP和端口), 但是不会对源地址进行修改。- 之所以不修改源地址,是因为从外部公网访问时,需要知道返程IP,访问端才能正常收到从网关设备返回的报文。
 
 - 
这时报文被发送到
内网服务器B ,并且源地址IP是内网主机A - 
因为
源地址没有修改,还是内网主机A的IP,这时内网服务器B回复数据报文时,目的地址和源地址对调,数据报文就会直接通过内网交换机转发给内网主机A - 
内网主机A收到回复报文,就会发现报文中的源地址IP与自己请求出去时的目的地址IP不一致,就会丢弃报文,最终就访问失败 
怎么解决NAT回流的问题:
通过查阅资料发现H3C V7版本的路由器支持NAT hairpin功能,在网关设备的内网侧接口上启用NAT hairpin , 就可以实现内网主机通过公网地址和端口来访问内网的其他服务器或主机了。
具体配置如下:
 | 
 | 
配置完之后,再抓包就会发现,从网关设备发送给内网服务器B的数据包中的源地址IP已经被替换成WAN口IP地址
- 因为隐私的问题,定位和配置回流后抓包截图没有放上来。大家感兴趣可以自行抓包查看。
 
这里就忍不住要吐槽一下H3C这个Web界面做的真差,在配置时有一些配置并不会写到后台配置中,还需要去后台命令行再手动配置。之前配置VPN的时候就也遇到类似的问题