防火墙双机主备不想敲命令行?华为Web界面点着配好一台故障另一台接管
出口就摆一台防火墙,怕的就是它突然宕机——设备一停,全员断网,等着重启的功夫业务全卡住。解法是双机热备的主备备份模式:两台防火墙一主一备,心跳口互联,正常情况下流量全部走主设备,主设备一出故障,流量自动切到备设备,业务不中断。之前介绍过命令行版的负载分担配法,但双机这类配置页面上点着配其实更省心——华为官方文档给过一个完整 Web 举例:两台设备直路部署、上下行连接交换机的主备备份组网,从接口、路由一路点到双机热备、安全策略和 NAT 策略。本篇把官方 Web 版的每一步页面路径和参数原样搬过来,配完两台的整机脚本也一并附上。
本文的组网需求、配置思路与命令步骤,整理自华为官方发布的典型配置案例,参数可直接参考使用。
组网需求与数据规划
如图1所示(官方组网图),DeviceA 和 DeviceB 的业务接口都工作在三层,上下行分别连接二层交换机。上行交换机连接运营商的接入点,运营商为企业分配的 IP 地址为 1.1.1.1。现在希望 DeviceA 和 DeviceB 以主备备份方式工作:正常情况下,流量通过 DeviceA 转发;当 DeviceA 出现故障时,流量通过 DeviceB 转发,保证业务不中断。本例中 interface1、interface3、interface7 分别代表 GE0/0/1、GE0/0/3、GE0/0/7。
把两台的接口与地址规划整理成表:
| 设备 | 接口 | 安全区域 | IP 地址 | VRRP 虚拟地址 |
|---|---|---|---|---|
| DeviceA(主) | GE0/0/1 | untrust | 10.2.0.1/24 | 1.1.1.1(vrid 1,active) |
| DeviceA(主) | GE0/0/3 | trust | 10.3.0.1/24 | 10.3.0.3(vrid 2,active) |
| DeviceA(主) | GE0/0/7 | dmz | 10.10.0.1/24 | 心跳口,无 |
| DeviceB(备) | GE0/0/1 | untrust | 10.2.0.2/24 | 1.1.1.1(vrid 1,standby) |
| DeviceB(备) | GE0/0/7 | dmz | 10.10.0.2/24 | 心跳口,无 |
| DeviceB(备) | GE0/0/3 | trust | 10.3.0.2/24 | 10.3.0.3(vrid 2,standby) |
配套规划:两台缺省路由均为 0.0.0.0/0、下一跳 1.1.1.10;NAT 地址池 1.1.1.2~1.1.1.5 供内网用户上网转换源地址;安全策略放行内网 10.3.0.0/24 访问 Internet;内网 PC 的默认网关指向 VRRP 备份组 2 的虚拟 IP 地址(10.3.0.3)。
整体脉络:先把两台的接口和路由配齐,再开双机热备把两台绑成一主一备,然后在主设备上配安全策略和 NAT 策略(热备建立后自动同步到备设备),收尾把交换机、PC 网关和上行 Router 对齐。
Web 页面操作步骤
第 1 步,配置各接口的 IP 地址,并将接口加入安全区域。先在 DeviceA 上配置接口。
- 选择"网络 > 接口"。
- 单击"GE0/0/1",按如下参数配置,单击"确定":安全区域 untrust,IPv4 地址 10.2.0.1/24。
- 参考上述步骤配置 GE0/0/3 接口:安全区域 trust,IPv4 地址 10.3.0.1/24。
- 参考上述步骤配置 GE0/0/7 接口:安全区域 dmz,IPv4 地址 10.10.0.1/24。
再在 DeviceB 上配置接口。
- 选择"网络 > 接口"。
- 单击"GE0/0/1",按如下参数配置,单击"确定":安全区域 untrust,IPv4 地址 10.2.0.2/24。
- 参考上述步骤配置 GE0/0/3 接口:安全区域 trust,IPv4 地址 10.3.0.2/24。
- 参考上述步骤配置 GE0/0/7 接口:安全区域 dmz,IPv4 地址 10.10.0.2/24。
第 2 步,配置静态路由。DeviceA 的配置与 DeviceB 完全相同,下文仅以 DeviceA 的配置过程为例进行介绍。
- 选择"网络 > 路由 > 静态路由"。
- 在"静态路由列表"中,单击"新建",按如下参数配置缺省路由,单击"确定":协议类型 IPv4,目的地址/掩码 0.0.0.0/0.0.0.0,下一跳 1.1.1.10,出接口 GE0/0/1。
第 3 步,配置双机热备功能。先在 DeviceA 上配置。
- 选择"系统 > 高可靠性 > 双机热备",单击"配置"。
- 开启"双机热备"后,按官方页面示例参数配置,单击"确定"。
再在 DeviceB 上配置双机热备功能,页面路径相同:选择"系统 > 高可靠性 > 双机热备",单击"配置",开启后按参数配置,单击"确定"。这一步页面上配的三件事,对应文末配置脚本里的三条命令:启用双机热备(hrp enable)、指定心跳口及对端地址(DeviceA 上为 hrp interface GE0/0/7 remote 10.10.0.2,DeviceB 上对端为 10.10.0.1)、配置 HRP 认证密钥(hrp authentication-key)。两台的认证密钥要配成一致,设备间才能建立热备关系。
第 4 步,配置安全策略。在 DeviceA 上配置安全策略,允许内网用户访问 Internet。双机热备状态成功建立后,在 DeviceA 上配置的安全策略会自动备份到 DeviceB 上。
- 选择"策略 > 安全策略 > 安全策略"。
- 单击"新建安全策略",按照如下参数配置安全策略,单击"确定":名称 trust_to_untrust,源安全区域 trust,目的安全区域 untrust,源地址 10.3.0.0/24,动作 允许。
第 5 步,配置 NAT 策略。在 DeviceA 上配置 NAT 策略,使内网用户通过转换后的公网 IP 地址访问 Internet——当内网用户访问 Internet 时,将源地址由 10.3.0.0/16 网段转换为地址池中的地址(1.1.1.2~1.1.1.5)。双机热备状态成功建立后,在 DeviceA 上配置的 NAT 策略会自动备份到 DeviceB 上。
- 选择"策略 > NAT策略 > NAT策略"。
- 选择"源转换地址池"页签,单击"新建",按照如下参数配置 NAT 地址池,单击"确定":地址池名称 addressgroup1,IP 地址范围 1.1.1.2-1.1.1.5。
- 选择"NAT策略"页签,单击"新建",按照如下参数配置 NAT 策略,单击"确定":名称 policy_nat1,NAT 类型 NAT,转换模式 仅转换源地址,源安全区域 trust,目的类型为目的安全区域 untrust,源地址 10.3.0.0/16,源地址转换为地址池中的地址,源转换地址池 addressgroup1。
第 6 步,配置 Switch 和内网 PC。
- 分别将两台 Switch 的三个接口加入同一个 VLAN,具体配置命令参考交换机的相关文档。
- 将内网 PC 的默认网关设置为 VRRP 备份组 2 的虚拟 IP 地址(10.3.0.3),具体步骤从略。
第 7 步,配置 Router。在 Router 上配置到 DeviceA 和 DeviceB 的等价路由,路由下一跳指向 VRRP 备份组 1 的虚拟 IP 地址。
检查配置结果
选择"系统 > 高可靠性 > 双机热备",查看双机热备的运行情况。
- 正常情况下,DeviceA 的"当前运行模式"为"主备备份"、“当前运行角色"为"主用”;DeviceB 的"当前运行模式"为"主备备份"、“当前运行角色"为"备用”。这说明流量通过 DeviceA 转发。
- 当 DeviceA 出现故障时,DeviceA 的"当前运行模式"为"主备备份"、“当前运行角色"为"备用”;DeviceB 的"当前运行模式"为"主备备份"、“当前运行角色"为"主用”。这说明流量通过 DeviceB 转发。
判读要点:这一页就是主备关系的仪表盘——两台的运行角色必须是一主一备,如果两台都显示主用或者都是备用,说明热备关系没建立起来,先回头查心跳口和认证密钥;只有角色正确成对,故障时的自动接管才成立。
配置脚本
页面点完不放心,可以和官方给的两台整机脚本对一遍。DeviceA:
#
sysname DeviceA
#
hrp enable
hrp interface GE0/0/7 remote 10.10.0.2
hrp authentication-key %+%##!!!!!!!!!"!!!!"!!!!*!!!!J6+;U#>V\!_e1NY[iGLXjT%k=rKkg,Z)CI0!!!!!!!!!!!!!!!:!!!!Ec&0;Y9kF~"+*IM>Io(Sm{&9' 5y$6'L:2@-!!!!!%+%#
#
interface GE0/0/1
ip address 10.2.0.1 255.255.255.0
vrrp vrid 1 virtual-ip 1.1.1.1 255.255.255.0 active
#
interface GE0/0/3
ip address 10.3.0.1 255.255.255.0
vrrp vrid 2 virtual-ip 10.3.0.3 active
#
interface GE0/0/7
ip address 10.10.0.1 255.255.255.0
#
firewall zone trust
set priority 85
add interface GE0/0/3
#
firewall zone untrust
set priority 5
add interface GE0/0/1
#
firewall zone dmz
set priority 50
add interface GE0/0/7
#
ip route-static 0.0.0.0 0.0.0.0 1.1.1.10
#
nat address-group group1
section 0 1.1.1.2 1.1.1.5
#
security-policy
rule name trust_to_untrust
source-zone trust
destination-zone untrust
source-address 10.3.0.0 24
action permit
#
nat-policy
rule name policy_nat1
source-zone trust
destination-zone untrust
source-address 10.3.0.0 16
action source-nat address-group group1
#
DeviceB:
#
sysname DeviceB
#
hrp enable
hrp interface GE0/0/7 remote 10.10.0.1
hrp authentication-key %+%##!!!!!!!!!"!!!!"!!!!*!!!!\FR0@B|5m51t2(SLB$(Yzq_KUB|V43Td3,.!!!!!!!!!!!!!!!:!!!!>$P4S-0S{KqT>VWoG2!K9t\i4 t;1e+vR$$U!!!!!%+%#
#
interface GE0/0/1
ip address 10.2.0.2 255.255.255.0
vrrp vrid 1 virtual-ip 1.1.1.1 255.255.255.0 standby
#
interface GE0/0/3
ip address 10.3.0.2 255.255.255.0
vrrp vrid 2 virtual-ip 10.3.0.3 standby
#
interface GE0/0/7
ip address 10.10.0.2 255.255.255.0
#
firewall zone trust
set priority 85
add interface GE0/0/3
#
firewall zone untrust
set priority 5
add interface GE0/0/1
#
firewall zone dmz
set priority 50
add interface GE0/0/7
#
ip route-static 0.0.0.0 0.0.0.0 1.1.1.10
#
nat address-group group1
section 0 1.1.1.2 1.1.1.5
#
security-policy
rule name trust_to_untrust
source-zone trust
destination-zone untrust
source-address 10.3.0.0 24
action permit
#
nat-policy
rule name policy_nat1
source-zone trust
destination-zone untrust
source-address 10.3.0.0 16
action source-nat address-group group1
#
两份脚本对照着看主备关系一目了然:心跳口互指对端(.2 与 .1),上行下行两个 VRRP 备份组 DeviceA 全部 active、DeviceB 全部 standby,安全策略和 NAT 策略两边内容一致(主设备配置、热备同步过去的)。
容易踩的坑
- 接口成对规划:两台对应接口地址尾号分别为 .1 和 .2,心跳口 GE0/0/7 单独占一对地址(10.10.0.1/10.10.0.2)并放入 dmz 域,别和业务口混用。
- VRRP 角色两台要配对:DeviceA 的两个备份组都配 active、DeviceB 都配 standby(脚本里 virtual-ip 行尾的 active/standby 就是角色),上行虚拟 IP 是运营商分配的 1.1.1.1,下行虚拟 IP 10.3.0.3 是内网网关。
- 策略只在主设备上配:安全策略、NAT 策略配在 DeviceA 上即可,双机热备状态建立后会自动备份到 DeviceB——两台各自手敲一遍反而容易出不一致。
- 两处名称与掩码差异别"顺手统一":Web 步骤里地址池名为 addressgroup1,配置脚本里写的是 group1;NAT 策略源地址在脚本里是 10.3.0.0 16,而安全策略源地址是 10.3.0.0 24——这些均为官方内容,按各自原文核对即可,实际配置时保持前后引用一致就行。
- 认证密钥两台必须一致,这是热备关系建立的前提之一;心跳线建议单独一根直连,不经过交换机。
- 内网 PC 网关指向 10.3.0.3 而不是任何一台的物理地址;上行 Router 配等价路由、下一跳指向 VRRP 备份组 1 的虚拟 IP(1.1.1.1),这样无论哪台当家,回程流量都能找对门。
双机热备平时看不出差别,建议挑个业务空闲时段做一次主设备断电演练,看角色对调和业务恢复是否顺畅——贵州企业没条件自己演练的,可以请诚鑫致达科技上门带着做一次,配得稳不稳当场见分晓。各厂商设备的命令与页面参数存在差异,本文步骤与脚本均出自华为官方文档,操作前请核对你的设备型号与软件版本。
源:华为USG防火墙6000F-S官方文档