华为防火墙nat内外互访(华为防火墙多出口NAT配置)

最近公司将外联区防火墙从已经服役了10年的Juniper Netscreen替换成了华为的USG系列。在这里不得不再佩服一下netscreen系列防火墙的稳定性,公司之前有好几套netscreen系列的墙,10年来只重启过两次并且没有出过任何问题,在当年一众防火墙产品里我认为是很无敌的很好用的存在。可惜被Juniper收购后现在已经成为了历史,在我们公司这也同样即将成为历史了。进入正题,这次实施防火墙替换的网络区域是外联区,即专门用于对接第三方合作伙伴的区域。由于我们是金融机构,对于与合作伙伴外联对接在金

最近,该公司将外联区的防火墙从已服役10年的Juniper Netscreen更换为华为的USG系列。在这里,不得不佩服网屏系列防火墙的稳定性。之前公司有几套netscreen系列防火墙,10年来只重启过两次,没有任何问题。那些年我以为是无敌好用的防火墙产品。不幸的是,它在被Juniper收购后已经成为历史,在我们公司也将很快成为历史。

让我们言归正传。这次实施防火墙更换的网络区域是外联区域,也就是专门对接第三方合作伙伴的区域。由于我们是金融机构,与金融行业合作伙伴连接的实践通常需要双向NAT,即一个访问请求的源地址和目的地址需要转换。我们的方法是将NAT功能放在防火墙上。毕竟,路由器等其他设备没有防火墙那么强的NAT能力。

在换成华为USG防火墙之前,并不完全清楚它的处理机制。毕竟每个厂商的处理机制都不一样。但还是要搞清楚NAT转发的过程,以便在以后的运维中快速排查故障。以下是查阅官网文件后的理解。

外联区域的网络拓扑首先解释了为什么金融机构通常需要为外联访问进行双向NAT。通常,专线用于两个机构之间的对接。例如,当我们发起访问对方的请求时,我们的源服务器IP地址将被用作源NAT,以将我们的服务器IP映射到另一个IP。目的是隐藏内部真实IP,从安全角度考虑。此外,另一台服务器的IP将在内部用作目的NAT。内部源服务器发起的请求是访问映射的IP,而不是对方的真实IP。主要目的是对方的IP网段可能与内部网段冲突。因此,在将外部地址引入内部网络之前,可以通过将此IP地址转换为内部规划的网段来避免这个问题。同时可以清楚的知道这个请求的目标地址在内部属于外网。

以下是外展区域的简化拓扑。我还将根据下面的模拟网络来解释整个请求和NAT处理过程。

NAT转换关系

华为USG系列NAT处理流程下图是来自华为官网手册的NAT处理流程。

1)当请求的流量进入USG防火墙的入口接口时,防火墙会查找目的NAT转换表,匹配请求的目的地址是否需要转换;

2)如果命中翻译条目,则翻译目的地址,未命中直接发送到下一个进程;

3)查找路由表,如果命中路由表条目,则发送给下一个进程,不匹配则丢弃路由表;

4)接下来,它将被发送到安全策略进行检查。如果检查到匹配安全策略的permit条目,则释放给下一个进程,否则丢弃该请求(安全策略需要配置流量流的初始源IP地址和最终目的IP地址);

5)匹配源NAT转换表,如果匹配到,则对源地址进行转换并创建会话表,否则不进行转换直接创建会话表;

6)流量从出口发出。

模拟转发流程根据以上华为USG系列防火墙的NAT处理流程,以及外部区域模拟环境的拓扑结构,我们来看看双向NAT后的整个转发流程。

我来列举一下华为USG防火墙的主要配置:

Ip路由-静态172 . 16 . 0 . 10 255 . 255 . 255 . 255 1.1.1.2描述ext _ route//根据处理流程,外部地址的路由需要写成真实IP IP路由-静态10 . 0 . 0 . 0 255 . 255 . 255 . 0 2.1.1.2描述int _ route//内部DMZ网段路由#//源-目的地转换可以写成NAT策略 NAT转换的地址池需要提前定义 NAT-policy 规则名称dmz _ ext _ 01 源区dmz 源地址地址-set 10.0.0.10/32 目的地址地址-set 192 . 168 . 200 . 10/32动作源-nat地址-组Pool_192.168.100.10[/h

整个请求和NAT转换过程如下:

内部服务器发起的请求

到达防火墙进行目的地NAT转换,匹配安全策略并查找路由表。

转换源NAT,并将流量发送给合作伙伴。

如果是反过来,对方向内部服务器发起请求。其实整个过程都是一样的,这里就不赘述了。

以上总结是外联区域组网和双向NAT接入的梳理。本文对华为设备NAT处理流程的描述和理解如有不准确之处,请指正。