一、华为防火墙NAT的六个分类
二、解决NAT转换时的环路及无效ARP
在特定的NAT转换时,可能会产生环路及无效ARP,关于其如何产生,大概就是,在有些NAT的转换方式中,是为了解决内网连接Internet,而映射出了一个公有IP,那么,若此时有人通过internet来访问这个映射出来的公有IP,就会产生这两种情况。若要详细说起来,又是很麻烦,但是解决这两个问题很简单,就是配置黑洞路由(将internet主动访问映射出来的地址的流量指定到空接口null0),关于如何配置,将在过后的配置中展示出来,我总结了以下需要配置黑洞路由的场景,如下表所示:
表中的前三个可以对应到文章开始的几个NAT类型中,那么NAT Server(粗泛)、NAT Server(精细)又是什么鬼呢?
NAT Server(粗泛):是NAT Server转换类型中的一种,表示源地址和转换后的地址只有简单的映射关系,没有涉及端口等映射,如源地址为192.168.1.2,转换后的地址为33.2.55.6,如果做的是NAT Server(粗泛)这种类型的NAT,那么所有访问33.2.55.6的数据包都将转发给192.168.1.2这个地址。
NAT Server(精细):也是NAT Server转换类型中的一种,表示源地址和转换后的地址映射关系,已经具体定位到某个端口,如:源地址为192.168.1.2,转换后的地址为33.2.55.6,做了NAT Server(精细)的NAT转换,那么可能是访问33.2.55.6的FTP流量(21端口)会转发到192.168.1.2这个地址,但若访问33.2.55.6的Web流量(80/443端口),就不一定还是转发到192.168.1.2这个地址,可以说NAT Server(精细)是基于端口的NAT转换。
三、server-map表的作用
我们都知道,状态化防火墙中会有一张表叫做会话表,用来记录的是内网访问外网时的一个连接信息,当外网返回的数据匹配到会话表的记录时,直接放行相关返回流量。
那么server-map表又是什么呢?具体解释其原理的话,可能又是一大篇,写了也不一定能写明白,写明白了你们也不一定看懂,看懂了你们也不一定会打赏,哈哈,不开玩笑了,直接总结对比一下server-map表和会话表的区别吧,
然而在NAT中也需要这个server-map表,就是在有数据流量通过NAT的方式穿越防火墙时,server-map表会记录其源地址和转换后地址的对应关系,从而使后续流量可以不用查看NAT策略,直接匹配到server-map表,从而实现高效的NAT转换。若用户通过互联网访问转换后的地址时,也可以匹配到server-map表,从而高效的将数据转发到内网真实主机(必须保证安全策略允许通过)。
server-map表不用手动配置,是自动生成的,这里只是简单介绍下server-map表是个什么鬼。
在NAT中,不是所有的表都可以生成server-map表的,我简单总结了一下,如下:
当在防火墙上配置某些类型的NAT后,在防火墙上会生成server-map表,默认生成两个server-map条目,分别是正向条目和反向条目(Reverse),如下:
此时Server-map表的作用是:
正向条目携带端口信息,用来使Internet用户访问内网中的服务器时直接通过server-map表来进行目标地址转换。
反向条目(Reverse):不携带端口信息,且目标地址是任意的,用来使服务器可以访问Internet。
四、NAT对报文的处理流程
原谅我懒癌晚期,给大家上个图,自己悟吧,能理解到什么地步,全看天意咯,如下:
从上图中可以看出来,因为防火墙处理报文的顺序是目标地址转换→安全策略→源地址转换,所以在NAT环境中,安全策略的源地址应该是源地址转换之前的地址,目标地址应该是目标地址转换之后的地址。
一个报文,一般在同一个网络设备上,只会存在一种转换条目,即要么转换源地址(除NAT-Server类型的NAT转换之外),要么转换目的地址(NAT-Server类型的NAT转换)。源地址和目的地址的转换不会同时存在同一个网络设备上。
五、各种NAT类型的配置方法
在文章开头的NAT分类中,Smart NAT(智能转换)和三元组NAT这两种NAT类型我也没有配置过,不太了解,所以无法将这两种的配置写下来,只能将前四种NAT类型写下来咯!一般够用了(前面介绍的黑洞路由及查看一些相关表的命令都将在配置过程中,写下来,请仔细看注释)。
环境如下(不以实际环境为准,主要目的是将多种类型NAT的配置写下来):
需求如下:
1、ISP为公司分配的公网地址为100.2.2.8/29。
2、技术部属于trust区域,通过Easy-ip访问Internet。
3、行政部属于trust区域,通过NAPT访问internet(使用100.2.2.12/29)。
4、财务部属于trust区域,通过no-pat访问internet(使用100.2.2.10/29-100.2.2.11/29)
5、DMZ区域中的两台服务器配置NAT-Server发布,分别提供FTP服务及web服务(使用100.2.2.9/29)
6、防护墙的GE1/0/0属于UNtrust区域。
开始配置基础部分(IP地址、路由条目和防火墙接口添加到指定区域等):
我这里只写了路由器及防火墙的配置,关于各个PC及server的IP配置,请自行配置。基础部分就不注释了,若不懂,可以参考我之前的博文:华为网络设备基本配置 ,若需要在eNSP上验证效果,需要给模拟器上的防火墙导入系统,我这里使用的是USG6000的防火墙,可以下载我提供的防火墙系统文件。
1、R1路由器配置如下:
2、防火墙配置如下:
基础部分的配置至此结束。
开始配置各种类型的NAT:
1、技术部属于trust区域,通过Easy-ip访问Internet。
(1)防火墙配置如下:
1)配置安全策略:
2)配置NAT策略:
现在就可以使用PC4 ping外网的200.1.1.2进行验证了,在ping的过程中查看会话表(时间长了该会话表将没有任何内容),可以看到具体的转换条目。
注:Easy-ip类型的NAT不会产生server-map。
2、配置行政部属于trust区域,通过NAPT访问internet(使用100.2.2.12/29)。
由于在上面配置Easy-ip的NAT类型时,配置了安全策略,所以接下来trust区域访问untrust区域的流量就不用配置安全策略了。
(1)防火墙配置如下:
1)配置NAT地址组,地址组中的地址对应的是公网地址100.2.2.12/29。
2)配置NAT策略
3)NAPT的NAT类型要配置黑洞路由,所以要针对转换后的全局地址100.2.2.12/32配置黑洞路由。
4)NAPT配置至此就完成了,可以自行验证,并查看会话表,查看是否转换为指定的地址。
3、配置财务部属于trust区域,通过no-pat访问internet(使用100.2.2.10/29-100.2.2.11/29)
(1)防火墙配置如下:
1)配置NAT地址组,地址组中的地址对应的是公网地址100.2.2.10–100.2.2.11:
2)配置NAT策略:
3)针对转换后的全局地址(NAT地址组中的地址)配置黑洞路由:
至此,NAT No-PAT配置完成了,可以自行验证,并且会产生server-map表:
4、配置DMZ区域中的两台服务器配置NAT-Server发布,分别提供FTP服务及web服务(使用100.2.2.9/29)
1)配置安全策略:
由于之前配置的是trust访问untrust区域的安全策略,所以对DMZ区域没关系,这里是要将DMZ区域的服务器发布出去,使Internet用户可以访问到这些服务器,所以应该放行UNtrust到DMZ区域相关服务的流量。
2)配置NAT server:
3)使用外网客户端client1进行访问验证即可,访问以后赶紧查看会话表及server-map表(因为怕到了老化时间,会看不到任何条目),会看到如下结果:
配置至此,所有需求均已实现,完活。
1、扩展一些NAT Server的其他配置类型:
2、如何删除NAT Server:
那么我们在配置NAT Server时,配置错误的话,想要删除掉,与别的配置删除不太一样,需要使用以下命令删除配置错误的NAT Server: