网上有很多关于ROS,怎么设置回流的文章。很多都用不了,无法实现回流的功能。所以自己动手,写一篇关于ROS回流的设置方法。算是自己2020年开年的一篇博文吧。
回流是什么?
所谓的回流,就是在内部环境里用外部环境的方式来访问指定的内部服务器。
为什么要回流?
通常企业内部会有很多服务器需要互联网用户访问,这时就需要做Dst-Nat. 但是我们配置完后会发现内网用户不能通过公网IP访问对应的服务器。其实这时我们再添加一条策略即可搞定.
举例说明:
内网服务器:192.168.0.100
路由器LAN口:192.168.0.1
公网IP:202.101.XXX.XXX
外网访问IP假设为 1.1.1.1 内网访问的PC 假设IP为192.168.0.11
配置NAT:
配置完后,外网可以正常访问了.但是内网通过公网IP不可访问.\
究其原因:
外网访问流程:
- soureIP 1.1.1.1 destinationIP 202.101.xxx.xxx
- soureIP 1.1.1.1 destinationIP 192.168.0.100(dst-nat后)
- soureIP 192.168.0.100 destinationIP 1.1.1.1
- soureIP 202.101.xxx.xxx destinationIP 1.1.1.1 (src-nat 后)
这时,第一步骤和第四步骤请求和响应一致,因此没有任何问题.
但是当内网通过公网IP访问内网服务器时:
- soureIP 192.168.0.11 destinationIP 202.101.xxx.xxx
- soureIP 192.168.0.11 destinationIP 192.168.0.100(dst-nat后)
- soureIP 192.168.0.100 destinationIP 192.168.0.11
在第三 步骤中, 因为服务器和访问的PC是在一个子网网络,因此服务器响应包直接响应给客户PC。
但是由于PC请求包的目的地址是 202.101.xxx.xxx ,而响应包确是 192.168.0.11,所以PC会回决绝掉响应。 因此造成不能访问的现象。
解决方案
在防火墙添NAT链中加一条如下策略,即可解决问题
添加之后内网的访问流程如下:
- soureIP 192.168.0.11 destinationIP 202.101.xxx.xxx
- soureIP 192.168.0.1 destinationIP 192.168.0.100
- soureIP 192.168.0.100 destinationIP 192.168.0.1
- soureIP 202.101.xxx.xxx destinationIP 192.168.0.11