📝理论讲解:
NAT概论:
NAT技术是用来解决当今IP地址资源枯竭的一种技术,同时也是IPv4到IPv6的过渡技术,绝大多数网络环境中在使用NAT技术。关于NAT技术的原理在之前的文章中已经有所提及,本文的重点放在华为相关的NAT知识和实验配置上。
NAT分类
在内外网的边界,流量有出、入两个方向,所以NAT技术源地址转换和目标地址转换两类。一般情况下,源地址转换主要用于解决内部局域网计算机访问Internet的场景;而目标地址转换主用于解决Internet用户访问局域网服务器的场景,目标地址通常被称为服务器地址映射。 华为支持的源地址转换方式有如下几类:
NAT No-PAT:类似于Cisco的动态转换,只转换源IP地址,不转换端口,属于多对多转换,不能节约公网IP地址,实际情况下使用较少,主要适用于需要上网的用户较少,而公网地址又足够的场景下。
NAPT (Network Address and Port Translation,网络地址和端口转换);类似于Cisco的PAT转换,NAPT既转换报文的源地址,又转换源端口。转换后的地址不能是外网接口IP地址。属于多对多或多对一转换,可以节约IP地址,使用场景较多,主要适用于内部大量用户需要上网,同时仅有少数几个公网P地址可用的场景下。
出接口地址(Easy-IP):因其转换方式非常简单,所以也称为Easy-IP,和NAPT一样,既转换源IP地址,又转换源端口。区别是出接口地址方式转换后的地址只能是NAT设备外网接口所配置的P地址,属于多对一转换,可以节约IP地址,主要适用于没有额外的公网地址可用,内部上网用户非常多的场景下,直接通过外网接口本身的IP地址作为转换目标 。
Smart NAT(智能转换):通过预留一个公网地址进行NAPT转换,而其他的公网地址用来进行 NAT No-PAT 转换其主要用于平时上网用户比较少,而申请的公网地址基本可以满足这些少量用户进行NAT NO-PAT转换,但是偶尔会出现上网用户倍增的情况。
三元组NAT:与源IP地址、源端口和协议类型有关的一种转换,将源IP地址和源端口转换为固定公网IP地址和端口,能解决一些特殊应用在普通NAT中无法实现的问题。其主要用于外部用户访问局域网用户的一些P2P应用。
路由黑洞
NAT对报文的处理流程
防火墙接口从收到一个报文到最终发送出去需要经历一系列处理流程,而NAT 只是其中的一项任务。NAT的配置受到路由及安全策略的影响,所以了解NAT对报文的处理流程对配置NAT 有非常大的帮助。NAT对报文的处理流程如图所示。
防火墙收到报文后,首先检查报文是否匹配Server-map中的条目,如果是,则根据表项转换报文的目标地址,然后进行步骤(3)处理;否则进行步骤(2)处理。
查找是否存在目标NAT的相关配置,如果是,并且符合NAT条件,则转换目标地址后进行步骤(3)处理;否则直接进行步骤(3)处理。
根据报文的目标地址查找路由表,如果存在目标路由,则进行步骤(4)处理;否则丢弃报文
依次匹配安全策略中的规则,如果策略允许报文通过,则进行步骤(5)处理;否则丢弃报文。
查找是否存在源NAT的相关配置及是否符合NAT条件,如果是,则转换源地址后进行步骤(6)处理;否则直接进行步骤(6)处理。
在发送报文之前创建会话,后续和返回的报文可以直接匹配会话表转发。
防火墙发送报文。
📢友情提示:
因为防火墙处理报文的顺序是目标地址转换→安全策略→源地址转换,所以在NAT环境中,安全策略的源地址应该是源地址转换之前的地址,目标地址应该是目标地址转换之后的地址。
📖实验配置与实现:
拓扑图:
推荐步骤:
路由器配置IP地址,将防火墙接口加入指定的区域配置IP地址,内网服务器配置为FTP和web服务器,外网服务器配置web服务器使用内网client1访问内网服务器是否正常,client2访问外网web服务器是否正常
防火墙访问外网使用默认路由,路由器访问内网使用静态路由,防火墙设置安全策略允许内网访问外网使用ping命令测试全网互通
防火墙配置Easy-IP的NAT将内网访问外网的流量映射到防火墙外网接口上查看会话表验证
防火墙配置Nat Server将web01服务器的80和21端口分别映射到外网IP地址192.168.100.3和192.168.100.4的80端口和21号端口外网客户端访问验证
实验步骤:
一、路由器配置IP地址,将防火墙接口加入指定的区域配置IP地址,内网服务器配置为FTP和web服务器,外网服务器配置web服务器使用内网client1访问内网服务器是否正常,client2访问外网web服务器是否正常
1、将防火墙接口加入指定的区域
1)进入到Trust区域
2)接口加入到区域
3)配置IP地址
4)进入到untrust区域
5)接口加入到区域
6)配置IP地址
7)查看配置的IP地址
2、路由器配置IP地址
1)路由器配置IP地址
2)查看配置的IP
3、内网服务器配置为FTP和web服务器
1)配置web01服务器
2)配置ftp服务器
3)Client1配置IP 地址
4)PC1配置IP地址
5)web02 配置IP地址
6)PC2配置IP地址
7)client2配置IP地址
4、使用内网client1访问内网服务器是否正常
1)使用client1访问内网服务器
5、client2访问外网web服务器是否正常
1)使用client2访问外网服务器