ROS 内网回流设置,通过域名访问内网服务
网上有很多关于 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