信息安全基础知识笔记05 防火墙网络地址转换技术NAT(上)
信息安全基础知识笔记05防火墙网络地址转换技术NAT(上)
在之前的笔记中,我们已经介绍过网络地址转换技术(NAT)的实现原理,以及在路由器上的详细配置方法,所以本节笔记不再赘述。具体可以根据以下链接查看:
网络基础知识笔记08:NAT网络地址转换(上)
https://www.cnblogs.com/zylSec/p/14720345.html
网络基础知识笔记08:NAT网络地址转换(下)
https://www.cnblogs.com/zylSec/p/14727992.html
本节笔记主要介绍在防火墙配置NAT实验的详细步骤(命令行和Web界面两种方式),以及在简单复习NAT原理和分类的基础上,再扩展一些防火墙配置NAT技术小知识。
NAT技术的基本原理
NAT技术通过对IP报文头中的源地址或目的地址进行转换,可以使大量的私网IP地址通过共享少量的公网IP地址来访问公网。
NAT是将IP数据报文报头中的IP地址转换为另一个IP地址的过程,主要用于实现内部网络(私有IP地址)访问外部网络(公有IP地址)的功能。从实现上来说,一般的NAT转换设备(实现NAT功能的网络设备)都维护着一张地址转换表,所有经过NAT转换设备并且需要进行地址转换的报文,都会通过这个表做相应的修改。
地址转换的机制分为如下两个部分:
① 内部网络主机的IP地址和端口转换为NAT转换设备外部网络地址和端口。
② 外部网络地址和端口转换为NAT转换设备内部网络主机的IP地址和端口。
也就是<私有地址+端口>与<公有地址+端口>之间相互转换。
NAT转换设备处于内部网络和外部网络的连接处。内部的PC与外部服务器的交互报文全部通过该NAT转换设备。常见的NAT转换设备有路由器、防火墙等。
NAT分类
根据应用场景的不同,NAT可以分为以下三类:
源NAT(Source NAT):用来使多个私网用户能够同时访问Internet。
① 地址池方式:采用地址池中的公网地址为私网用户进行地址转换,适合大量的私网用户访问Internet的场景。
② 出接口地址方式(Easy IP):内网主机直接借用公网接口的IP地址访问Internet,特别适用于公网接口IP地址是动态获取的情况。
服务器映射:用来使外网用户能够访问私网服务器。
③ 静态映射(NAT Server):公网地址和私网地址一对一进行映射,用在公网用户访问私网内部服务器的场景。
源NAT地址池方式
基于源IP地址的NAT是指对发起连接的IP报文头中的源地址进行转换。它可以实现内部用户访问外部网络的目的。通过将内部主机的私有地址转换为公有地址,使一个局域网中的多台主机使用少数的合法地址访问外部资源,有效的隐藏了内部局域网的主机IP地址,起到了安全保护的作用。
(1)基本概念
源NAT地址池方式分为不带端口转换和带端口转换两种方式。
① 不带端口转换
不带端口转换的地址池方式通过配置NAT地址池来实现,NAT地址池中可以包含多个公网地址。转换时只转换地址,不转换端口,实现私网地址到公网地址一对一的转换。
如果地址池中的地址已经全部分配出去,则剩余内网主机访问外网时不会进行NAT转换,直到地址池中有空闲地址时才会进行NAT转换。
② 带端口转换
带端口转换的地址池方式通过配置NAT地址池来实现,NAT地址池中可以包含一个或多个公网地址。转换时同时转换地址和端口,即可实现多个私网地址共用一个或多个公网地址的需求。
此方式下,由于地址转换的同时还进行端口的转换,可以实现多个私网用户共同使用一个公网IP地址上网,防火墙根据端口区分不同用户,所以可以支持同时上网的用户数量更多。
这是一种利用第四层信息来扩展第三层地址的技术,一个IP地址有65535个端口可以使用。理论上来说,一个地址可以为其他65535个地址提供NAT转换,防火墙还能将来自不同内部地址的数据报文映射到同一公有地址的不同端口号上,因而仍然能够共享同一地址,对比一对一或多对多地址转换。这样极大的提升了地址空间,增加了IP地址的利用率。 因此带端口转换是最常用的一种地址转换方式。
(2)配置方法(命令行界面)
如上图所示。现有Untrust区域一台路由器AR1,Trust区域一台主机PCA,DMZ区域一台主机PC B,后面的实验中使用的拓扑与本拓扑基本一致。
Step 1:网络接口,区域,设备IP,安全策略等基本配置步骤省略,模拟外网(Untrust区域)的路由器只配置接口IP。下面只贴出防火墙FW_A的部分配置。
Step 2:配置域间访问规则。
首先配置源NAT地址池。为内网用户分配的NAT地址池应该为外网地址网段,其用于对internet资源进行访问。
然后配置源NAT策略。将刚配置的NAT地址池应用到NAT策略中。
配置完成后,trust区域的源IP地址为192.168.0.0/24访问untrust区域时,会根据配置的NAT地址池为其分配相应的公网IP地址。
(2)配置方法(Web界面)
Step 1:通过预先设置的登录防火墙IP (https://192.168.50.10:8443)进入Web配置界面。
Step 2:点击“策略”,在显示出的左边面板点击“NAT策略”=》“NAT策略”,在NAT策略中点击“新建”,依此新建一条NAT策略。
Step 3:按下图填写NAT策略内容,与命令行方式的配置基本一致。
源地址转换的方式选择“地址池中的地址”,另外还需要配置源转换地址池。
Step 4:点击“新建地址池”。按下图输入地址池配置信息。需要注意的是,配置地址池时还能选择是否使用端口地址转换(即PAT),在地址转换时同时转换端口号。
最后点击“确定”,新建NAT策略完成。
(4)实验结果验证
测试结果如下:使用内网PC(192.168.0.2)访问外网连路由器AR1(202.169.10.2)。
发现可以ping通。接着我们可以使用抓包软件wireshark对防火墙untrust区域的接口(即公网接口)进行抓包,可以看到内网的地址已经通过NAT转换为公网的地址,并与公网的设备成功互访。
出接口方式(Easy IP)
(1)基本概念
出接口地址方式也称为Easy IP,即直接使用接口的公网地址作为转换后的地址,不需要配置NAT地址池。转换时同时转换地址和端口,即可实现多个私网地址共用外网接口的公网地址的需求。
Easy IP也属于源NAT转换的方式之一,相比根据地址池转换,根据出接口方式更为简单,不同的内网地址通过使用不同的端口号进行区分。
(2)配置方式(命令行界面)
出接口方式(Easy IP)的配置方式与源NAT地址池方式大致相同,区别在于创建NAT策略的最后一步应用时,应指定转换方式为easy-ip。
(3)配置方式(Web界面)
出接口方式(Easy IP)的配置方式与源NAT地址池方式大致相同,只需要将源地址转换勾选为“出接口地址”即可,其他不变,非常简单。
(4)实验结果验证
测试结果如下:使用内网PC(192.168.0.2)访问外网连路由器AR1(202.169.10.2)。
发现可以ping通。接着我们可以使用抓包软件wireshark对防火墙untrust区域的接口(即公网接口)进行抓包,可以发现内网的IP是根据防火墙连接外网的接口IP地址进行转换,而访问公网设备的。
查看防火墙的会话表,可以发现相同的实验结果。ICMP协议每次通过不同的端口测试对端设备的联通性,到达防火墙后被NAT技术转换为出接口IP地址,按照不同的端口号进行区分。