案例分析:内部无法使用映射的公网来访问内部服务器的原因

 

防火墙型号:网神 SecGate3600千兆防火墙

1、拓扑

案例分析:内部无法使用映射的公网来访问内部服务器的原因_第1张图片

 

 1 网络拓扑

2、网络功能描述

     1)网神防火墙工作在混合模式:下级单位和内部网络通信通过防火墙,防火墙采用透明模式传输模式;内部网络访问外网(Internet)防火墙采用路由模式。

     2)核心网络设备和防火墙之间的通信是通过管理IP进行路由传输。(即核心网络设备外网访问的下一为172.16.1.1)

     3)内部WEB服务器192.168.1.12,提供外部访问的域名为http://www.xxx.com  (IP:222.x.x.y)

3、客户要求

      内网用户通过域名或外网IP直接访问内部WEB服务器

4、原先防火墙配置

案例分析:内部无法使用映射的公网来访问内部服务器的原因_第2张图片

  

图 2 端口映射规则

 经过以上配置后,外网用户能通过域名和外网IP正常访问内部服务器。但是,内部用户无法通过域名和外网IP访问内部服务器。

 

 

 

 

 

 

 

 

分析:内网用户访问数据流走向

案例分析:内部无法使用映射的公网来访问内部服务器的原因_第3张图片

图 3 数据流走向

    经过网上查找关于这方面的资料和文件,两经过自己抓包分析,明确了数据流走向为:

    1)当用户在网址栏中输入 “http://www.xxx.com”时,首先通过DNS域名解析到对应的公网IP地址为222.x.x.y。

    2)用户数据流按照上图中的绿色箭头进行传输:内部主机—》网络传输设备—》核心网关设备—》网神防火墙。当数据到达网神防火墙后,根据上边端口映射规则,解析到内部服务器的IP地址为192.168.1.12。匹配规则之后数据在进行传输:网神防火墙—》核心网关设备—》内网交换设备—》服务器。

    3)因为原地址在防火墙上未进行转换,IP包中的原IP地址仍为192.168.1.13。服务器经过分析发现该地址和自己属于同一个网段,故服务器返回数据包的目的IP地址为192.168.1.13。根据IP报文传输的原则,数据包不在传给防火墙,数据包走向如蓝色箭头所示:服务器—》网络传输设备—》核心网关设备—》网络传输设备—》内部主机

    4)由于HTTP访问是建立在TCP协议基础之上的,经过上边的数据传输之后TCP连接无法建立。

 

 

 

解决方法

    经过分析内部用户在通过域名和外部IP地址进行访问的时候,必须进行IP地址转换(前提内部网段的网关不在防火墙上)。

 

尝试配置:

案例分析:内部无法使用映射的公网来访问内部服务器的原因_第4张图片

 

图 4 错误配置

经过以上尝试配置之后,内网用户仍然无法访问。

反复测试了几次,但是都没有成功。

 

 

 

 

 

 

    

 

  最后,向网神售后客服打了一个电话,进行了相关咨询,网神售后工程师进行了如下配置:

案例分析:内部无法使用映射的公网来访问内部服务器的原因_第5张图片

 

图 5 正确配置

     把最初配置的端口映射规则中的“源地址转换为”从‘不转换’改成网神防火墙的管理IP‘172.16.1.1’。改完之后,内外网都可以通过域名和外网IP进行WEB服务器访问。