防火墙高可用实战:基于eNSP的双机热备核心配置与故障切换验证

张开发
2026/4/17 15:07:02 15 分钟阅读

分享文章

防火墙高可用实战:基于eNSP的双机热备核心配置与故障切换验证
1. 防火墙双机热备的核心价值第一次接触防火墙双机热备方案时我盯着机房里那两台USG6000系列设备发愣——明明一台就能搞定的事为什么要多花一倍预算部署两台直到某次凌晨三点被紧急电话叫醒亲眼目睹主防火墙宕机导致整个园区网络瘫痪后才真正理解高可用架构的价值所在。简单来说双机热备就像给网络上了双重保险。主防火墙正常工作时备用设备默默待机但保持实时同步一旦主设备出现硬件故障、链路中断或软件崩溃备用设备能在毫秒级完成接管。实际测试中从主设备断电到备机接管的业务中断时间通常控制在1-3个数据包丢失范围内用户几乎感知不到切换过程。在eNSP模拟环境中搭建这套系统特别适合新手练手。相比动辄几十万的物理设备用模拟器可以零成本反复测试各种故障场景。我建议初学者重点关注三个核心协议VRRP负责虚拟IP的漂移VGMP管理设备状态同步HRP实现配置和会话的实时备份。这三个协议配合工作才能确保切换时业务不中断。2. eNSP实验环境搭建要点在开始配置前我们需要准备一个完整的实验环境。推荐使用eNSP V100R003C00版本这个版本对USG6000V防火墙的支持最稳定。我遇到过不少学员用新版eNSP时出现HRP同步异常的问题回退到这个版本后都解决了。实验拓扑建议按这个结构搭建[PC1]----[FW1]----[Router]----[Cloud] | | [PC2]----[FW2]----[Switch]关键点在于要给两台防火墙配置心跳线。我习惯用GigabitEthernet 1/0/6接口IP地址设置为10.10.0.1/30和10.10.0.2/30。这里有个坑要注意心跳接口必须加入DMZ安全域否则HRP协议报文会被防火墙自己拦截。设备初始化时建议先关闭所有防火墙策略等HRP同步正常后再逐步添加策略。有次我忘记这个步骤结果主备设备始终无法同步配置排查了半天才发现是安全策略阻止了HRP报文传输。3. 主备防火墙详细配置解析3.1 基础接口配置以FW1为例关键配置包括# 配置外网接口 interface GigabitEthernet1/0/1 ip address 1.1.1.1 255.255.255.0 service-manage ping permit # 配置心跳接口 interface GigabitEthernet1/0/6 ip address 10.10.0.1 255.255.255.252 service-manage all permit # 配置内网接口 interface GigabitEthernet1/0/2 ip address 10.3.0.1 255.255.255.0FW2的配置要特别注意两点一是心跳接口IP要配对10.10.0.2二是所有接口的安全域划分必须与FW1完全一致。曾经有学员在内网接口的安全域配置上主备不一致导致切换后流量被错误丢弃。3.2 VRRP核心配置VRRP的配置直接决定主备切换的可靠性。建议配置两个VRRP组实现接口级冗余# FW1上的配置 interface GigabitEthernet1/0/1 vrrp vrid 1 virtual-ip 1.1.1.254 vrrp vrid 1 priority 120 vrrp vrid 1 preempt-mode timer delay 20 interface GigabitEthernet1/0/2 vrrp vrid 2 virtual-ip 10.3.0.254 vrrp vrid 2 priority 120 # FW2上的配置 interface GigabitEthernet1/0/1 vrrp vrid 1 virtual-ip 1.1.1.254 vrrp vrid 1 priority 100 interface GigabitEthernet1/0/2 vrrp vrid 2 virtual-ip 10.3.0.254 vrrp vrid 2 priority 100priority参数决定设备初始角色主设备建议设为120备设备保持默认100。preempt-mode delay 20表示主设备恢复后延迟20秒再抢占避免频繁切换。3.3 HRP热备协议配置HRP是华为防火墙的私有协议配置不当会导致会话无法同步# 两台防火墙都要配置 hrp enable hrp interface GigabitEthernet1/0/6 hrp remote ip-address 10.10.0.2 # FW1上写对端IP hrp sync config # 立即同步配置配置完成后一定要检查同步状态display hrp state正常应该看到HRP_M的主设备标识和HRP_S的备设备标识。如果显示HRP_A表示协商异常需要检查心跳链路连通性。4. 故障切换实战测试4.1 正常状态验证在PC上持续ping外网地址如8.8.8.8同时观察防火墙状态# 查看主设备状态 display vrrp display hrp state display session table # 查看备设备状态 display hrp state主设备上应该能看到活跃的VRRP状态和会话表备设备上会话表应为空但HRP状态正常。4.2 模拟主设备故障我常用的三种故障测试方法直接关闭FW1的电源模拟硬件故障禁用FW1的外网接口模拟链路故障interface GigabitEthernet1/0/1 shutdown在FW1上执行强制切换命令hrp switch测试时建议配合Wireshark抓包观察VRRP通告报文的中断和恢复过程。正常情况下备设备会在3个VRRP周期约9秒内检测到主设备失效然后接管虚拟IP。4.3 切换过程分析成功的切换会呈现以下现象ping测试会丢失2-4个包具体取决于VRRP timer配置在备设备上输入display session table会看到原有会话主设备恢复后约20秒后会重新接管因为配置了preempt delay常见问题排查技巧如果切换后ping完全不通检查备设备的安全策略是否同步如果会话丢失确认HRP状态是否正常如果切换时间超过10秒检查VRRP timer配置5. 生产环境部署建议在真实项目中部署双机热备时有几个经验值得分享首先是心跳链路的设计。我强烈建议使用独立物理接口交叉线直连避免经过交换机。曾经有个项目因为心跳链路走普通业务交换机结果交换机故障导致脑裂现象。如果必须经过交换机一定要配置QoS保证心跳报文优先传输。其次是监控策略。除了常规的ping监控外应该配置SNMP trap监控HRP状态变化。这里有个实用脚本可以监控切换事件#!/bin/bash while true do STATUS$(ssh adminfirewall display hrp state | grep Local HRP state) if [[ $STATUS ! $LAST_STATUS ]]; then echo $(date) HRP状态变化$STATUS LAST_STATUS$STATUS fi sleep 5 done最后关于版本选择。主备设备必须运行完全相同的软件版本否则可能出现配置同步失败。有次升级时先升了主设备结果HRP同步立即异常不得不紧急回退。

更多文章