华为防火墙之“域内NAT”

相信刚接触华为USG防火墙的时候,如果你创建了服务器映射以及开放了安全策略,但是在测试业务的时候会经常出现外网访问公网地址没问题,但是内网访问公网地址却不通的情况,而对于这个现象百思不得解。而当你咨询专业的工程师的时候,他们只会跟你说要配置“域内NAT”而不会跟你解释啥原因。那为什么会出现这个现象呢?接下来由我给您慢慢道来。
什么是服务器映射?服务器映射就是将位于局域网的服务器主机通过NAT-SERVER功能将内网IP地址(如:192.168.100.10)转变成公网IP的功能。这个行为一般出现在互联网用户通过映射的公网地址访问内部服务器的过程。
如图:

通过服务器映射,互联网用户(2.2.2.2)可以通过访问1.1.1.1转换后访问到内网的服务器。但是假如内网用户通过1.1.1.1地址去访问服务器呢?结果如下图:

由上图可以看出第一步的数据流是[192.168.1.100:54321--->1.1.1.1:80],此时内网主机PC 192.168.1.100向1.1.1.1的80端口发起访问,但是到了第三步的时候,数据流却变成了[192.168.8.100:80--->192.168.1.100:54321],此时由于在我们的内网主机PC系统中是找不到该会话存在的,因此PC的网卡会将该报文丢弃,此时就造成了访问不通的现象。那怎么来解决这个问题呢?

其中一个办法就是将我们的服务器挪到单独一个区域,如DMZ区域,流量经过防火墙匹配到会话后将源地址转化为服务器的公网地址,此时响应报文返回内网主机的时候就是跟请求报文的源目地址保持一致[源目地址相反]。如图:

不过此办法需要改动拓扑,对于一些网络架构无法更改的,可以采用一下办法---域内NAT
另外一个办法就是使用域内NAT的方式:只需要将内网主机PC访问内网服务器的时候将源地址转换为防火墙的出口IP[或者地址池]就可以实现,如图:

通过SNAT(源地址转换)将源地址转化为防火墙的内外接口IP[10.1.1.1]后,服务器的响应报文就可以正常被终端接受了。

在USG上面的配置也是相当的简单:
第一步:配置源NAT【策略】--【NAT策略】---【NAT策略】
源安全区域:PC端所在安全区域【案例使用trsut】
目的安全区域:服务器所在安全区域【案例使用trsut】
源地址跟目的地址根据精度填写内网主机与服务器的真实内网地址
转换后的数据:出接口地址

如图示:

第二步:配置安全策略
源安全区域:PC端所在安全区域【案例使用trsut】
目的安全区域:服务器所在安全区域【案例使用trsut】
源地址填写PC的真实内网地址
目的地址填写服务器的真实内网地址而非映射后的公网地址
动作:允许

如图示:

本文由 沃兹基硕德 原创发布于华为企业互动社区,未经作者许可,禁止转载。
THE END
分享
二维码
< <上一篇
下一篇>>