通常企业内部会有很多服务器需要互联网用户访问,这时就需要做Dst-Nat. 但是我们配置完后会
发现内网用户不能通过公网IP访问对应的服务器。其实这时我们再添加一条策略即可搞定.
实例说明:
内网服务器:172.16.0.101
路由器LAN口: 172.16.254.2
公网IP: 106.37.xxx.xxx
外网访问IP假设为 1.1.1.1 内网访问的PC 假设IP为172.16.3.100
配置NAT:
配置完后,外网可以正常访问了.但是内网通过公网IP不可访问.
究其原因:
外网访问流程: 1. soureIP 1.1.1.1 destinationIP 106.37.xxx.xxx
2. soureIP 1.1.1.1 destinationIP 172.16.0.101(dst-nat后)
3. soureIP 172.16.0.101 destinationIP 1.1.1.1
4. soureIP 106.37.xxx.xxx destinationIP 1.1.1.1 (src-nat 后)
这时,第一步骤和第四步骤请求和响应一致,因此没有任何问题.
但是当内网通过公网IP访问内网服务器时:
1. soureIP 172.16.3.100 destinationIP 106.37.xxx.xxx
2. soureIP 172.16.3.100 destinationIP 172.16.0.101(dst-nat后)
3. soureIP 172.16.0.101 destinationIP 172.16.3.100
在第三 步骤中, 因为服务器和访问的PC是在一个子网网络,因此服务器响应包直接响应给客户PC。
但是由于PC请求包的目的地址是 106.37.xxx.xxx ,而响应包的确是 172.16.0.101,所以
PC会决绝掉响应。 因此造成不能访问的现象。
在防火墙添NAT链中加一条如下策略,即可解决问题:
添加之后内网的访问流程如下:
1. soureIP 172.16.3.100 destinationIP 106.37.xxx.xxx
2. soureIP 172.16.254.2 destinationIP 172.16.0.101
3. soureIP 172.16.0.101 destinationIP 172.16.254.2
4. soureIP 106.37.xxx.xxx destinationIP 172.16.3.100
问题解决。详情请参考: http://wiki.mikrotik.com/wiki/Hairpin_NAT
本文转自marbury 51CTO博客,原文链接:http://blog.51cto.com/magic3/1639383,如需转载请自行联系原作者