ROS Dst-Nat 后内网不能通过公网IP访问内网服务器解决方法
通常企业内部会有很多服务器需要互联网用户访问,这时就需要做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.1destinationIP 172.16.0.101(dst-nat后)
3. soureIP 172.16.0.101 destinationIP1.1.1.1
4. soureIP 106.37.xxx.xxx destinationIP1.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 destinationIP172.16.3.100
在第三 步骤中, 因为服务器和访问的PC是在一个子网网络,因此服务器响应包直接响应给客户PC。 但是由于PC请求包的目的地址是106.37.xxx.xxx ,而响应包的确是 172.16.0.101,所以
PC会决绝掉响应。 因此造成不能访问的现象。
在防火墙添NAT链中加一条如下策略,即可解决问题:
添加之后内网的访问流程如下:
1. soureIP 172.16.3.100destinationIP 106.37.xxx.xxx
2. soureIP 172.16.254.2destinationIP 172.16.0.101
3. soureIP 172.16.0.101 destinationIP172.16.254.2
4. soureIP 106.37.xxx.xxx destinationIP172.16.3.100
问题解决。详情请参考:http://wiki.mikrotik.com/wiki/Hairpin_NAT
非常感谢,正在找这方面的资料。
页:
[1]