文章目录
第七章:防火墙的NAT
NAT:地址转换技术
地址转换表-----所有经过NAT转换设备并且需要进行地址转换的报文,都会通过这个表项进行相关的修改。
- 内部网络主机的IP地址和端口转换为NAT转换设备外部网络地址和端口。
- 外部网络地址和端口转换为NAT转换设备的内部网络主机的IP地址和端口。
针对NAT的应用场景的不同,分类:
- 源NAT
- 地址池方式------存在多个公网IP地址,适合于大量的私网用户访问Internet的场景。
- 出接口方式------仅存在一个公网IP地址,为设备出接口IP。适用于公网IP地址是动态获取的方式。
- 服务器映射
- 静态映射-------公网地址和私网地址一对一进行映射转换。
源NAT技术
基本原理
把IP报文中的源地址进行转换。
NAT策略
也是有条件和动作组成。
- 源NAT转换---------必须引用NAT地址池。
- 不进行NAT转换
源NAT转换方式 | 含义 | 应用场景 |
---|---|---|
NAT NO-PAT | 进行IP转换,不进行端口转换 | 上网用户非常少的场景;而且公网IP与私网IP数量相差不大的时候。 |
NAPT | 同时转换IP和端口 | 公网IP数量少,上网用户多的场景 |
Easy-ip(出接口地址方式) | 同时转换IP和端口;但是转换后的IP地址只能为出接口IP | 公网IP地址是动态获取场景 |
Smart NAT | 预留一个公网IP地址,进行NAPT转换,其他IP地址进行NAT NO-PAT转换 | 平时上网用户少;个别时间段上网用户数量激增 |
三元组 NAT | 将私网源IP地址和端口转换为固定的公网IP和端口,解决NAPT方式随机转换端口的问题 | 用户外网用户主动访问私网场景 |
NAT NO-PAT
前提配置:
[FW]interface GigabitEthernet 0/0/0
[FW-GigabitEthernet0/0/0]service-manage all permit
[FW]interface GigabitEthernet 1/0/0
[FW-GigabitEthernet1/0/0]ip address 192.168.1.254 24
[FW]interface GigabitEthernet 1/0/1
[FW-GigabitEthernet1/0/0]ip address 202.10.1.254 24
[FW]interface GigabitEthernet 1/0/2
[FW-GigabitEthernet1/0/0]ip address 202.10.2.254 24
要求:
将公网IP地址202.10.1.10加入NAT地址池1
将公网IP地址202.10.2.10加入NAT地址池2
配置NAT策略
设置地址池:
[FW]nat address-group nat_1 ---- 创建NAT地址池,名称为nat_1
[FW-address-group-nat_1]section 202.10.1.10 --- 设置地址池中的地址信息
[FW-address-group-nat_1]mode no-pat global --- 设置模式
[FW]nat address-group nat_2
[FW-address-group-nat_2]section 202.10.2.10
[FW-address-group-nat_2]mode no-pat global
NAT策略:
[FW]nat-policy ----- 进入NAT策略配置视图
[FW-policy-nat]rule name policy_1
[FW-policy-nat-rule-policy_1]source-zone trust
[FW-policy-nat-rule-policy_1]destination-zone Untrust_1
[FW-policy-nat-rule-policy_1]source-address 192.168.1.0 24
[FW-policy-nat-rule-policy_1]destination-address 202.10.1.1 32
[FW-policy-nat-rule-policy_1]action source-nat address-group nat_1 ---- 设定使用源NAT方式,调用地址族nat_1
[FW-policy-nat]rule name policy_2
[FW-policy-nat-rule-policy_2]source-zone trust
[FW-policy-nat-rule-policy_2]destination-zone Untrust_2
[FW-policy-nat-rule-policy_2]source-address 192.168.1.0 24
[FW-policy-nat-rule-policy_2]destination-address 202.10.2.1 32
[FW-policy-nat-rule-policy_2]action source-nat address-group nat_2
安全策略
防火墙检测流量是否符合安全策略的操作发生在检查NAT策略之间,如果要针对源IP设置NAT策略,那么应该是做源NAT转换前的IP地址。
查看会话表:
会话表中可以查看转换后的IP和端口信息。
NAT不仅仅会产生会话表,也会产生server-map表项,且生成了正反两条表项。
正向的server-map表项的作用是保持特定私网用户访问Internet网络是可以快速转换地址。
注意:哪怕此时存在流量,命中了由NAT机制产生的Server-map表项,还需要进行安全策略的检查,只有检查通过,报文才能通过防火墙。---- 即由ASPF技术生成的表项,会越过安全策略;而NAT无法越过安全策略。
在配置NAT时,需要在NAT设备上编写空接口防环的黑洞路由。
[FW]nat address-group nat_1
[FW-address-group-nat_1]route enable ---- 设备会自动生成黑洞路由信息用来防环
配置该命令后,FW生成的UNR(User Network Router)路由,该路由与黑洞路由作用相同。可以防止路由环路,同时也可以引入到IGP或BGP协议中,优先级61。
NAPT
应该用最广泛的地址转换方式----->利用少量的公网IP地址来满足大量私网用户访问Internet网络。
[FW]nat address-group nat_1
[FW-address-group-nat_1]mode pat ------在地址池中,进行模式的修改
[FW]nat address-group nat_2
[FW-address-group-nat_2]mode pat
前提:需要先将前面配置的NAT策略删除,防止地址池被调用而修改不了地址池模式;然后在将上面的策略进行重写。
NAPT不存在Server-map表。
[FW]display firewall server-map
2025-02-12 09:16:23.410
Current Total Server-map : 0
测试访问:
Easy-ip
利用出接口的公网IP地址作为NAT转互换后的地址,也同时转换地址和端口。
easy-ip方式无需配置NAT地址池,也不需要配置黑洞路由。
[FW]nat-policy
[FW-policy-nat]rule name policy_1
[FW-policy-nat-rule-policy_1]source-zone trust
[FW-policy-nat-rule-policy_1]destination-zone Untrust_1
[FW-policy-nat-rule-policy_1]source-address 192.168.1.0 24
[FW-policy-nat-rule-policy_1]destination-address 202.10.1.1 32
[FW-policy-nat-rule-policy_1]action source-nat easy-ip
[FW-policy-nat]rule name policy_2
[FW-policy-nat-rule-policy_2]dis th
rule name policy_2
source-zone trust
destination-zone Untrust_2
source-address 192.168.1.0 mask 255.255.255.0
destination-address 202.10.2.1 mask 255.255.255.255
action source-nat easy-ip
也不会产生server-map表项。
[FW]display firewall server-map
2025-02-12 09:28:59.460
Current Total Server-map : 0
Smart NAT(聪明的NAT)
逻辑:(融合了非端口转换和NAPT的特点)
假设Smart NAT使用的地址池包含N个IP地址,其中一个IP地址被指定为预留地址,另外N-1个地址构成了地址段1;进行NAT转换时,会优先使用地址段1中的地址,进行NO-PAT转换,当地址段1中的IP都被占用后,才使用预留IP地址做NAPT转换。
只有公网IP地址(除预留的IP以外)被NAT NO-PAT转换用尽了,才会进行NAPT转换,并且NAPT方式不会产生serverr-map。
声明:该方式无法在web页面配置。
仅以Untrust_1区域为例:
1、安全策略配置
[FW]security-policy
[FW-policy-security]display this
security-policy
rule name policy_1
description NAT策略(policy_1)引入
source-zone trust
destination-zone Untrust_1
source-address 192.168.1.0 mask 255.255.255.0
action permit
2、NAT地址池配置
[FW]nat address-group 1
[FW-address-group-1]mode no-pat global
[FW-address-group-1]section 202.10.1.10 202.10.1.10 -----正常设置时,需要多设置一些地址
[FW-address-group-1]smart-nopat 202.10.1.20 ----预留地址(没有预留地址就无法做NAPT转换),进行NAPT转换的地址
[FW-address-group-1]route enable -----只要用到地址池,都需要配置黑洞路由
3、NAT策略配置
[FW]nat-policy
[FW-policy-nat]rule name policy_1
[FW-policy-nat-rule-policy_1]source-zone trust
[FW-policy-nat-rule-policy_1]destination-zone Untrust_1
[FW-policy-nat-rule-policy_1]source-address 192.168.1.0 24
[FW-policy-nat-rule-policy_1]action source-nat address-group 1
三元组NAT
P2P应用;(peer to peer)(邻居到邻居)。
PC1和PC2是运行了P2P业务的客户端,运行P2P业务时,首先与服务器进行交互,服务器记录客户端的地址+端口;
当PC2需要下载文档时,服务器会将拥有该文件的客户端的地址和端口发送给PC2(PC1的地址+端口),然后PC2会向PC1发起请求,下载文件。
如果PC1是内网主机,在防火墙上做NAPT转换,此时P2P服务器记录的是PC1做NAT转换后的地址和端口。
会存在的问题:
1、PC1没有主动访问过PC2
- 不会存在会话表或server-map表项,防火强强不会允许PC2主动访问PC1
2、PC1的报文经过NAPT转换后,可能会导致端口经常刷新,影响P2P业务正常进行。
三元组NAT转换时存在以下特点:
- 对外呈现端口一致性:
- 对外呈现的信息固定
- 支持外网主动访问:
- 创建会话表或server-map表项,从而让越过安全策略检查。
说白了,三元组NAT机制,通过利用NAT NO-PAT机制所产生的server-map表项,来实现外网的访问。
配置:(仅以unturst_1为例)
1、地址池
[FW]nat address-group 1
[FW-address-group-1]mode full-cone global ----导致server-map表项中zone内容为空;如果不使用global参数,而是使用local参数,则代表只有NAT策略中的目的区域的流量,才可以匹配serrver-map表项。
[FW-address-group-1]section 202.10.1.10 202.10.1.10
[FW-address-group-1]route enable
2、NAT策略
[FW]nat-policy
[FW-policy-nat]rule name 1
[FW-policy-nat-rule-1]source-zone trust
[FW-policy-nat-rule-1]destination-zone Untrust_1
[FW-policy-nat-rule-1]source-address 192.168.1.0 24
[FW-policy-nat-rule-1]action source-nat address-group 1
3、开启端点过滤功能
[FW]firewall endpoint-independent filter enable
意义:此时的server-map表项,不受安全策略的控制。
测试:
通过观察server-map表项,防火漆昂生成了源目两个表项。
- 源表项
- PC1访问任意安全区域内的任意主机时,NAT转换后的地址都是202.10.1.10:36864
- 目的表项
- 任意安全区域的任意主机,都可以通过202.10.1.10:36864,来访问PC1的7806端口。
不使用global参数,而是使用local参数:
[FW-address-group-1]mode full-cone local
查看server-map表项:
server-map表项
- ASPF
- 生成的表项不受安全策略控制
- 三元组NAT
- 生成的表项需要受到安全策略控制
- NAT NO-PAT
- 生成的表项需要受到安全策略控制
对于多出口的场景中,FW的多出口链路需要被加入到不同的安全区域,然后基于不同的安全区域的域间关系来配置源NAT策略。否则会导致数据流量的NAT策略匹配永远只会匹配第一条规则。
目的NAT(NAT Server)
注意点:建议不要将防火墙的公网接口的IP地址设定为NAT Server的公网IP,避免NAT Server与防火墙自身的一些服务产生冲突。
[FW]nat server global 1.1.1.1 inside 10.1.1.1 ----将公网IP1.1.1.1与私网IP10.1.1.1绑定
华为特有---->支持配置指定协议的NAT Server,即将特定的某种服务对公网发布。
[FW]nat server protocol tcp global 1.1.1.1 9980 inside 10.1.1.1 www ----增加了协议内容
其中,私网端口可以有多个。
NAT Server配置完成后,会自动生成正反两个Server-map表项,且该表项为静态,即不需要报文来触发,配置后自动生成。----->该表项不能像ASPF一样,打开一个绕过安全策略检查的通道。
-
正向表项
-
ANY -> 1.1.1.1:9980[10.1.1.1:80]
-
任意客户端向1.1.1.1:9980发起访问时,报文的目的地址和端口都会被转换为10.1.1.1:80;
-
起作用是公网用户访问服务器时,对报文的目的地址进行转换。
-
-
反向表项
-
10.1.1.1[1.1.1.1] -> ANY
-
当私网服务器主动访问公网时,可以直接通过这个表项将报文的源地址从私网转换为公网地址,而不再需要单独为服务器配置源NAT策略。
-
配置安全策略:
当外网流量来到防火墙时,防火墙需要先进行NAT转换---->原因是因为只有经过了NAT转换,防火墙才可以根据真正的目的地来查找路由表;只有确定了报文从哪个接口发送,才知晓流量在哪两个安全区域之间的流量,才可以正常匹配安全策略。----->即配置安全策略时,策略的目的地址应配置为服务器的私网地址。
客户端获取信息:(获取成功)
当外网流量成功通过正向server-map表项和安全策略检查后,会在防火墙本地生成会话表,而后续服务器的响应报文会匹配会话表来向外发送信息,越过安全策略查,不需要查找server-map表项。
[FW]nat server protocol tcp global 1.1.1.1 9980 inside 10.1.1.1 80 unr-route -----unr-route参数代表配置UNR路由,类似于黑洞路由
疑问:如果配置了黑洞路由,防火墙在收到访问报文后,会将该报文丢弃么?------>不会,因为防火墙会先进行目的NAT转换,而不是先匹配路由表。
web配置中,“—允许服务器使用公网地址上网—”—>自动生成反向server-map表项。
web配置中,“—安全区域—”配置,代表仅该安全区域中的用户可以通过指定的公网IP地址来访问内部服务器。
多场景下的NAT Server案例:
基础配置
[FW]interface GigabitEthernet 0/0/0
[FW-GigabitEthernet0/0/0]service-manage all permit
IP配置:
[FW]interface GigabitEthernet 1/0/0
[FW-GigabitEthernet1/0/0]ip add 192.168.1.254 24
[FW-GigabitEthernet1/0/0]interface GigabitEthernet 1/0/1
[FW-GigabitEthernet1/0/1]ip add 11.0.0.1 24
[FW-GigabitEthernet1/0/1]interface GigabitEthernet 1/0/2
[FW-GigabitEthernet1/0/2]ip add 12.0.0.1 24
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip add 11.0.0.2 24
[R1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip add 13.0.0.1 24
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.0.0.2 24
[R2-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip add 23.0.0.2 24
[R3]interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0]ip add 13.0.0.3 24
[R3-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip add 23.0.0.3 24
[R3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
[R3-GigabitEthernet0/0/2]ip add 10.0.0.254 24
路由配置:使公网互通
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 11.0.0.2 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 13.0.0.1 0.0.0.0
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 12.0.0.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 23.0.0.2 0.0.0.0
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 13.0.0.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 23.0.0.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 10.0.0.254 0.0.0.0
[FW]ip route-static 0.0.0.0 0 11.0.0.2
[FW]ip route-static 0.0.0.0 0 12.0.0.2
防火墙作为企业出口网关,双出口,双ISP接入公网时,NATServer的配置通常要一分为二,让一个私网服务器向两个ISP发布不同的公网地址,供公网用户访问。
方法一
将接入不同的ISP的公网接口规划在不同的安全区域中,然后配置NAT Server的时候---->携带上安全区域参数,使得同一个服务器向不同安全区域发布不同的公网地址。
1、划分安全区域
[FW]firewall zone trust
[FW-zone-trust]add interface GigabitEthernet 1/0/0
[FW]firewall zone name Untrust_1
[FW-zone-Unturst_1]set priority 10 ----设置优先级
[FW-zone-Unturst_1]add interface GigabitEthernet 1/0/1 ----添加接口
[FW]firewall zone name Untrust_2
[FW-zone-Unturst_2]set priority 20
[FW-zone-Unturst_2]add interface GigabitEthernet 1/0/2
2、配置规则
[FW]nat server zone Untrust_1 protocol tcp global 11.0.0.10 9980 inside 192.168.
1.1 80
[FW]nat server zone Untrust_2 protocol tcp global 12.0.0.10 9980 inside 192.168.
1.1 80
3、配置安全策略
security-policy
rule name nat_1
source-zone Untrust_1
destination-zone trust
destination-address 192.168.1.0 mask 255.255.255.0
service http
service https
action permit
rule name nat_2
source-zone Untrust_2
destination-zone trust
destination-address 192.168.1.0 mask 255.255.255.0
service http
service https
action permit
4、配置黑洞路由
[FW]ip route-static 11.0.0.10 32 NULL 0
[FW]ip route-static 12.0.0.10 32 NULL 0
5、测试
服务器开启HTTP服务:
客户端访问:
方法二
将接入不同ISP的公网接口规划在相同的安区区域,配置NAT Server时,关闭服务器访问互联网功能。----因为需要发布多个公网IP地址,若开启该功能,会导致server-map表项冲突。
下述问题时多出口NAT Server场景一定会存在的问题:
**NAT Server一分为二时,很大可能会产生报文来回路径不一致问题。**为了避免该问题:
- 避免ISP中的公网用户使用非本ISP的公网地址来访问私网服务器
- 私网服务器回复报文到达防火墙时,虽然匹配了会话表,但是会话表仅仅是放通流量并转换地址,流量的转发还是要依靠路由表查找出接口
为了解决上述的问题,即保证报文的源进源回功能;即请求报文从某条路径进入响应报文依然沿着同样的路径返回,而不用查找路由表来确定出接口。
[FW-GigabitEthernet1/0/1]redirect-reverse next-hop 11.0.0.2 ----开启源进源出功能,设定下一跳为11.0.0.2
[FW-GigabitEthernet1/0/1]gateway 11.0.0.2
[FW-GigabitEthernet1/0/2]redirect-reverse next-hop 12.0.0.2 ----开启源进源出功能,设定下一跳为12.0.0.2
[FW-GigabitEthernet1/0/2]gateway 12.0.0.2 ----设定网关
目的NAT
指的是对报文的目的地址和端口进行转换。
根据转换后的目的地址是否固定,目的NAT被分为静态目的NAT和动态目的NAT两种。
安全策略:
security-policy
rule name unturst_to_turst
source-zone untrust
destination-zone trust
destination-address 192.168.1.2 mask 255.255.255.255
destination-address 192.168.1.3 mask 255.255.255.255
action permit
静态一对一—地址到地址
1、创建目的NAT地址池
[FW]destination-nat address-group nat_01 -----创建nat地址池
[FW-dnat-address-group-nat_01]section 192.168.1.2 192.168.1.3 -----设置地址,这里的地址是企业内部的私网地址
2、配置NAT策略
[FW]nat-policy
[FW-policy-nat]rule name policy_nat1
[FW-policy-nat-rule-policy_nat1]source-zone untrust
[FW-policy-nat-rule-policy_nat1]destination-address range 12.0.0.10 12.0.0.11 ----公网地址,与防火墙连接untrust接口的IP地址处于相同网段。
[FW-policy-nat-rule-policy_nat1]action destination-nat static address-to-address address-group nat_01 -----设定动作为允许进行目的NAT转换,且机制为静态的地址到地址模式,调用地址族
3、配置黑洞路由
在该模式中,公网地址和私网地址的绑定关系,与配置顺序有关。
在该模式中,只能对IP地址进行转换,不能进行端口转换。而服务器的端口为80,所以导致防火墙也只能接收处理80端口的公网报文。----->存在安全隐患。
[FW-policy-nat-rule-policy_nat1]action destination-nat static address-to-address address-group nat_01 80 -----命令最后加的参数80,即为数据报文转换后的端口号。
添加该命令后,无论访问哪个地址的任意端口,都能定向访问服务器的80端口。
静态一对一—端口到端口
相当于将访问公网的端口和私网的端口进行一对一的映射,给内网做了一个隐秘接口。
服务中的内容,相当于公网的对外端口,可以编写多个。如果为多个,则目的端口转换信息也需要配置多个,目的端口必须为内网中真实存在的端口信息。
静态一对一—端口到地址
通过一个公网地址的不同端口去映射到内部不同的私网地址的同一个端口。
动态一对一—地址到端口
通过不同的公网地址的相同端口来映射内网的相同地址的不同端口。
实际上,一般在防火墙上,使用NAT Server就可以完成大部分的需求。
双向NAT
同时改变报文的源地址和目的地址。
不是单独的功能,而是源NAT和NAT Server的组合。----->组合指的是针对同一条数据流,在经过防火墙时,同时转换报文的源地址和目的地址。
-
域间NAT
- 报文的源地址和目的地址属于不同的安全区域。
- NAT inbound ---- 低级别安全区域访问高级别安全区区域
- 通常会与NAT Server配合使用
- NAT outbound ---- 高级别安全区域访问低级别安全区域
- 内网用户访问外网资源—>使用
-
域内NAT
- 报文的源地址和目的地址属于相同的安全区域。
- 域内NAT经常会和NAT Server配合使用。
当域间NAT或域内NAT和NAT Server一起配合使用时,也就实现了双向NAT。
域间NAT+NAT Server场景
1、安全策略(设定由外至内的安全策略)
security-policy
rule name untrust_to_trust
source-zone untrust
destination-zone trust
destination-address 192.168.1.1 mask 255.255.255.255
service http
service https
action permit
2、配置NAT Server
[FW]nat server protocol tcp global 202.1.1.10 9980 inside 192.168.1.1 80
3、配置源NAT
[FW]nat address-group nat_01
[FW-address-group-nat_01]mode pat
[FW-address-group-nat_01]section 192.168.1.10 192.168.1.10 ------注意点:源NAT地址池中配置的是私网地址,这是因为流量方向为从外至内
[FW-address-group-nat_01]route enable
4、NAT策略
nat-policy
rule name nat01
source-zone untrust
destination-zone trust
destination-address 192.168.1.1 mask 255.255.255.255
action source-nat address-group nat_01
注意:这里的NAT策略中的目的地址不是公网地址,而是NAT Server转换后的地址。destination-address 192.168.1.1 mask 255.255.255.255
。
当使用双向NAT转换时,内网服务器在回复报文时,回复的目的地址为与服务器同网段的IP地址,此时服务器可以不需要配置网关信息,而是直接发送ARP广播报文来询问目的地址对应的MAC信息,而防火墙会回复该ARP报文。---->前提:私网服务器与防火墙处于相同网段。
域内NAT+NAT Server场景
客户端登录服务器:
1:Clinet1访问服务器:流量:从Clinet1到DNS服务器
2:DNS服务器给Clinet1的回复信息,并告诉Clinet1,被访问服务器的地址为12.0.0.10
3:客户端访问12.0.0.10,流量从客户端到防火墙(192.168.1.1-->12.0.0.10)
4:防火墙本身能够处理从客户端发送过来的报文,并发送给HTTP服务器
5:防火墙将公网地址转换成服务器的地址(12.0.0.10-->192.168.1.2),所以防火墙回复的流量信息:192.168.1.1--->192.168.1.2
6:HTTP服务器收到来自防火墙的信息后,直接回包给客户端,流量:192.168.1.2-->192.168.1.1
但是,这时的客户端并没有登录到服务器;
因为,来回路径不一致导致数据报文被丢弃。
域内NAT配置:
1、安全策略
DNS安全策略
security-policy
rule name dns
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
destination-address 100.1.1.1 mask 255.255.255.255
action permit
2、源NAT配置------为了让clinet访问DNS服务器
nat-policy
rule name policy_dns
source-zone trust
destination-zone untrust
source-address 192.168.1.1 mask 255.255.255.255
destination-address 100.1.1.1 mask 255.255.255.255
service dns
action source-nat easy-ip
3、NAT Server
[FW]nat server protocol tcp global 12.0.0.10 9980 inside 192.168.1.2 80
客户端使用公网地址访问同企业的服务器时,因为防火墙仅执行了目的地址转换,倒是服务器会直接给Clinet回复数据报文,此时的源IP地址为NAT转换后的地址,而clinet访问的是NAT转换前的地址信息。故导致clinet丢弃该报文,即访问失败。
解决方式,在FW上进行NAT转换时,将源IP地址转换为公网IP地址,这样服务器的回复报文将会发送给FW,然后再由防火墙将目的IP地址恢复为Client想要的IP地址进行访问。
4、源NAT配置
[FW]nat address-group nat_01
[FW-address-group-nat_01]mode pat
[FW-address-group-nat_01]route enable
[FW-address-group-nat_01]section 12.0.0.20 12.0.0.20
NAT策略:
rule name nat_01
source-zone trust
destination-zone trust
source-address 192.168.1.1 mask 255.255.255.255
action source-nat address-group nat_01
注意:此时的流量走向是从trust---->trust区域,因为数据报文来到防火墙后,先进行目的NAT转换,然后查找路由表发现流量从原接口发回。
防火墙NAT处理流程:先匹配目的NAT,然后匹配路由表,确定目标安全区域,然后执行安全策略检查,检查通过,再匹配源NAT转换。
第八章:智能选路
智能选路是指到达目的网段有多条链路可选时,FW通过不同的智能选路方式,即根据链路带宽、权重、优先级…,动态的选择是最优链路,并根据链路实时状态动态进行调整分配,以此来提高链路资源的利用率和用户体验。
- 出站智能选路 ---- 当内网用户访问外网时,如果到达目的地存在多条链路
- 入站智能选路 ---- 当外网用户通过域名访问内网服务器时,向企业内网DNS服务器发起DNS请求,而DNS服务器返回解析地址给外网用户时,防火墙可以将DNS回应报文中的解析地址进行智能修改,给予用户最合适的解析地址。----- 智能DNS ----- 模拟器无法实现。
就近选路 ----- ISP选路
在多出口网络中,指的是将报文选择离目标网络花销较小的链路进行转发。
ISP路由功能 ---- 指的是把各个ISP的知名网段都集成在防火墙的内部,通过设置指定的出接口和下一跳批量下发静态路由,从而减少明细路由的配置工作。
健康检查机制 ---- 防火墙通过健康检查结果感知到网络中发生的变化,并立即做出相关的调整。必须与智能选路结合使用才有实际作用。---- 协议:可以使用ICMP、HTTP、TCP、DNS。
ISP选路案例
需求:
1、企业希望访问Server1的报文从ISP1的链路发送,访问Server2的报文从ISP2的链路发送
2、当其中任意一条链路故障时,后续流量可以自动切换到另外一条链路,保证传输可靠性
步骤一:配置健康检查
[FW]healthcheck enable -----激活健康检查
[FW]healthcheck name isp1 -----创建健康检查模板,名称为ISP1
[FW-healthcheck-isp1]destination 100.1.1.1 interface GigabitEthernet 1/0/1 protocol tcp-simple destination-port 80 ----目标为100.1.1.1,出接口GE1/0/1,协议为TCP的简单协议,端口号80
步骤二:应用健康检查
[FW]interface GigabitEthernet 1/0/1
[FW-GigabitEthernet1/0/1]healthcheck isp1
[FW]interface GigabitEthernet 1/0/2
[FW-GigabitEthernet1/0/2]healthcheck isp2
步骤三:上传ISP地址库 ----- 该步骤只能在web界面做
步骤四:配置链路接口
[FW]link-interface name isp_2
[FW-linkif-1]interface GigabitEthernet 1/0/2 next-hop 12.0.0.2 ----出接口和下一跳
[FW-linkif-1]healthcheck isp2 ----健康检查
[FW-linkif-1]isp isp2_联通 route enable ----开启ISP路由,ISP路由模板名称为ISP2_联通 (由于在命令行内无法注入汉字,所以在起名时经量避免使用汉字命名)
[FW-linkif-1]redirect-reverse enable ----源进源出
步骤五:安全策略
[FW]security-policy
[FW-policy-security]rule name policy_isp
[FW-policy-security-rule-policy_isp]source-zone trust
[FW-policy-security-rule-policy_isp]destination-zone untrust
[FW-policy-security-rule-policy_isp]source-address 192.168.1.0 24
[FW-policy-security-rule-policy_isp]action permit
步骤六:多出口NAT策略
nat-policy
rule name 1
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
destination-address 100.1.1.1 mask 255.255.255.255
action source-nat address-group 1
rule name 2
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
destination-address 200.1.1.1 mask 255.255.255.255
action source-nat address-group 2
关闭链路接口的缺省路由下放功能,否则无法正常下放明细路由。
在该模式下,一般采用ISP下放明细,管理员配置缺省路由的方式,来实现明细+缺省的选路方式。----- 是配置最简单、最方便实用的,在一般企业网络中都可以应用。---- 如果企业需要对某种特殊用户(管理者)、某种特殊应用(P2P应用)的流量进行区别转发,则该选路方式无法使用。
策略路由选路
查找路由表进行数据转发 ------ 只能根据报文的目的地址为用户提供转发服务;无法提供有差别的服务。
所谓的策略路由,即根据一定的策略进行报文转发,因为策略路由是一种比路由更灵活的一种转发机制,且匹配优先级是高于路由表的。----- 策略路由是在路由表已经产生的情况下,不按照现有的路由表进行转发,而是根据用户指定的策略进行路由选择机制。
注意:策略路由无法代替路由表。
多出口组网 ---- 策略路由的应用点。
策略路由基本概念
策略路由 ---- PBR;是一种依据用户指定的策略进行路由选择的机制,优先级高于路由表。
设备收到报文后,若能匹配策略,则按照策略路由规则转发;若不能,则根据目的地址查找路由表。
**策略路由和路由策略**的区别:
-
策略路由 ----- 数据包
-
路由策略 ----- 路由项
策略路由 ----- 条件+动作
-
条件:源目安全区域、源目IP地址、协议类型、应用类型等
- 其中源安全区域和入接口是互斥选项。
- 一条策略中,可以包含多个匹配条件,而多个条件之间的关系是“与”关系,报文必须满足所有条件才认为是匹配成功,而每一个条件中可以包含多个参数,参数之间关系为“或”关系,报文只需要匹配一个即匹配该条件。
-
动作:
- 转发
- 单出口:报文发送到指定的下一跳设备或从指定接口发出
- 多出口:利用智能选路功能,从多个接口中选择一个出接口发送
- 转发到其他虚拟系统
- 不做策略路由:按照现有的路由表进行转发
- 转发
匹配规则:自上而下,逐一匹配,一旦匹配,则不在向下匹配。
如果策略路由中指定的出接口或下一跳Down或不可达,那么报文将以目的地址为依据查找路由表进行数据转发。
路由器上的策略路由:
1、本地策略路由:仅对本地下放的数据报文起作用,不对转发的报文起作用。
2、接口策略路由:仅对转发的报文起作用,不对本地下放的数据报文起作用。
技术:流策略技术(流---数据)
流策略、流行为、流分类
基于源IP地址的策略路由
需求:
1、市场部,对网速要求较高,通过ISP-A访问互联网
2、研发部,对网速要求不高,通过ISP-B访问互联网
1,安全策略配置
security-policy
rule name trust_to_untrust
source-zone trust
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
action permit
2,IP-Link安全策略
IP-Link功能:指的是FW通过向指定目的IP周期性发送探测报文并等待应答,来判断链路是否发生故障。
FW发送三次探测报文(15s时间),没有收到响应报文,则认为链路故障,IP-Link状态切换为down。
rule name ip_link
source-zone local
destination-zone untrust
action permit
3,IP-Link功能
[FW]ip-link check enable ---开启ip-Link功能
[FW]ip-link name pbr_1 ----创建ip-Link列表
[FW-iplink-pbr_1]destination 34.0.0.4 interface GigabitEthernet 1/0/1
[FW]ip-link name pbr_2
[FW-iplink-pbr_2]destination 24.0.0.4 interface GigabitEthernet 1/0/2
4,配置策略路由
policy-based-route -----进入PBR配置视图
rule name pbr_1 -----创建策略1
source-zone trust -----源区域
source-address 192.168.1.1 mask 255.255.255.255 ------源地址
destination-address 100.1.1.1 mask 255.255.255.255 -----目的地址
track ip-link pbr_1 ------绑定IP-Link监控
action pbr next-hop 13.0.0.3 ------设定动作以及下一跳
rule name pbr_2
source-zone trust
source-address 192.168.1.2 mask 255.255.255.255
destination-address 100.1.1.1 mask 255.255.255.255
track ip-link pbr_2
action pbr next-hop 12.0.0.2
5,配置NAT
旁挂出口选路
但是,此时的策略路由不是在防火墙上配置的,而是在路由器或核心交换机上配置的。
此时,防火墙的任务是对流入的流量进行安全防护,以及将流量回注到路由器上。
思路:
PC1----->Internet:
PC1----R3----R2
外网回程流量:
R2----R3-----FW
FW----R3-----PC1
[R2]ip route-static 192.168.1.0 24 10.1.1.3
R3:
缺省路由指向外网环境
[R3]ip route-static 0.0.0.0 0 10.1.1.2
PBR将回程流量引入到FW
FW:
使用静态路由将流量回注给R3
[FW]ip route-static 192.168.1.0 24 10.1.3.3
R3:
1、ACL抓取流量
[r3]ac1 2000
[r3-ac1-basic-2000]rule permit source 100.1.1.1 0
2、流分类
[r3]traffic classifier 1
[r3-classifier-1lif-match acl 2000
3、流行为
[r3]traffic behavior 1
[r3-behavior-1]redirect ip-nexthop 10.1.2.1
4、流策略
[r3]traffic policy 1
[r3-trafficpolicy-1]classifier 1 behavior 1
5、调用策略
[r3]interface GigabitEthernet 0/0/2
[r3-GigabitEthernet0/0/2]traffic-policy 1 inbound
FW:
划分安全区域:
[FW]firewall zone trust
[FW-zone-trust]add interface GigabitEthernet 1/0/1
[FW]firewall zone untrust
[FW-zone-untrust]add interface GigabitEthernet 1/0/0
安全策略:
security-policy
rule name 1
source-zone untrust
destination-zone trust
action permit
[FW]undo firewall session link-state icmp check ----关闭防火墙的icmp状态检测
全局选路策略
等价路由 ---- 逐流负载分担转发模式;使用源IP地址和目的IP地址进行HASH计算选择出接口。不需要考虑链路的实际带宽或者链路的实际状态。
根据带宽、权重、优先级、质量等等链路的参数,来作为用户流量的转发选择。
链路带宽负载分担
FW按照带宽比例将流量分配到各个链路上。
FW根据各个接口指定带宽的比例来分配流量,而不是根据流量的实际流速来分配。所以,各接口链路上分配的流量比例只能是接近带宽比例,但是会存在一定的波动。
过载保护机制 ----- 管理员为每一条链路设定一个保护阈值,假定为90%。当某条链路带宽使用率达到90%,已建立会话的流量仍从该链路发送。而未建立会话的会从其他未过载的链路中智能选路,后续按照未过载链路之间的宽带比例进行负载分担。----- 如果所有链路都已经过载,那么防火漆昂按照最初的规划进行流量转发。
会话保持机制 ----- 上网用户流量首次选择某条链路后,FW会生成相应的会话表项,而后续新的流量如果命中了该会话表项,FW按照会话表项中记录的链路转发流量。
1、配置链路接口
[FW]link-interface name r2 ----创建链路接口
[FW-linkif-0]interface GigabitEthernet 1/0/2 next-hop 12.0.0.2 -------设定该链路接口参数
[FW-linkif-0]redirect-reverse enable ------开启源进源出功能
[FW]link-interface name r3
[FW-linkif-1]interface GigabitEthernet 1/0/1 next-hop 13.0.0.3
[FW-linkif-1]redirect-reverse enable
2、配置接口所在链路带宽以及过载保护机制
[FW]interface GigabitEthernet 1/0/1
[FW-GigabitEthernet1/0/1]bandwidth ingress 200000 ------入方向带宽为200M
[FW-GigabitEthernet1/0/1]bandwidth egress 200000 ------出方向带宽为200M
[FW-GigabitEthernet1/0/1]bandwidth ingress 200000 threshold 95 ------入方向带宽200M以及过载保护,过载保护阈值95%
[FW-GigabitEthernet1/0/1]bandwidth egress 200000 threshold 95
[FW-GigabitEthernet1/0/1]gateway 13.0.0.3 ----设定网关
[FW]interface GigabitEthernet 1/0/2
[FW-GigabitEthernet1/0/2]bandwidth ingress 100000 threshold 90
[FW-GigabitEthernet1/0/2]bandwidth egress 100000 threshold 90
[FW-GigabitEthernet1/0/2]gateway 12.0.0.2
3、配置全局选路策略
[FW]multi-linkif -----进入多出口链路策略配置视图
[FW-multi-linkif]mode proportion-of-bandwidth -----选择链路带宽负载分担
[FW-multi-linkif]add linkif r2
[FW-multi-linkif]add linkif r3
[FW-multi-linkif]session persistence enable ------开启会话保持功能
[FW-multi-linkif]session persistence mode destination-ip ---设定会话保持功能模式为目的IP
链路质量负载分担模式
FW优先使用链路质量高的链路转发。
-
丢包率 ---- FW发送若干个探测报文后,统计丢包的个数,从而计算得出的丢包概率
-
时延 ---- 回应报文的接收时间减去探测报文的发送时间;而是发送多次探测报文,取平均值
-
时延抖动 ---- 相邻两次探测的时延之差;需要多次计算,取平均值。
防火墙会自动向目的IP发送链路质量探测报文,从而获取探测信息—>保存在链路质量探测表中。
当有流量到达防火墙时,防火墙会根据报文的目的IP去匹配探测表;如果探测表中存在记录,按照探测结果转发数据,如果未匹配,则自动向目的IP发起质量探测,并将结果记录在表项中。------默认情况下,链路质量探测报文的类型TCP协议。如果是针对非TCP业务流量,则使用ICMP协议进行检测。
链路权重负载分担模式
注:权重可自定义设置。
链路优先级主备备份模式
注:优先级可以自定义设置
。
FW优先使用主接口转发流量 。
- 主备备份
- FW优先使用主接口转发流量,如果没有为主接口配置过载保护阈值,那么即使过载,FW也不会使用其他链路传输。
- 只有配置了过载保护阈值,优先级次高的接口才会启动,替代主接口进行数据转发。
- 负载分担
- 为各个接口设置过载保护阈值。当主接口过载时,FW优先使用次高的备份接口和主接口一起分担流量。
备份接口自动关闭功能:会将主接口以外的接口全部关闭。只有当主接口故障或过载保护时,最优的备份接口才会up。
透明DNS选路
1、在企业出口防火墙上,设置一个“虚拟DNS服务器”,将内网用户的DNS设定为这个虚拟DNS服务器的地址。
2、当内网用户发送DNS请求时,虚拟DNS服务器作为中间人,根据预配置的算法,将DNS请求报文发送给各个ISP内部的DNS服务器。
- 简单轮询算法 — 依次分配
- 加权轮询算法 ---- 将DNS请求按照一定权重依次分配到各个ISP的DNS服务器上
3、不同ISP的DNS服务器根据请求信息进行解析,并将解析结果回复给防火墙,由防火墙返回给内网用户。
4、内网用户使用不同的解析IP地址进行访问,实现流量负载分担。
配置
1、配置真实DNS服务器信息
[FW]slb enable ----开启服务器负载均衡功能
[FW]slb ------进入服务器负载均衡配置视图
[FW-slb]group 0 dns -----创建服务器组
[FW-slb-group-0]metric roundrobin -----算法修改为简单轮询算法
[FW-slb-group-0]rserver 0 rip 100.1.1.1 port 53 -----设定真实服务器IP地址和端口号
[FW-slb-group-0]rserver 1 rip 200.1.1.1 port 53
2、创建虚拟服务,虚拟DNS服务器
[FW]slb
[FW-slb]vserver 0 dns -----创建虚拟服务器组
[FW-slb-vserver-0]vip 10.10.10.10 -----设定虚拟服务器IP地址
[FW-slb-vserver-0]group dns ------关联真实服务器组,组名为dns
3、配置DNS透明代理功能
[FW]dns-transparent-policy ------进入DNS透明代理视图
[FW-policy-dns]dns transparent-proxy enable -----开启透明代理功能,模拟器上无法通过web页面配置,只能通过命令开启
[FW]dns-transparent-policy
[FW-policy-dns]dns server bind interface GigabitEthernet 1/0/1 preferred 100.1.1.1 ------将100.1.1.1这个DNS的IP地址与出接口绑定
[FW-policy-dns]dns server bind interface GigabitEthernet 1/0/2 preferred 200.1.1.1 ------将200.1.1.1这个DNS的IP地址与出接口绑定
4、配置透明代理策略
[FW]dns-transparent-policy
[FW-policy-dns]rule name dns_policy -----创建策略规则
[FW-policy-dns-rule-dns_policy]source-address 192.168.1.0 24 ----设定源IP地址
[FW-policy-dns-rule-dns_policy]enable ----启用规则
[FW-policy-dns-rule-dns_policy]action tpdns -----配置DNS透明代理规则动作为“代理”