华为防火墙实现多线路智能选路
分公司因项目需要,上线一台华为的防火墙,为了保障互联网出口的可用性,使用了两条SP链路,一条联通50M企业专线,一条电信200M拨号链路。项目的需求是:
1. 连接到总部的×××流量,优先使用联通线路;
2. 用户上网的流量,优先使用电信线路;
3. 当一条公网链路出现故障时,能自动进行切换。
需求出来后,就需要进行实施了,怎么实现需求呢:
1. 需置两条链路都要能上网
2. 配置健康状态检查,当检测到一条链路断开,就不会使用这条链路转发流量
3. 做策略路由,使用根据链路优先级主备模式的数据转发模式
接口配置:g1/0/0 联通专线,静态公网IP,另外配置了一个地址池; g1/0/1,电信拨号链路,使用Easy IP的NAT方式; g1/0/2,内网接口
安全区域:g1/0/0和g1/0/1都配置在untrust区域,LAN口配置在Trust区域
一、 配置上网,包括安全策略、NAT策略和默认路由
1. 接口配置:配置公网接口和内网接口的IP地址及选择相应的健康状态检查,第一步需要注意的就是,对上行的公网接口,需要选定健康状态检查的选项。
g1/0/0
g1/0/1
2. 安全策略:对于从untrust到trust的所有流量,动作为permit。
3. NAT策略,需要两条
A. 一条是出接口为联通的,转换为addressgroup1中的地址。这个地址,在WEB界面,我只发现了在选择地址池那里新建,没有看到别的位置。命令行可以进行配置
nat address-group addressgroup1 0
mode pat
route enable
section 0 58.241.X.X 58.241.X.X
3. 默认路由和回包路由
写两条默认路由,分别指向电信和联通,由于电信是PPPOE拨号的,所以直接写成出接口Dialer0
二、 对上行的SP链路进行健康检查
这一步,应该放到最前面,并在接口下进行引用
链路健康状态的检查,实际上就是FW使用公网接口,每隔指定的时间(5秒),对目的地址进行连通性测试,如果测试失败,则认为这条上行链路断开,在使用策略路由后,会进行链路的切换
被测试的地址,如果你的链路是固定的公网IP,可以指定为网关,如果是拨号链路,可以指定为SP的一DNS地址。
三、配置策略路由,使用主备式的多出口方法,通过优先级来实现选路
由于我们的需求是将×××流量和普通上网流量进行区分,所以我这边的多出口选项,选用的是根据链路优先级进行主备备份的方式转发数据包。对于两条SP链路,你想使用哪一条转发,则将该接口的优先级调大。
1. ×××流量优先走联通(由于我们使用的×××是单臂模式进行部署的,所以我们的×××流量总是以×××设备为源地址转发到目的地址的。当然,这个流量也可以使用目的IP为对端的公网IP或者协议的端口号进行识别,此处需要了解IPSec ×××的数据包封装的知识)
2. 上网流量,优先走电信
接下来可以进行测试了,在我的真实环境中,智能选路结果如下:
1. 对于上网的流量,丢包在0~2个,用户基本无感知
2. 对于IPSec ×××的流量,由于联通链路中断,会丢失×××连接,需要进行重新连接,断网在20秒左右
这样,就实现了我们的高可用需求。任意一条公网链路down掉,都不会影响用户使用网络办公。对于智能选路的方式,还有根据带宽比例负载等,这些可以根据大家的需求使用。
附华为USG6000系列FW的手册,更多内容可以参考手册。
https://support.huawei.com/hedex/hdx.do?docid=EDOC1100068395&lang=zh&idPath=7919710%7C9856724%7C21430823%7C21100508%7C8661805