首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

华为防火墙之NAT

1.源NAT

源NAT技术对IP报文的源地址进行转换,,使大量私网用户可以利用少量公网IP地址访问Internet,大大减少了对公网IP地址的消耗。

源NAT转换的过程如下图所示,当私网用户访问Internet的报文到达防火墙时,防火墙将报文的源IP地址由私网地址转换为公网地址;当回程报文返回至防火墙时,防火墙再将报文的目的地址由公网IP地转换为私网地址。整个NAT转换过程对于内部网络中的用户和Internet上的主机来说是完全透明的。

NAT地址池是一个虚拟的概念,它形象地把“公网IP地址的集合”比喻成一个“放IP地址的池子或容器”,防火墙在进行地址转换时就是从NAT地址池中挑选出一个公网IP地址,然后对私网IP地址进行转换。挑选哪个公网IP地址是随机的,和配置时的顺序、IP地址大小等因素都没有关系

配置NAT地址池的命令如下:

NAT地址池配置完成后,会被NAT策略所引用。NAT策略与安全策略相似,也是由条件和动作组成。不同的是,NAT策略中的动作是“源NAT转换”和“不进行NAT转换”,当动作是“源NAT转换”时必须引用NAT地址池,如下图所示:

多条NAT策略之间存在匹配顺序,如果报文命中了某一条NAT策略,就会按照该NAT策略中引用的地址池来进行地址转换;如果报文没有命中某条NAT策略,则会向下继续查找。

NAT No-PAT

“”表示,所以,故也称为“”。

下面以图4-3所示的组网环境为例介绍No-PAT方式的配置过程,假设防火墙和Web服务器之间路由可达。

NAT No-PAT方式的配置过程如下:

配置NAT地址池

配置NAT策略

配置安全策略

安全策略的作用是控制报文能否通过防火墙;

NAT策略的作用是对报文进行地址转换;

配置NAT的时候也需要配置安全策略允许报文通过。由于,所以。

配置黑洞路由

黑洞路由是一个让报文“有去无回”的路由,它的效果就是让防火墙丢弃命中黑洞路由的报文。为了避免产生路由环路,在防火墙上必须针对地址池中的公网IP地址配置黑洞路由。

NAT No-PAT方式会生成Server-map表,而且生成了正向和反向两条表项。

NAPT

NAPT(Network Address and Port Translation)表示网络地址和端口转换,即,也可称为PAT(PAT不是只转换端口的意思,而是IP地址和端口同时转换)。一种应用,可以。

NAPT方式和NATNo-PAT方式在配置上的区别仅在于:NAPT方式的NAT策略在引用NAT 地址池时,,其他的配置都是一样的。

出接口地址方式

出接口地址方式(Easy-IP) 指的是利用出接口的公网IP地址作为NAT转换后的地址,也同时,。

出接口地址方式(Easy-IP)在公网IP是动态变化的情况下使用。

Easy-IP方式无需配置NAT地址池,也不用配置黑洞路由,只需在NAT策略中指定出接口即可,下面以图4-4所示的组网环境为例介绍Easy-IP方式的配置过程。

(1)配置NAT策略

(2)配置安全策略

和NAPT一样,Easy-IP方式也不会生成Server-map表。

Smart NAT

Smart NAT方式也叫作“聪明的NAT”,这是因为它融合了NAT No-PAT方式和NAPT方式的特点。

假设SmartNAT方式使用的地址池中包含N个IP,其中一个IP被指定为预留地址,另外N-1个地址构成地址段1(sectionl)。进行NAT地址转换时,Smart NAT会先使用section1进行NAT No-PAT方式的转换,即一对一的地址转换。当section1中的IP都被占用后,SmartNAT才使用预留地址进行NAPT方式的转换,即多对一的地址转换。

上图组网环境,Smart NAT方式的配置过程如下:

(1)配置NAT地址池

(2)配置NAT策略

(3)配置安全策略

(4)配置黑洞路由

三元组 NAT

为了解决P2P业务和NAT共存的问题,需要用到一种新的地址转换方式:三元组 NAT

三元组 NAT在进行转换时,仅和源IP地址、源端口和协议类型这3个元素有关,这也正是“三元组”NAT名字的由来。

三元组 NAT的两个特点:

对外呈现端口一致性

支持外网主动访问

目前华为USG9500系列防火墙V300R001版本支持三元组NAT方式,对于USG2000/5000/6000系列防火墙来说,可以通过配置User-defined协议的ASPF来保证P2P业务的正常运行。下面结合下图所示的组网环境,给出三元组NAT的配置过程,三元组NAT不能配置黑洞路由,否则会影响业务。

(1)配置NAT地址池

(2)配置NAT策略

(3)配置安全策略

多出口场景下的源NAT

某企业在内部网络的出口处部署了防火墙作为出口网关,通过ISP1和ISP2两条链路连接到Internet,企业内部网络中的PC有访问Internet的需求,如下图;

选路的方式有多种,比如配置两条缺省路由(等价路由)或者配置明细路由,根据报文的目的地址进行选路;比如配置策略路由,根据报文的源地址进行选路。这里主要介绍NAT功能。

无论使用哪种选路方式,结果无非就是两种:报文走ISP1的链路出去,或者走ISP2的链路出去。不管是走哪条链路,只要在报文发出去之前把报文中私网地址转换成相应的公网地址,源NAT的作用就完成了。

通常情况,我们把防火墙与ISP1和ISP2相连的两个接口分别加入到不同的安全区域,然后基于内部网络所在安全区域(通常是Trust区域)与这两个接口所在安全区域之间配置源NAT策略,如下图所示:

假设ISP1分配的公网地址是1.1.1.10~1.1.1.12,ISP2分配的公网地址是2.2.2.10~2.2.2.12,NAPT方式的源NAT配置如下:

(1)将接口分别加入到不同的安全区域

(2)配置两个NAT地址池

(3)基于不同的域间关系配置两条NAT策略

(4)基于不同的域间关系配置两条安全策略

(5)配置黑洞路由

华为防火墙源NAT技术对比

2.NAT Server

NAT Server(服务器映射)基本原理

针对服务器的地址转换——NAT Server(服务器映射),服务器对公网用户提供服务时使用;

参照上图,NAT Server的配置过程如下:

(1)配置NAT Server

将服务器的私网地址10.1.1.2映射成公网地址1.1.1.1

如果服务器同时存在多种协议和端口的服务项,按上述配置会将服务器上所有服务项都发布到公网上,这样会带来安全风险。我们可以只将服务器上特定的服务项对公网发布,从而避免服务项全发布带来的风险。

例如,将服务器上80端口的服务项映射为9980端口供公网用户访问,配置如下:

(2)配置安全策略

NAT Server场景下,为了让公网用户能够访问私网服务器,;

(3)配置黑洞路由

NAT Server也需要配置黑洞路由,避免路由环路

多出口场景下的NAT Server

上图,防火墙作为出口网关,双出口、双ISP接入公网,NAT Server的配置通常需要一分为二,让一个私网服务器向两个ISP发布两个不同的公网地址供公网用户访问。一分为二的方法有两种。

方法一:将接入不同ISP的公网接口规划在不同的安全区域中,配置NAT Server时,带上zone参数,使同一个服务器向不同安全区域发布不同的公网地址,如下图所示:

假设私网服务器对ISP1发布的公网地址是1.1.1.20,对ISP2发布的公网地址是2.2.2.20,配置过程如下:

(1)将接口分别加入到不同的安全区域

(2)配置带有zone参数的NAT Server

(3)基于不同的域间关系配置两条安全策略

(4)配置黑洞路由

方法二:如果防火墙与ISP1和ISP2相连的两个接口在同一个安全区域内且无法调整,则通过配置NAT Server时带上no-reverse参数,使同一个服务器向外发布两个不同的公网地址,如下图所示:

上图中其他配置与方法一相同,不同的是配置带有no-reverse参数的NAT Server,配置如下:

配置源进源出

如下图,如果防火墙只配置了缺省路由,用户通过ISP1通过GE1/0/2接口访问内部服务器,返回的数据有可能通过ISP2链路的GE1/0/3接口发出,数据就无法返回给用户,访问中断,避免此种情况出现就需要在防火墙上配置源进源出,即请求报文从某条路径进入,响应报文依然沿着同样的路径返回,而不用查找路由表来确定出接口,保证了报文从同一个接口进出;

源进源出功能在接口上配置,防火墙连接ISP1和ISP2的两个接口上都需要配置。

假设ISP1提供的下一条地址是1.1.1.254,在接口GE1/0/2上开启源进源回功能的配置命令如下:

USG9500系列防火墙源进源出命令

USG2000/5000系列防火墙源进源出命令

USG6000系列防火墙源进源出命令

3.双向NAT

源NAT+NAT Server技术被称为双向NAT;双向NAT不是一个单独的功能,而是源NAT和NAT Server的组合,是针对(例如公网用户访问私网服务器的报文),在其经过防火墙时同时转换报文的源地址和目的地址。

源NAT根据报文在防火墙上的流动方向分为:和;

域间NAT:报文在两个不同的安全区域之间流动时对报文进行NAT转换,根据流动方向的不同,分为以下两类:

NAT Inbound:报文由向流动时,对报文进行的转换。一般来说,这种情况是公网用户访问内部网络,不太常见。

NAT Outbound:报文由向流动时,对报文进行的转换。私网用户访问 Internet的场景使用的都是NAT Outbound。

域内NAT:报文在时对报文进行NAT转换,一般来说,域内NAT都会和NAT Server配合使用,单独配置域内NAT的情况较少见。

当域间NAT或域内NAT和NAT Server一起配合使用时,就实现了双向NAT。

双向NAT还要合理的设置安全区域的安全级别并规划网络——。

NAT Inbound + NAT Server

上图,公网用户访问私网服务器,安全策略和黑洞路由的配置与前面介绍过的内容没有区别,这里不写配置了,NAT Server和源NAT的配置如下:

通过下图来看一下报文的转换过程:公网用户访问私网服务器的报文到达防火墙时,目的地址(私网服务器的公网地址)经过NAT Server转换为私网地址,然后源地址经过NAT Inbound也转换为私网地址,且和私网服务器属于同一网段。这样报文的源地址和目的地址就同时进行了转换,即完成了双向NAT。当私网服务器的回应报文经过防火墙时,再次进行双向NAT转换,报文的源地址和目的地址均转换为公网地址。

配置NAT Inbound的好处是:NAT地址池中的地址配置成和私网服务器在同一网段,当私网服务器回应公网用户的访问请求时,发现自己的地址和目的地址在同一网段,此时私网服务器就不会去查找路由,而是发送ARP广播报文询问目的地址对应的MAC地址。防火墙会及时将连接私网服务器的接口的MAC地址发给私网服务器,告诉私网服务器:“把回应报文发送给我吧”,所以私网服务器将回应报文发送至防火墙,防火墙再对其进行后续处理。。

在这个场景中应用双向NAT时还有一个前提条件,那就是私网服务器与防火墙必须在同一个网段,否则就不能应用这个功能了。

域内NAT + NAT Server

域内NAT+NAT Server的场景多见于小型网络,如下图所示,管理员在规划网络时“偷懒”,将私网用户和私网服务器规划到同一个网络中,并将二者置于同一个安全区域。

此时,如果希望私网用户像公网用户一样,通过公网IP地址1.1.1.1访问私网服务器,就要在防火墙上配置NAT Server。但是仅仅配置NAT Server会有问题,如下图所示,私网用户访问私网服务器的报文到达防火墙后进行目的地址转换(1.1.1.1->10.1.1.2),私网服务器回应报文时发现目的地址和自己的地址在同一网段,回应报文经交换机直接转发到私网用户,不会经过防火墙转发。

如果希望提高内部网络的安全性,使私网服务器的回应报文也经过防火墙处理,就需要配置域内NAT,将私网用户访问私网服务器的报文的源地址进行转换。转换后源地址可以是公网地址也可以是私网地址,只要不和私网服务器的地址在同一网段即可,这样私网服务器的回应报文就会被发送到防火墙。

黑洞路由的配置与前面介绍过的内容没有区别,这里就不给出具体配置了。下面是NAT Server和域内NAT的配置;

报文的转换过程如下图所示;

如果在这个组网环境的基础上做一个变化,将私网用户和私网服务器通过不同的接口连接到防火墙,此时私网用户和私网服务器交互的所有报文都需要经过防火墙转发,所以只配置NAT Server是可以的。

4.NAT ALG

NAT ALG(Application Level Gateway),即NAT的应用层网关。NAT ALG是一种穿越NAT设备的技术,防火墙在进行地址转换时,除了转换报文头中的IP地址信息,还转换报文载荷中携带的IP地址信息。下图展示了在防火墙上开启NAT ALG功能后,FTP协议的交互过程。

开启NATALG功能后,防火墙将PORT命令报文中携带的IP地址信息转换成了公网地址1.1.1.1,FTP服务器收到该报文后,就可以向1.1.1.1这个地址发起数据连接了。

此时,还需开启防火墙的ASPF功能,防火墙会为FTP的数据连接开辟隐形通道,使其绕过安全策略检查,直接穿越防火墙,从而使FTP服务器发起的数据连接请求报文顺利穿越防火墙,准确到达位于私网的FTP客户端。

FTP协议的完整交互过程如下图所示;

除了源NAT场景,NAT Server场景中也需要开启NAT ALG和ASPF功能。以FTP客户端位于公网、FTP服务器位于私网,并且FTP工作在被动模式为例,下图给出了FTP协议的完整交互过程。

如果网络中存在FTP、SIP、H323等这些多通道协议,在防火墙进行地址转换的场景中,一般都建议在防火墙上同时开启NAT ALG和ASPF功能,保证基于这些协议的业务能够正常运行。

目前绝大多数防火墙产品,都是由一条命令来同时开启ASPF和NAT ALG这两个功能,即在域间或域内配置detect命令开启ASPF功能后,同时就开启了NAT ALG功能。

针对几个典型协议,下表给出了执行detect命令后,防火墙上的处理方式。

5.NAT场景下黑洞路由的作用

对于源NAT来说:

如果NAT地址池地址与公网接口地址不在同一网段,必须配置黑洞路由;

如果NAT地址池地址与公网接口地址在同一网段,建议也配置黑洞路由。

对于指定了特定协议和端口的NAT Server来说:

如果NAT Server的Global地址与公网接口地址不在同一网段,必须配置黑洞路由;

如果NAT Server的Global地址与公网接口地址在同一网段,建议也配置黑洞路由。

除了防止路由环路、节省设备的系统资源,其实黑洞路由还有一个作用,那就是在防火墙上引入到OSPF中,发布给路由器。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230627A08VPI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券