目录
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地址,使用场景较多,主要适用于内部大量用户需要上网,同时仅有少数几个公网IP地址可用的场景下。
- 出接口地址(Easy-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策略与安全策略
NAT策略不同于安全策略,安全策略是针对经过的数据流傲规则检查,匹配的数据包或者转发,或者丢弃,安全策略决定了流量能否通过防火墙。而NAT策略对经过的数据流做规则检查,匹配的数据包或者做地址转换,或者不做地址转换,NAT策略决定了哪些流量需要NAT转换。
NAT处理报文的流程如下:
(1)防火墙收到报文后,首先检查报文是否匹配 Server-map中的条目,如果是,则根据表项转换报文的目标地址,然后进行步骤(3)处理;否则进行步骤(2)处理。
(2)查找是否存在目标NAT的相关配置,如果是,并且符合NAT条件,则转换目标地址后进行步骤(3)处理;否则直接进行步骤(3)处理。
(3)根据报文的目标地址查找路由表,如果存在目标路由,则进行步骤(4)处理;否则丢弃报文。
(4)依次匹配安全策略中的规则,如果策略允许报文通过,则进行步骤(5)处理;否则丢弃报文。
(5)查找是否存在源NAT的相关配置及是否符合NAT条件,如果是.则转换源地址后进行步骤(6)处理;否则直接进行步骤(6)处理。
(6)在发送报文之前创建会话,后续和返回的报文可以直接匹配会话表转发。
(7)防火墙发送报文。
因为防火墙处理报文的顺序是目标地址转換 → 安全策略→源地址转换,所以在NAT环境中,安全策略的源地址应该是源地址转换之前的地址,目标地址应该是目标地址转换之后的地址。
安全区域介绍
每个安全区域都必须有一个安全级别,该安全级别是唯一的,用1~100的数字表示,数字越大,则代表该区域内的网络越可信。对于默认的安全区域,它们的安全级别是固定的: Local I区域的安全级别是100,Trust区域的安全级别是85,DMZ区域的安全级别是50, Untrust区域的安全级别是5。
级别确定之后,安全区域就被分成了三六九等,高低有别。报文在两个安全区域之间流动时,我们规定:报文从低级别的安全区域向高级别的安全区域流动时为入方向( Inbound),报文从由高级别的安全区域向低级别的安全区域流动时为出方向( Outbound)
local 本地安全区域:安全级别100,防火墙本身为local区域。
trust 信任区域:安全级别85,该区域内网络的受信任程度高,通常用来定义内部用户所在的网络。
untrust 非信任区域:安全级别5,该区域代表的是不受信任的网络,通常用来定义 Internet等不安全的网络。
dmz 隔离区域:安全基本50,该区域内网络的受信任程度中等,通常用来定义内部服务器所在的网络。(DMZ( Demilitarized Zone)是一个军事术语,是介于严格的军事管制区和松散的公共区城之间的管制区域。防火墙引用了这一术语,指代一个受信任程度处于内部网络和外部网络之间的安全区城。)
配置开始
[SRG]int g0/0/1
[SRG-GigabitEthernet0/0/1]ip add 192.168.10.1 24
[SRG-GigabitEthernet0/0/1]int g0/0/2
[SRG-GigabitEthernet0/0/2]ip add 192.168.20.1 24
[SRG-GigabitEthernet0/0/2]int g0/0/3
[SRG-GigabitEthernet0/0/3]ip add 1.1.1.1 24
[SRG-GigabitEthernet0/0/3]quit
[SRG]firewall zone trust
[SRG-zone-trust]add int g0/0/1 //将接口加入到trust区域
[SRG-zone-trust]firewall zone dmz
[SRG-zone-dmz]add int g0/0/2 //将接口加入到dmz区域
[SRG-zone-dmz]firewall zone untrust
[SRG-zone-untrust]add int g0/0/3 //将接口加入到untrust区域
[SRG-zone-untrust]quit
区域访问规则
[SRG]firewall p d p interzone trust untrust direction outbound
[SRG]firewall p d p interzone trust dmz dir out
[SRG]firewall p d p interzone dmz untrust dir out
[SRG]ip route-s 0.0.0.0 0.0.0.0 1.1.1.2
1、设置trust到untrust区域的NAT策略:
[SRG]nat-policy interzone trust untrust outbound
策略ID号:
[SRG-nat-policy-interzone-trust-untrust-outbound]policy 1
设置源地址:
[SRG-nat-policy-interzone-trust-untrust-outbound-1]policy source any
启用原地址转换功能:
[SRG-nat-policy-interzone-trust-untrust-outbound-1]action source-nat
设置转换类型为easy-ip,指定转换目标接口:
[SRG-nat-policy-interzone-trust-untrust-outbound-1]easy-ip GigabitEthernet0/0/3
[SRG-nat-policy-interzone-trust-untrust-outbound-1]quit
[SRG-nat-policy-interzone-trust-untrust-outbound]quit
2、防火墙控制策略
[SRG]policy interzone trust untrust outbound
[SRG-policy-interzone-trust-untrust-outbound]policy 1 //配置第一个规则并指定规则名
[SRG-policy-interzone-trust-untrust-outbound-1]policy source 192.168.10.2 0 //指定条件
[SRG-policy-interzone-trust-untrust-outbound-1]policy destination any
[SRG-policy-interzone-trust-untrust-outbound-1]action permit //指定动作
[SRG-policy-interzone-trust-untrust-outbound-1]quit
(允许192.168.10.2主机访问所有)
[SRG-policy-interzone-trust-untrust-outbound]policy 2
[SRG-policy-interzone-trust-untrust-outbound-2]policy source 192.168.10.3 0
[SRG-policy-interzone-trust-untrust-outbound-2]policy destination 2.1.1.2 0
[SRG-policy-interzone-trust-untrust-outbound-2]action deny
[SRG-policy-interzone-trust-untrust-outbound-2]quit
[SRG-policy-interzone-trust-untrust-outbound]quit
(拒绝192.168.10.3主机 访问2.1.1.2)
3、防火墙配置服务器发布
[SRG]firewall packet-filter default permit all
[SRG]nat server protocol tcp global interface g0/0/3 8080 inside 192.168.20.2 80
验证
192.168.10.2主机 可以访问dmz区域的http服务 可以访问ftp服务 可以ping通所有区域主机 因为reust区域安全级最高
192.168.10.3主机不可以访问外网但是可以访问dmz区域 因为刚才给他设置了规则
外网2.1.1.3主机
可以访问http服务 但是得访问转换后的地址以及端口号 但是ping不通内网和dmz区域