电子说
这里讲了一个很多防火墙发布涉及的回流的老问题:
使用防火墙发布了内网服务器供外部访问,外网可以正常通过防火墙外网接口IP访问,但是内网无法通过外网接口来访问。
一、应用场景
某公司客户内网有一台服务器192.168.50.50的80端口要映射到222.222.222.100的80端口,要求内网的用户192.168.50.40也可以通过222.222.222.100:80进行访问,AF的LAN口地址是192.168.50.1。
二、原理分析
1.如果我们只做目的地址转换(服务器映射),终端通过公网地址访问内网服务器的流程:
第一步:内网终端发包的【源地址是192.168.50.40 目的222.222.222.100】
第二步:数据包经过AF只做了目的地址转换,经过AF之后的数据包【源192.168.50.40 目的192.168.50.50】
第三步:服务器收到客户端请求回包【源192.168.50.50 目的192.168.50.40】
第四步:客户端收到服务器回包【源192.168.50.50 目的192.168.50.40】,客户端收到的响应包与请求包的源目IP不对应,于是丢弃该数据包。
综上所述,如果只配置目的地址转换,所以内网主机要通过公网出口地址访问内网服务器是无法访问的。
2.配置双向地址转换后,终端通过公网地址访问内网服务器的流程:
第一步:内网终端发包的【源地址是192.168.50.40 目的222.222.222.100】
第二步:数据包经过AF同时做了源地址和目的地址转换,经过AF之后的数据包【源192.168.50.1 目的192.168.50.50】
第三步:服务器收到AF转发过来的客户端请求回包【源192.168.50.1 目的192.168.50.50】
第四步:AF收到服务器回包【源192.168.50.50 目的192.168.50.1】,AF转发再给客户端数据包【源222.222.222.100 目的192.168.50.40】
第五步:客户端收到AF转发过来的回包【源222.222.222.100 目的192.168.50.40】,请求包与响应包源目地址一致,客户端正常处理该数据包
三、配置指导
第一步:先配置一条目的地址转换,实现公网主机通过公网地址访问到内网服务器
第二步:再添加一条双向地址转换,实现内网主机通过公网地址访问内网服务器
最终效果:公网主机访问时会直接匹配目的地址转换策略【外网访问】,内网主机访问时会匹配双向地址转换策略【内网访问】
四、总结
如果只配置目的地址转换,内网主机通过AF公网地址访问内网服务器,客户端发出的请求包和收到的回包源目的地址不一致,所以无法正常访问
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !