华为防火墙NAT策略及配置详解(华为服务器nat配置命令)

网友投稿 3161 2022-10-08


华为防火墙NAT策略及配置详解(华为服务器nat配置命令)

人类现在对计算机网络的使用已经扩展到各个领域,而计算机网络的设计者当时无法想象互联网能有今天这样的规模。任何一个接入互联网的计算机、手机以及智能电视,要想在互联网中畅游,必须有一个合法的IP地址。而IP地址,曾经以为足以容纳全球的计算机,但是在今天看来,已经严重枯竭。IPV6的出现就是为了解决地址不足的问题,但在IPV6普及之前,需要有一个过渡技术——NAT。NAT的出现缓解了地址不足的问题,它可以让同一局域网内60000多用户可以同时使用一个合法IP地址访问互联网。关于Cisco设备的NAT技术,不清楚的朋友本人推荐博文——网络地址转换——NAT技术 今天主要介绍华为设备的NAT技术。

博文大纲:一、华为设备NAT的分类;二、如何解决源地址转换场景下的环路和无效ARP问题;三、Server-map表的作用;1.通过Server-map表来解决FTP数据传输的问题;2.Server-map表在NAT中的作用;四、NAT对报文的处理流程;五、各种常用的NAT的配置方法;1.NAT NO-PAT配置方式;2.NAPT配置方式;3.Easy-IP配置方式;4.NAT server配置方式;

一、华为设备NAT的分类

在内外网的边界,流量有出、入两个方向,所以NAT技术包含源地址转换和目标地址转换两类。一般情况下,源地址转换主要用于解决内部局域网计算机访问Internet的场景;而目标地址转换主要是用于解决Internet用户访问局域网服务器的场景,目标地址转换通常被称为服务器地址映射。

华为设备支持的源地址转换方式有: NAT NO-PAT:类似于Cisco的动态转换,只转换源IP地址,不转换端口,属于多对多转换,不能节约公网地址,实际情况下使用很少,主要适用于需要上网的用户较少,且公网地址足够的情况下; NAPT:类似于Cisco的PAT转换,NAPT既转换报文的源地址,又转换源端口。转换后的地址不能是外网接口的IP地址,属于多对多或多对一转换,可以节约IP地址,使用场景较多,主要适用于内部大量用户需要上网,同时仅有少数几个公网IP地址可用的场景下; 出接口地址:因其转换方式非常简单,所以也称为Easy-IP,和NAPT一样,既转换源IP地址,又转换源端口。区别是出接口地址方式转换后的地址只能是NAT设备外网接口所配置的IP地址,属于多对一转换,可以节约IP地址,主要适用于没有额外的公网地址可用,内部上网用户非常多的场景下,直接通过外网接口本身的IP地址作为转换目标; Smart NAT(智能转换):通过预留一个公网地址进行NAPT转换,而其他的公网地址用来进行NAT NO-PAT转换。其主要用户平时上网用户比较少,而申请的公网地址基本可以满足这些少量用户进行NAT NO_PAT转换,但是偶尔会出现上网用户倍增的情况; 三元组NAT:与源IP地址、源端口和协议类型有关的一种转换,将源IP地址和源端口转换为固定公网IP地址和端口,能解决一些特殊应用在普通NAT中无法实现的问题。其主要用于外部用户访问局域网用户的一些P2P应用。

本篇博文主要介绍前三种源地址转换。

华为设备的目标地址转换技术主要是NAT Server,可以基于IP地址转换,也可以基于“IP+端口+协议”进行转换。

二、如何解决源地址转换场景下的环路和无效ARP问题

在配置华为NAT转换时,经常会配置黑洞路由来解决路由环路和大量的无效ARP报文,关于其如何产生,大概就是,在有些NAT的转换方式中,是为了解决内网连接Internet,而映射出了一个公有IP,通过映射后的公网地址访问互联网。那么,若此时有人通过internet来访问这个映射出来的公有IP,就会产生路由环路及大量无效的ARP报文。若要详细说起来,又是很麻烦,但是解决这两个问题很简单,就是配置黑洞路由(将internet主动访问映射出来的地址的流量指定到空接口null 0)。这样就不会形成路由环路和产生大量ARP报文的情况。

NAT Server(粗泛):就是将一个内网地址直接映射成公网地址; NAT Server(精细):就是将一个内网地址的端口映射成一个公网地址的端口;

三、Server-map表的作用

1.通过Server-map表来解决FTP数据传输的问题

这样就可以解决FTP服务器主动发起请求时,就不会导致FTP服务连接失败的情况。

Server-map表和会话表的区别: 会话表记录的是连接信息,包括连接状态; Server-map表记录的不是当前的连接信息,而是通过分析当前连接的报文后得到的信息。该信息可以解决接下来的数据流通过防火墙的问题。可以将Server-map表的作用理解为提前通过预判来解决将来可能发生的问题;

2.Server-map表在NAT中的作用

Server-map表在NAT中的作用是: 正向条目:携带端口信息,用来使Internet用户访问内网中的服务器时直接通过server-map表来进行目标地址转换。 反向条目(Reverse):不携带端口信息,且目标地址是任意的,用来使服务器可以访问Internet;

小结:

NAT NO-PAT方式生成的Server-map表示动态的,这就意味着有流量通过才会自动生成Server-map表; NAT Server所生成的Server-map表示静态的,这意味着表项内容是长期存在的; 在NAPT和出接口地址方式的NAT中,不会生成Server-map表项; 注意,不是所有的NAT转换方式都会生成Server-map表的;

四、NAT对报文的处理流程

NAT处理报文的流程如下:(1)防火墙收到报文后,首先检查报文是否匹配Server-map中的条目,如果是,则根据表项转换报文的目标地址,然后进行步骤(3)处理;否则进行步骤(2)处理。(2)查找是否存在目标NAT的相关配置,如果是,并且符合NAT条件,则转换目标地址后进行步骤(3)处理;否则直接进行步骤(3)处理。(3)根据报文的目标地址查找路由表,如果存在目标路由,则进行步骤(4)处理;否则丢弃报文。(4)依次匹配安全策略中的规则,如果策略允许报文通过,则进行步骤(5)处理;否则丢弃报文。(5)查找是否存在源NAT的相关配置及是否符合NAT条件,如果是,则转换源地址后进行步骤(6)处理;否则直接进行步骤(6)处理。(6)在发送报文之前创建会话,后续和返回的报文可以直接匹配会话表转发。(7)防火墙发送报文。

注意:因为防火墙处理报文的顺序是目标地址转换→安全策略→源地址转换,所以在NAT环境中,安全策略的源地址应该是源地址转换之前的地址,目标地址应该是目标地址转换后的地址。

五、各种常用的NAT的配置方法

1.NAT NO-PAT配置方式

1)实验拓补

2)实验要求

PC1通过202.106.0.20~21地址与PC2实现通信!建议:实验环境尽量不要使用防火墙的G0/0/0接口,该接口默认是管理接口,并且由大量的默认配置。

3)案例实施

(1)防火墙配置网络参数及路由

[FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip add 192.168.1.1 24 [FW1-GigabitEthernet1/0/0]undo shutdown [FW1-GigabitEthernet1/0/0]int g1/0/1 [FW1-GigabitEthernet1/0/1]ip add 202.106.0.1 24 [FW1-GigabitEthernet1/0/1]undo shutdown Info: Interface GigabitEthernet1/0/1 is not shutdown. [FW1-GigabitEthernet1/0/1]quit [FW1]ip route-static 0.0.0.0 0.0.0.0 202.106.0.2

(2)防火墙配置安全策略

[FW1]firewall zone trust [FW1-zone-trust]add int g1/0/0 [FW1-zone-trust]quit [FW1]firewall zone untrust [FW1-zone-untrust]add int g1/0/1 [FW1-zone-untrust]quit //将内外网接口加入防火墙的指定区域 [FW1]security-policy //配置安全策略 [FW1-policy-security]rule name sec_1 //配置规则并制定规则名为sec_1 [FW1-policy-security-rule-sec_1]source-zone trust [FW1-policy-security-rule-sec_1]destination-zone untrust [FW1-policy-security-rule-sec_1]source-address 192.168.1.0 24 //指定条件 [FW1-policy-security-rule-sec_1]action permit //指定动作 [FW1-policy-security-rule-sec_1]quit [FW1-policy-security]quit [FW1]

(3)配置NAT地址组

[FW1]nat address-group natgroup //配置NAT地址组,指定名称为natgroup [FW1-address-group-natgroup]section 0 202.106.0.20 202.106.0.21 //通过section关键字指定地址组的起始地址和结束地址 [FW1-address-group-natgroup]mode no-pat local //指定地址组的模式为no-pat。local关键字表示对本区域有效 [FW1-address-group-natgroup]quit [FW1]

(4)配置NAT策略

[FW1]nat-policy //配置NAT策略 [FW1-policy-nat]rule name natpolicy //配置名称为natpolicy的NAT规则 [FW1-policy-nat-rule-natpolicy]source-zone trust [FW1-policy-nat-rule-natpolicy]source-address 192.168.1.0 24 [FW1-policy-nat-rule-natpolicy]destination-zone untrust //指定条件 [FW1-policy-nat-rule-natpolicy]action nat address-group natgroup //指定动作,满足条件的数据包将依据地址组做NAT NO-PAT方式的源地址转换 [FW1-policy-nat-rule-natpolicy]quit [FW1-policy-nat]quit [FW1]

注意:NAT策略不同于安全策略,安全策略是针对经过的数据流做规则检查:匹配的数据包或者转发,或者丢弃,安全策略决定了流量能否通过防火墙;而NAT策略对经过的数据流做规则检查,匹配的数据包或者做地址转换,或者不做地址转换,NAT策略决定了哪些流量需要NAT转换。

(5)针对转换后的全局地址配置黑洞路由

[FW1]ip route-static 202.106.0.20 32 null 0 [FW1]ip route-static 202.106.0.21 32 null 0

(6)配置路由器IP地址及路由

[AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]ip add 202.106.0.2 24 [AR1-GigabitEthernet0/0/0]undo shutdown [AR1-GigabitEthernet0/0/0]int g0/0/1 [AR1-GigabitEthernet0/0/1]ip add 100.1.1.1 24 [AR1-GigabitEthernet0/0/1]undo shutdown [AR1-GigabitEthernet0/0/1]quit [AR1]ip route-static 202.106.0.0 24 202.106.0.1

(7)自行配置PC的IP地址、网关,验证NAT的配置

[FW1]display firewall session table //查看防火墙的会话表 Current Total Sessions : 3 icmp : public --> public 192.168.1.2:13610[202.106.0.20:13610] --> 100.1.1 .2:2048 icmp : public --> public 192.168.1.2:13354[202.106.0.20:13354] --> 100.1.1 .2:2048 icmp : public --> public 192.168.1.2:13098[202.106.0.20:13098] --> 100.1.1 .2:2048 //由此可以看出,内部地址192.168.1.2在经过防火墙之后更换为202.106.0.20地址进行通信 [FW1]display firewall server-map //查看防火墙Server-map表 Current Total Server-map : 2 Type: No-Pat Reverse, ANY -> 202.106.0.20[192.168.1.2], Zone: untrust Protocol: ANY, TTL:---, Left-Time:---, Pool: 0, Section: 0 : public Type: No-Pat, 192.168.1.2[202.106.0.20] -> ANY, Zone: untrust Protocol: ANY, TTL:360, Left-Time:360, Pool: 0, Section: 0 : public //可以看出192.168.1.1.2与202.106.0.20形成映射关系

2.NAPT配置方式

实验拓补与NAT NO-PAT一样!(在NAT NO-PAT基础上也可),为了初学者可以看懂,本人就重新部署网络设备了!

1)实验要求

PC1通过202.106.0.100地址与PC2实现通信!

2)案例实施

[FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip add 192.168.1.1 24 [FW1-GigabitEthernet1/0/0]int g1/0/1 [FW1-GigabitEthernet1/0/1]ip add 202.106.0.1 24 [FW1-GigabitEthernet1/0/1]q [FW1]ip route-static 0.0.0.0 0.0.0.0 202.106.0.2 //配置防火墙网络参数及路由 [FW1]firewall zone trust [FW1-zone-trust]add int g1/0/0 [FW1-zone-trust]quit [FW1]firewall zone untrust [FW1-zone-untrust]add int g1/0/1 [FW1-zone-untrust]quit [FW1]security-policy [FW1-policy-security]rule name sec_2 [FW1-policy-security-rule-sec_2]source-zone trust [FW1-policy-security-rule-sec_2]source-address 192.168.1.0 24 [FW1-policy-security-rule-sec_2]destination-zone untrust [FW1-policy-security-rule-sec_2]action permit [FW1-policy-security-rule-sec_2]quit [FW1-policy-security]quit //配置防火墙安全策略 [FW1]nat address-group natgroup1 [FW1-address-group-natgroup1]section 0 202.106.0.100 202.106.0.100 [FW1-address-group-natgroup1]mode pat //指定地址组的模式为pat,即NAPT模式 [FW1-address-group-natgroup1]quit //配置NAT地址组 [FW1]nat-policy [FW1-policy-nat]rule name natpolicy1 [FW1-policy-nat-rule-natpolicy1]source-address 192.168.1.0 24 [FW1-policy-nat-rule-natpolicy1]source-zone trust [FW1-policy-nat-rule-natpolicy1]destination-zone untrust [FW1-policy-nat-rule-natpolicy1]action nat address-group natgroup1 //指定动作,满足条件的数据包将依据地址组做NAPT方式转换 [FW1-policy-nat-rule-natpolicy1]quit [FW1-policy-nat]quit //配置防火墙NAT策略 [FW1]ip route-static 202.106.0.100 32 null 0 //配置黑洞路由 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 202.106.0.2 24 [R1-GigabitEthernet0/0/0]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 100.1.1.1 24 [R1-GigabitEthernet0/0/1]quit [R1]ip route-static 202.106.0.0 24 202.106.0.1 //配置路由器的IP地址及路由

[FW1]display firewall session table //查看防火墙会话表 Current Total Sessions : 2 icmp : public --> public 192.168.1.2:12082[202.106.0.100:2058] --> 100.1.1 .2:2048 icmp : public --> public 192.168.1.2:12338[202.106.0.100:2059] --> 100.1.1 .2:2048 [FW1]display firewall server-map //查看防火墙的Server-map Current Total Server-map : 0 //NAPT方式进行NAT地址转换时,并不会生成Server-map表

3.Easy-IP配置方式

实验拓补与NAT NO-PAT一样!(在NAPT基础上也可),为了初学者可以看懂,本人就重新部署网络设备了!

1)实验需求

PC1通过防火墙接口地址与PC2实现通信!

2)案例实施

[FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip add 192.168.1.1 24 [FW1-GigabitEthernet1/0/0]int g1/0/1 [FW1-GigabitEthernet1/0/1]ip add 202.106.0.1 24 [FW1-GigabitEthernet1/0/1]q [FW1]ip route-static 0.0.0.0 0.0.0.0 202.106.0.2 //配置防火墙网络参数及路由 [FW1]firewall zone trust [FW1-zone-trust]add int g1/0/0 [FW1-zone-trust]quit [FW1]firewall zone untrust [FW1-zone-untrust]add int g1/0/1 [FW1-zone-untrust]quit [FW1]security-policy [FW1-policy-security]rule name sec_3 [FW1-policy-security-rule-sec_2]source-zone trust [FW1-policy-security-rule-sec_2]source-address 192.168.1.0 24 [FW1-policy-security-rule-sec_2]destination-zone untrust [FW1-policy-security-rule-sec_2]action permit [FW1-policy-security-rule-sec_2]quit [FW1-policy-security]quit //配置防火墙安全策略 [FW1]nat-policy [FW1-policy-nat]rule name natpolicy2 [FW1-policy-nat-rule-natpolicy2]source-address 192.168.1.0 24 [FW1-policy-nat-rule-natpolicy2]source-zone trust [FW1-policy-nat-rule-natpolicy2]destination-zone untrust [FW1-policy-nat-rule-natpolicy2]action nat easy-ip //配置满足条件的数据包根据地址组做出接口方式转换 [FW1-policy-nat-rule-natpolicy2]quit [FW1-policy-nat]quit [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 202.106.0.2 24 [R1-GigabitEthernet0/0/0]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 100.1.1.1 24 [R1-GigabitEthernet0/0/1]quit [R1]ip route-static 202.106.0.0 24 202.106.0.1 //配置路由器的IP地址及路由

[FW1]display firewall session table //查看防火墙会话表 Current Total Sessions : 2 icmp : public --> public 192.168.1.2:12082[202.106.0.1:2073] --> 100.1.1 .2:2048 icmp : public --> public 192.168.1.2:12338[202.106.0.1:2074] --> 100.1.1 .2:2048 [FW1]display firewall server-map //查看防火墙的Server-map Current Total Server-map : 0 /Easy-IP方式进行NAT地址转换时,并不会生成Server-map表

4.NAT Server配置方式

1)实验拓补

2)实验需求

互联网用户通过202.106.0.20访问DMZ区域中的FTP服务器。

3)案例实施

[FW1]int g1/0/0 [FW1-GigabitEthernet1/0/0]ip add 192.168.1.1 24 [FW1-GigabitEthernet1/0/0]int g1/0/1 [FW1-GigabitEthernet1/0/1]ip add 202.106.0.1 24 [FW1-GigabitEthernet1/0/1]quit [FW1]ip route-static 0.0.0.0 0.0.0.0 202.106.0.2 //配置防火墙网络参数及路由 [FW1]firewall zone dmz [FW1-zone-dmz]add int g1/0/0 [FW1-zone-dmz]quit [FW1]firewall zone untrust [FW1-zone-untrust]add int g1/0/1 [FW1-zone-untrust]quit //将防火墙接口加入相应的区域中 [FW1]security-policy [FW1-policy-security]rule name sec_4 [FW1-policy-security-rule-sec_4]source-zone untrust [FW1-policy-security-rule-sec_4]destination-zone dmz [FW1-policy-security-rule-sec_4]destination-address 192.168.1.0 24 [FW1-policy-security-rule-sec_4]service ftp //配置条件为ftp协议,这属于精细NAT-server;如果是粗泛NAT-server,这步可以省略 [FW1-policy-security-rule-sec_4]action permit [FW1-policy-security-rule-sec_4]quit [FW1-policy-security]quit //防火墙配置安全策略 [FW1]firewall interzone dmz untrust [FW1-interzone-dmz-untrust]detect ftp [FW1-interzone-dmz-untrust]quit //.配置FTP应用层检测,默认已经开启,可以省略 [FW1]nat server natserver_ftp protocol tcp global 202.106.0.20 21 inside 192.168.1.2 21 //配置NAT server,natserver_ftp为策略名称,global后为全局地址和端口 <内部地址的端口转化为外部不同的端口> <也可添加no-reverse参数,表示不再产生server-map表内容> <也可以不配置端口信息> [FW1]ip route-static 202.106.0.20 32 null 0 <配置黑洞路由> [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 202.106.0.2 24 [R1-GigabitEthernet0/0/0]int g0/0/1 [R1-GigabitEthernet0/0/1]ip add 100.1.1.1 24 [R1-GigabitEthernet0/0/1]quit [R1]ip route-static 202.106.0.20 24 202.106.0.1 //配置路由器接口地址及路由

验证效果:

[FW1]display firewall session table Current Total Sessions : 1 ftp : public --> public 100.1.1.2:49160 +-> 202.106.0.20:21[192.168.1.2:21] [FW1]display firewall server-map Current Total Server-map : 2 Type: Nat Server, ANY -> 202.106.0.20:21[192.168.1.2:21], Zone:---, protocol :tcp : public -> public Type: Nat Server Reverse, 192.168.1.2[202.106.0.20] -> ANY, Zone:---, protocol:tcp : public -> public, counter: 1

自行进行验证!从防火墙的会话表中,可以看出效果!

———————— 本文至此结束,感谢阅读 ————————


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:带你了解Java常用类小结
下一篇:信息安全技术的学习路径和方法(如何学好信息安全)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~