e21e1 发表于 2015-4-28 08:30:39

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         


jole 发表于 2019-5-30 17:53:51

非常感谢,正在找这方面的资料。
页: [1]
查看完整版本: ROS Dst-Nat 后内网不能通过公网IP访问内网服务器解决方法