防火墙HRP笔记分享

举报
Jack20 发表于 2025/11/18 15:48:29 2025/11/18
【摘要】 防火墙 HRP(Hot Standby Routing Protocol,热备路由协议)的核心是主备设备状态实时同步 + 故障快速切换,确保主设备故障时,备设备能无缝接管业务,实现业务不中断,本质是双机热备的 “状态同步与切换大脑”。一、HRP 核心工作机制1. 角色选举:主备设备分工两台防火墙通过 HRP 协商,自动选举一台为主设备(Active),另一台为备设备(Standby)。选举依...
防火墙 HRP(Hot Standby Routing Protocol,热备路由协议)的核心是主备设备状态实时同步 + 故障快速切换,确保主设备故障时,备设备能无缝接管业务,实现业务不中断,本质是双机热备的 “状态同步与切换大脑”。

一、HRP 核心工作机制

1. 角色选举:主备设备分工

  • 两台防火墙通过 HRP 协商,自动选举一台为主设备(Active),另一台为备设备(Standby)
  • 选举依据:优先比较设备优先级(手动配置,数值越大越优先);优先级相同则比较接口 IP 地址(越大越优先)。
  • 主备职责:主设备承担所有业务转发(如数据包过滤、NAT 转换),备设备仅同步主设备状态,不转发业务流量(故障切换前)。

2. 状态实时同步:核心保障 “无缝切换”

HRP 的关键是让备设备与主设备保持 “状态一致”,切换后无需重新建立连接,同步内容包括:
  • 会话表:主设备上的 TCP/UDP 会话(如用户访问网站的连接、VPN 隧道),实时同步到备设备,确保切换后连接不中断。
  • 配置信息:防火墙的安全策略、NAT 规则、ACL、VPN 配置等,通过 “配置同步” 机制保持主备一致(支持自动 / 手动同步)。
  • ARP 表 / 路由表:主设备的 ARP 缓存、动态路由信息(如 OSPF/ BGP 路由)同步到备设备,避免切换后地址解析或路由丢失。
  • 会话表同步方式
    • 实时增量同步:主设备新增 / 删除会话时,立即向备设备发送同步报文(仅同步变化部分,减少带宽占用)。
    • 批量全量同步:备设备启动或断开重连后,主设备一次性推送所有会话表,快速恢复一致性。

3. 故障检测:毫秒级感知异常

HRP 通过两种方式检测主设备故障,确保快速发现问题:
  • 心跳链路检测:主备设备通过专用心跳接口(或业务接口复用)周期性发送心跳报文(默认间隔 1 秒),备设备未收到心跳(超时时间默认 3 秒),则判定主设备故障。
  • 接口状态联动:主设备的业务接口(如外网口、内网口)故障时,会主动通过 HRP 通知备设备,触发切换(无需等待心跳超时,更快响应)。

4. 故障切换:无缝接管业务

当检测到主设备故障(如断电、接口故障、系统崩溃),HRP 立即触发切换流程:
  1. 备设备升级为新主设备,立即启用业务转发(继承原主设备的 IP 地址、会话表、配置)。
  2. 新主设备通过 ARP 广播 / 免费 ARP,通知网关、终端等网络设备 “更新 MAC-IP 映射”(告知设备新的转发节点)。
  3. 业务流量自动切换到新主设备,全程耗时通常在 1 秒内(毫秒级),用户无感知(如网页浏览、视频通话不中断)。

二、HRP 与普通双机热备的区别

对比维度 HRP 热备 普通双机热备(如静态路由备份)
状态同步 自动同步会话表、配置、路由,切换无感知 仅备份配置,不同步会话,切换后需重新建立连接
切换速度 毫秒级(1 秒内完成) 秒级 / 分钟级(需等待路由收敛、连接重建)
业务影响 无感知(连接不中断) 有感知(连接断开,需重新访问)
适用场景 关键业务(如企业办公、电商交易、金融支付) 非关键业务(如普通内网访问)

三、关键注意事项

  1. 心跳链路可靠性:建议配置两条独立心跳链路(如专用光纤 + 业务接口复用),避免心跳链路故障导致误切换。
  2. 会话同步限制:HRP 仅同步 TCP/UDP 会话,部分特殊协议(如 ICMP、FTP 主动模式)需配合应用层网关(ALG)才能完整同步,确保切换后正常使用。
  3. 负载分担扩展:部分高端防火墙支持 HRP 负载分担模式(主主模式),两台设备同时转发业务(分担流量),故障时另一台接管全部业务,兼顾性能与可靠性。

主设备配置(Active)

1. 基础配置

 
# 进入系统视图
system-view

# 启用HRP功能
hrp enable

# 配置HRP组(可选,默认0)
hrp group 0

# 设置设备优先级(数值越高越优先,默认100)
hrp priority 150
 

2. 心跳接口配置(关键)

# 配置主用心跳接口
hrp interface GigabitEthernet0/0/1 remote 10.1.1.2

# (可选)配置备用心跳接口(提高可靠性)
hrp interface GigabitEthernet0/0/2 remote 10.1.2.2

# 将心跳接口加入安全区域(如DMZ)
[FW1-zone-dmz] add interface GigabitEthernet0/0/1
[FW1-zone-dmz] add interface GigabitEthernet0/0/2
 
注意一下下:心跳接口不能是 MGMT 接口、配置了 VRRP 虚拟 MAC 的接口或 MTU<1500 的接口

3. 状态与配置同步(核心)

 
# 启用会话表同步(最关键)
hrp mirror session enable

# 启用配置同步
hrp mirror config enable

# (可选)启用快速备份(优化大数据量同步)
hrp fast-backup enable
hrp fast-backup interval 5 # 间隔5秒
 

4. 监控与故障处理

 
# 监控上行接口(如外网口)状态,故障时触发切换
hrp track interface GigabitEthernet0/0/3

# (可选)配置抢占功能(主设备恢复后重新抢占)
hrp preempt enable
hrp preempt delay 30 # 延迟30秒,避免频繁切换
 

5. 保存配置

commit
save
 

备设备配置(Standby)

 
# 进入系统视图
system-view

# 启用HRP功能
hrp enable

# 配置HRP组(与主设备一致)
hrp group 0

# 明确设置为备设备角色
hrp role standby

# 心跳接口配置(与主设备完全一致)
hrp interface GigabitEthernet0/0/1 remote 10.1.1.1
hrp interface GigabitEthernet0/0/2 remote 10.1.2.1

# 将心跳接口加入安全区域
[FW2-zone-dmz] add interface GigabitEthernet0/0/1
[FW2-zone-dmz] add interface GigabitEthernet0/0/2

# 启用配置同步(备设备接收主设备配置)
hrp standby config enable

# 启用会话同步
hrp mirror session enable

# 保存配置
commit
save
 

验证配置

 
# 查看HRP状态(主设备显示HRP_M,备设备显示HRP_S)
display hrp state

# 检查心跳接口状态(running为主用,ready为备用)
display hrp interface

# 验证会话同步(主设备新建会话,备设备应立即同步)
display hrp session

# 检查配置一致性
hrp configuration check acl # 检查ACL配置一致性
# 或手动比较关键配置
 

2. 常见问题排查

问题现象 可能原因 解决方法
主备状态异常(都显示 Active) 心跳链路故障
 
接口配置不一致
检查心跳接口配置
 
确保接口加入相同安全区域
会话不同步 未启用 hrp mirror session
 
网络带宽不足
启用会话同步
 
优化网络或增加心跳链路
切换后业务中断 特殊协议(如 ICMP、FTP 主动)
 
未配置 ALG
配置相应 ALG
 
确保会话表完整同步
负载分担扩展
 
# 主设备配置
hrp device-role primary

# 备设备配置
hrp device-role secondary
 
这个模式下两台设备同时处理流量,互为备份,提高性能

 

总结一下下

HRP 的核心价值是 “通过状态同步 + 快速切换,保障防火墙双机热备的业务连续性”,其工作逻辑可简化为:主备协商→状态同步→故障检测→无缝切换,最终实现 “主设备故障不影响业务,用户无感知” 的目标,是企业网络高可用部署的核心协议之一。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。