双剑合璧,无往不利——双向NAT
经过前面几篇帖子的介绍,相信大家已经对源NAT和NAT Server有了相当了解。NAT功能就像一个武林高手,可内可外,游刃有余,那么这“一内一外”能否配合使用呢?答案当然是肯定的!
如果需要同时改变报文的源地址和目的地址,就可以配置“源NAT+NAT rver”,华为防火墙称此类NAT配置为双向NAT。这里要注意:双向NAT不是一个单独的功能,他仅仅是源NAT和NAT Server的组合。这里“组合”的含义是针对同一条流(例如外网主机访问内网服务器的流量),在其经过防火墙时同时转换报文的源地址和目的地址。大家千万不能理解为“防火墙上同时配置了源NAT和NAT Server就是双向NAT”,这是不对的,因为源NAT和NAT Server可能是为不同流配置的。
之前介绍源NAT功能时,强叔为了更利于大家理解相关概念和原理,都是按照内网用户访问外网资源的思路进行组网设计和验证的。实际上,源NAT还可以根据报文的源地址和目的地址所在安全区域进行分类:
域间NAT
报文的源地址和目的地址属于不同的安全区域。按照转换报文的方向,又可以分为以下两类:5. NAT Inbound(外网访问内网)
报文由低安全级别的安全区域向高安全级别的安全区域方向传输时,基于源地址进行的转换。一般来说,NAT Inbound都会和NAT Server配合使用。
6. NAT Outbound(内网访问外网)
报文由高安全级别的安全区域向低安全级别的安全区域方向传输时,基于源地址进行的转换。之前介绍的“内网用户访问外网资源”场景大多使用NAT Outbound。
域内NAT(内网访问内网)
报文的源地址和目的地址属于相同的安全区域。一般来说,域内NAT都会和NAT Server配合使用,单独配置域内NAT的情况较少见。
当域间NAT或域内NAT和NAT Server一起配合使用时,就实现了双向NAT。当然,上述
内容的一个大前提就是:合理设置安全区域的级别并规划网络——内网设备属于Trust域(高级别),内网服务器属于DMZ域(中级别),外网设备属于Untrust域(低级别)。
双向NAT从技术和实现原理上讲并无特别之处,但是他和应用场景有着强相关性。究竟什么时候需要配置双向NAT?配置后有什么好处?不配置双向NAT行不行?这都是实际规划和部署网络时需要思考的问题,且听强叔一一道来。
NAT Inbound+NAT Server
下图示意了一个最常见的场景:外网PC访问内网服务器,防火墙做服务器的网关。这个时候我们一般会用到的NAT技术是…(画外音:“强叔,我知道,是NAT Server!这个场景不就是NAT Server的典型场景吗?”)没错,大家果然认真看了强叔之前的帖子!但是强叔下面要讲的是如何在这个场景中应用双向NAT,以及这么做的好处,大家接着看吧。
rver以公网IP对外提供服务,防火墙上配置NAT Server,这个大家肯定没有疑问。同时,防火墙上配置NAT Inbound,令PC以私网IP访问rver,这个大家可能有疑问,别着急,我们先来看看具体配置。
例1 配置NAT Inbound+NAT Server
#
nat address-group 1 10.1.1.20 10.1.1.25 //地址池中的IP为私网IP ,且和rver的私网IP同网段nat rver 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的配置和以前见过的不一样:以前
地址池中配置的都是公网地址,而这次配置的却是私网地址。