视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
华为双向NAT
2025-10-02 13:55:29 责编:小OO
文档
经过前面几篇贴子的介绍,相信大家已经对源NAT和NAT Server有了相当了解。NAT功能就像一个武林高手,可内可外,游刃有余,那么这“一内一外”能否配合使用呢?答案当然是肯定的!

如果需要同时改变报文的源地址和目的地址,就可以配置“源NAT+NAT server”,华为防火墙称此类NAT配置为双向NAT。这里要注意:双向NAT不是一个单独的功能,他仅仅是源NAT和NAT Server的组合。这里“组合”的含义是针对同一条流(例如主机访问内网服务器的流量),在其经过防火墙时同时转换报文的源地址和目的地址。大家千万不能理解为“防火墙上同时配置了源NAT和NAT Server就是双向NAT”,这是不对的,因为源NAT和NAT Server可能是为不同流配置的。

之前介绍源NAT功能时,强叔为了更利于大家理解相关概念和原理,都是按照内网用户访问资源的思路进行组网设计和验证的。实际上,源NAT还可以根据报文的源地址和目的地址所在安全区域进行分类:

1、域间NAT

报文的源地址和目的地址属于不同的安全区域。按照转换报文的方向,又可以分为以下两类:

(1)NAT Inbound(访问内网)

报文由低安全级别的安全区域向高安全级别的安全区域方向传输时,基于源地址进行的转换。一般来说,NAT Inbound都会和NAT Server配合使用。

(2)NAT Outbound(内网访问)

报文由高安全级别的安全区域向低安全级别的安全区域方向传输时,基于源地址进行的转换。之前介绍的“内网用户访问资源”场景大多使用NAT Outbound。

2、域内NAT(内网访问内网)

报文的源地址和目的地址属于相同的安全区域。一般来说,域内NAT都会和NAT Server配合使用,单独配置域内NAT的情况较少见。

当域间NAT或域内NAT和NAT Server一起配合使用时,就实现了双向NAT。当然,上述内容的一个大前提就是:合理设置安全区域的级别并规划网络——内网设备属于Trust域(高级别),内网服务器属于DMZ域(中级别),设备属于Untrust域(低级别)。

双向NAT从技术和实现原理上讲并无特别之处,但是他和应用场景有着强相关性。究竟什么时候需要配置双向NAT?配置后有什么好处?不配置双向NAT行不行?这都是实际规划和部署网络时需要思考的问题,且听强叔一一道来。

1、NAT Inbound+NAT Server

下图示意了一个最常见的场景:PC访问内网服务器,防火墙做服务器的网关。这个时候我们一般会用到的NAT技术是…(画外音:“强叔,我知道,是NAT Server!这个场景不就是NAT Server的典型场景吗?”)没错,大家果然认真看了强叔之前的贴子!但是强叔下面要讲的是如何在这个场景中应用双向NAT,以及这么做的好处,大家接着看吧。

server以公网IP对外提供服务,防火墙上配置NAT Server,这个大家肯定没有疑问。同时,防火墙上配置NAT Inbound,令PC以私网IP访问server,这个大家可能有疑问,别着急,我们先来看看具体配置。

例1 配置NAT Inbound+NAT Server

#

 nat address-group 1 10.1.1.20 10.1.1.25  //地址池中的IP为私网IP ,且和server的私网IP同网段

 nat server 0 global 210.1.1.15 inside 10.1.1.3

#

nat-policy interzone dmz untrust inbound

 policy 1

  action source-nat

  policy destination 10.1.1.3 0  //由于防火墙先做NAT Server转换,再做源NAT转换,所以此处的目的IP是NAT Server转换后的IP

  address-group 1

这里NAT Server的配置和以前见过的类似,但是源NAT的配置和以前见过的不一样:以前地址池中配置的都是公网地址,而这次配置的却是私网地址。

我们通过下图再来看一下报文的地址转换过程:PC访问server的流量经过防火墙时,目的地址(server的公网地址)通过NAT Server转换为私网地址,源地址(PC的公网地址)通过NAT Inbound也转换为私网地址,且和server的私网地址同网段,这样就同时转换了报文的源地址和目的地址,即完成了双向NAT转换。当server的回应报文经过防火墙时,再次做双向NAT转换,报文的源地址和目的地址均转换为公网地址。

从PC上ping server,通过防火墙上的会话表和Server-map表可以更清楚的看到双向NAT转换:PC的地址通过NAT Inbound转换为私网地址,而server的地址也按照NAT Server的Server-map表转换为私网地址。

好了,我们回过头来看为什么要配置NAT Inbound吧。如果不配置NAT Inbound,行不行?行!不配置NAT Inbound并不影响PC访问server。那配置NAT Inbound有什么好处?好处就是server上可以不用设置网关,当然,前提条件是地址池中的地址需要和server的私网地址同网段。当server回应PC时,server发现自己的地址和目的地址在同一网段,这时server就不会去查路由,而是发送ARP广播报文询问目的地址对应的MAC地址。由于目的地址是地址池中的地址,所以他没有对应的MAC地址,但是防火墙此时挺身而出,防火墙将自己与server直连接口的MAC地址发给server,告诉server“把回应报文给我吧”,所以回应报文将转发到防火墙上。由于server回应报文是通过二层转发,而不是三层转发,所以server上不用配置网关。也许有人说“配置网关还是挺方便的,不用配置NAT Inbound这么麻烦吧”如果只有一台服务器时,的确感受不到有什么好处,但是如果有几十台甚至上百台服务器需要配置或修改网关时,我们就会发现配置NAT Inbound是多么方便了。

如果对之前的组网做一点改变,增加一个Trust区域,该域内的PC2要访问server时,我们该如何配置双向NAT呢?和之前相比,报文的源地址所在安全域发生了变化,原来是Untrust域到DMZ域的报文(Inbound方向),现在变成了Trust域到DMZ域的报文(Outbound方向),所以双向NAT也变化为NAT Outbound+NAT Server,它的转换原理和NAT Inbound+NAT Server完全一样,只不过源NAT的转换方向发生了改变而已。

 

2、域内NAT+NAT Server

域内NAT的场景多见于小型网络,如下图中的PC和server通过交换机与防火墙相连,管理员在规划网络时“偷懒”,将PC和server置于同一安全区域,并分配相同网段地址。

此时,如果希望PC像用户一样通过公网地址访问server,就要在防火墙上配置NAT Server。到此就配置完了吗?我们通过下图来看看吧:如果只配置了NAT Server,报文到达防火墙后转换目的地址,server回应报文时发现自己的地址和目的地址在同一网段,这就和之前分析的组网是同样情况了——server通过二层转发报文,回应报文经交换机直接转发到PC,不会经过防火墙转发!

所以,如果希望提高内网的安全性,让回应报文也经过防火墙,就需要配置域内NAT。下面列出了关键的配置步骤。地址池中的地址可以是公网地址,也可以是私网地址,关键是不能和server的私网地址在同一网段。域内NAT的配置和域间NAT几乎完全一样,只不过前者应用在域内做NAT转换,后者应用在域间做NAT转换。

例2 配置域内NAT+NAT Server

#

 nat address-group 1 210.1.1.20 210.1.1.20

 nat server 0 global 210.1.1.15 inside 10.1.1.3

#

nat-policy zone trust  //注意是域内NAT

 policy 1

  action source-nat

  policy destination 10.1.1.3 0  //此处的目的IP是NAT Server转换后的IP

  address-group 1

从PC上ping server,通过防火墙上的会话表和Server-map表可以看到:PC的地址通过域内NAT转换为公网地址,server的地址按照NAT Server的Server-map表转换为私网地址。双向NAT转换后,server回复报文时发现自己的地址和目的地址不在同一网段,此时就需要查路由,通过三层转发报文,所以回应报文需经过防火墙转发。

如果在上面组网的基础上做一个变化,将PC和server分开,通过不同的接口和防火墙相连,此时应该如何配置双向NAT呢?在这个组网中所有报文都需要经过防火墙转发,只配置NAT Server是可以的。如果要配置双向NAT,那么就是域内NAT+NAT Server,具体配置方法和上面是类似的,此处就不再介绍了。

其实双向NAT的原理和配置并不复杂,关键是要想明白NAT转换的方向和转换后地址的作用,而不要纠结于转换后是公网地址还是私网地址。双向NAT并不是必配的功能,有时只配置源NAT或NAT Server就可以达到同样的效果,但是灵活应用双向NAT可以起到简化网络配置、方便网络管理的作用,也就达到了一加一大于二的效果!

 

强叔提问:

对于域内NAT,是否需要配置安全策略?如果不配置,且关闭缺省包过滤,PC能否成功访问server?下载本文

显示全文
专题