
网络环境介绍:
公司内网有一台web服务器,地址是192.168.100.100,web服务端口为80,而且为这台web服务器申请了DNS A记录的域名解析服务,解析记录是公司出口ip地址100.100.100.100。在办公区网络环境里,还有内网192.168.10.0网段,须要经过申请的域名来访问公司内网的192.168.100.100的web服务。
作法是在防火墙的出口,作一条端口映射,100.100.100.100:80到192.168.100.100:80的端口映射。
问题来了,作好端口映射之后,其余外部网络经过域名访问公司的web服务是正常的,可是公司内网用户经过域名访问公司本身的web服务,却没法访问;而公司内网用户经过192.168.100.100:80私有地址访问,是正常的。这种状况,就是由于作好端口映射之后,访问web服务的流量在响应的时候流量没有回流到防火墙致使的。
缘由分析:
如上图,假如是192.168.10.10经过申请的域名访问192.168.100.100的web服务。这里假设访问的源端口是10000,目标端口是80,数据包分析以下:
C2主机发起web请求.由于经过域名访问的,DNS解析服务正常,那么访问目标就是100.100.100.100:80
192.168.10.10:10000--->100.100.100.100:80
数据包最终会被路由到防火墙上,防火墙检查访问的目的地址,匹配到它的端口映射策略,将目标地址改成对192.168.100.100的访问,创建起一个针对目标ip地址转换的NAT会话表
192.168.10.10:10000--->192.168.100.100:80
而后数据包到会被转发到192.168.100.100服务器上并会响应192.168.10.10主机的请求,将上述访问的源目ip地址及端口进行倒转,并将数据包交给它的网关处理,图中就是R1路由器
192.168.100.100:80--->192.168.10.10:10000
R1路由器检查访问者的源ip和目标ip地址,发现目标ip地址是192.168.10.10,是R1路由器一个可路由的内网ip地址,就会将数据包直接路由到C2主机上
C2主机接收到数据包,检查数据包的源ip和端口是192.168.100.100:80,发现其自己并无这样一个http会话与之相匹配,就是说C2主机并无主动发起对192.168.100.100:80的访问,发起的是对100.100.100.100:80的访问,那么C2主机就会丢弃这个数据包,致使内网用户经过域名或者公网ip地址访问本身的内网服务器不通的现象。
192.168.100.100:80--->192.168.10.10:10000
解决方法的思路:内网主机在访问的时候,将web服务的响应流量回流到防火墙上来,接受防火墙的处理。就是说,在流量通过防火墙的时候,将源地址作一个修改,使得R1路由器在路由数据包的时候,还把这个数据包路由到防火墙上来,而不是在内网直接路由;防火墙上有记录它所作的相应修改(作源地址转换,并维护这个NAT会话表便可),再把以前的修改给改回来,再转发给内网主机便可。
内网主机对经过公网对内网服务器访问的时候,流量在通过防火墙时,将内网主机的ip地址修改成一个外网ip地址(源NAT转换),并作好及维护相应的NAT会话的记录,这样服务器在接收到数据包以后,发现源ip地址是一个外网ip地址,这样数据流量会回流到防火墙,防火墙检查相应的源NAT转换策略,发现能够匹配,则进行源NAT的还原,并经数据包路由到内网的主机中。
nat address-group hairpin 0 ----创建一个NAT地址组
mode pat -----模式 PAT(接口转换)
section 0 1.1.1.1 1.1.1.1 ----(本例只包含一个地址:1.1.1.1,此地址为虚拟地址,没必要真实存在,不与内网冲突便可)html
nat-policy ---NAT策略视图
rule name wchairpin ---新建一个NAT条目
source-zone trust ---匹配源安全域为TRUST
destination-zone trust ----目的安全域也为TRUST
source-address 10.236.46.0 0.0.0.255 ----匹配须要NAT的源地址
destination-address 10.236.46.5 0.0.0.0 -----匹配访问的目的地址
destination-address 10.236.46.9 0.0.0.0
destination-address 10.236.46.10 0.0.0.0
action nat address-group hairpin ----启用改条策略,并制定NAT转换地址为hairpin地址组web
至此,内网已能够正常访问公网映射的服务器。安全
原文出处:https://www.cnblogs.com/Yu-Qing/p/11984297.html服务器