华为 USG6000 HRP 双机热备配置与切换排查 - 夜莺博客

华为 USG6000 HRP 双机热备配置与切换排查

华为 USG6000 系列防火墙的双机热备依赖 HRP(Huawei Redundancy Protocol)。它把两台防火墙组成一台逻辑设备,在心跳链路上同步会话表、配置和 VGMP 状态,主设备故障时备设备接管,已建立的连接不中断。本文按实战顺序梳理 HRP 的配置要点、主备角色协商机制、切换后的验证命令,以及现场最常见的“双主”“双备”两类故障如何定位。所有命令均来自华为官方文档,可直接在实验设备上复现。

HRP 的三个组成部分

配置之前先理清三个概念,后面所有排障都围绕它们展开:

  • 心跳链路(hrp interface):主备之间传递 HRP hello、链路探测报文、配置与表项备份报文、一致性检查报文的专用通道,建议直连或走独立 VLAN。
  • VGMP 组:统一管理 VRRP 组的状态,把接口故障、IP-Link 故障映射成优先级变化,从而触发主备切换。
  • 自动备份(hrp auto-sync):默认开启,主设备的配置和状态表项会自动同步到备设备,备设备上无法手工配置被同步的命令。

基础配置步骤

两台设备必须配置一致的心跳接口地址规划和相同的认证密钥,否则热备关系建立不起来。

<FW_A> system-view
[FW_A] hrp authentication-key YsHsjx_202206
[FW_A] hrp interface GigabitEthernet1/0/3 remote 192.168.1.2
[FW_A] hrp track interface GigabitEthernet1/0/2
[FW_A] hrp enable

备设备使用对称配置,只交换心跳地址:

<FW_B> system-view
[FW_B] hrp authentication-key YsHsjx_202206
[FW_B] hrp interface GigabitEthernet1/0/3 remote 192.168.1.1
[FW_B] hrp track interface GigabitEthernet1/0/2
[FW_B] hrp enable

执行 hrp enable 之后,命令行提示符会出现角色前缀:主设备显示 HRP_M,备设备显示 HRP_S。这个前缀本身就是第一道健康检查——如果两边都没有前缀,说明 HRP 根本没启用,先用 display current-configuration | include hrp 确认配置是否下发。

主备如何协商

两台设备通过心跳接口互发 HRP hello 报文交换状态和优先级,默认发送间隔为 1 秒。备设备连续 5 个间隔(约 5 秒)收不到对端 hello,就判定对端故障并抢占为主。这一机制意味着:心跳链路的质量直接决定切换是否会误触发,因此心跳口不要承载业务流量,也不要和业务口共用同一条易抖动的链路。

验证命令

<FW_A> display hrp state
<FW_A> display hrp state verbose
<FW_A> display hrp interface
<FW_A> display hrp history-information
<FW_A> display hrp statistic

正常的主备状态输出类似:

HRP_M[FW_A] display hrp state
Role: active , peer: standby
Running priority: 45000, peer: 45000
Backup channel usage: 0.00%
Stable time: 0 days, 5 hours, 49 minutes

display hrp state verbose 会额外打印 hello 间隔、抢占延时、自动同步开关状态,以及 VGMP 组监控的接口和 IP-Link 明细,是定位“为什么切换了”的核心命令。display hrp history-information 则保留每次状态变化的完整历史,包含心跳链路 Up/Down 和角色变更原因,比只看当前状态有用得多。

故障一:两台都是主(双主)

现象是两台设备提示符都是 HRP_M,display hrp state 显示 Role: active, peer: unknown,优先级相同。原因是心跳报文不通,两端都无法感知对端状态,于是各自认为自己是主。

排查顺序:先用 display hrp interface 看心跳接口状态是否为 running 或 ready;再不通用 display hrp statistic 看备份通道报文收发是否为零;同时确认两端 hrp interface 里的对端地址是否互指正确、路由是否可达。心跳恢复后如果仍处于双主,检查是否配置了抢占延时,等待延时结束后再观察状态是否收敛。

故障二:两台都是备(双备)

两台都显示 HRP_S,同样 peer: unknown。除心跳不通之外,双备还常见于 VGMP 优先级配置问题:如果被监控接口处于 Down 状态、IP-Link 故障,优先级被下调到低于对端,双方会互相“让位”。用 display hrp state verbose 查看 Detail information 段落中每个 VRRP 组和 IP-Link 的状态,再用 display hrp tracked-interface 确认故障接口是否被 hrp track 或 VRRP 监控。

故障三:配置备份失败

热备关系已建立但配置没有同步到备机时,用 display hrp statistic 检查备份报文统计,并确认 hrp auto-sync 未被关闭。需要注意:被自动备份的命令不能在备机上手工配置,确有需要在备机本地配置时,必须先执行 undo hrp auto-sync config,再执行 hrp standby config enable,否则备机上的命令会被主机的同步覆盖。

日常运维建议

  • 心跳口使用独立物理链路,条件允许时配置两条并互为备份(设备最多支持 16 个心跳接口)。
  • 心跳报文可用 hrp encryption enable 加密,数据包含会话信息,不要图省事关掉。
  • 每次变更后执行 save 保存配置,并用 display hrp history-information 留档切换记录。
  • 周期性演练切换,确认会话同步确实生效,而不是只看状态显示正常。

HRP 之上的策略与 NAT 落地细节见 华为 USG6000 安全策略与 NAT 配置;如果双机热备需要与三层网关联动,接口侧的 VRRP 配置可参考 华为交换机 VRRP 主备配置。

原文链接:https://support.huawei.com/enterprise/en/doc/EDOC1000179232/7aa1ec52/abnormal-hrp-status