第205篇:防火墙双机热备:主备与负载分担
关键词
防火墙双机热备、HRP、VRRP、主备模式、负载分担、会话同步、故障切换、Active/Standby
一、为什么需要双机热备
1.1 防火墙单点故障风险
单台防火墙部署的风险:
┌──────────┐
内网 ───────────→ │ 防火墙 │ ───────────→ 外网
└──────────┘
│
如果防火墙故障:
整个企业无法访问互联网
外部用户无法访问 DMZ 服务
业务中断时间 = 修复时间(可能数小时)
双机热备的目标:
解决方案:两台防火墙组成主备(Active/Standby)或主主(Active/Active)
┌──────────┐
│ 主防火墙 │ ←──── 主处理流量
└────┬─────┘
│ 会话同步
┌────┴─────┐
│ 备防火墙 │ ←──── 实时同步会话,随时接管
└──────────┘
切换时间:1-3 秒(VRRP + 会话同步)
1.2 HA 关键指标
| 指标 |
说明 |
目标值 |
| 切换时间 |
主备切换的耗时 |
< 3 秒 |
| 会话保持率 |
切换后保留的会话比例 |
> 99% |
| 数据同步延迟 |
会话表同步的最大延迟 |
< 50ms |
| 配置一致性 |
主备配置自动同步 |
100% |
二、VRRP 基本原理
2.1 VRRP 与防火墙
VRRP(Virtual Router Redundancy Protocol)是双机热备的基础:
虚拟 IP:202.1.1.1(网关)
│
|
|
|
| ┌──┴──┐ ┌──┴──┐ |
|
|
| 主 FW1 Master |
VRRP 心跳 ═══════════ |
备 FW2 Backup |
| 优先级: 120 优先级: 100 |
|
|
| 实际 IP: 202.1.1.2 实际 IP: 202.1.1.3 |
|
|
2.2 VRRP 配置
# FW1(主)
interface GigabitEthernet0/0/0
ip address 202.1.1.2 255.255.255.0
vrrp vrid 1 virtual-ip 202.1.1.1 # 虚拟 IP
vrrp vrid 1 priority 120 # 主优先级高
vrrp vrid 1 preempt-mode timer delay 10 # 抢占延迟 10s
vrrp vrid 1 track interface GigabitEthernet0/0/1 reduced 30
! # 上行接口故障时优先级降低 30
# FW2(备)
interface GigabitEthernet0/0/0
ip address 202.1.1.3 255.255.255.0
vrrp vrid 1 virtual-ip 202.1.1.1
vrrp vrid 1 priority 100 # 备优先级低
三、华为 HRP 协议
3.1 HRP 概述
HRP(Huawei Redundancy Protocol)是华为防火墙的双机热备协议,负责会话同步和配置同步:
HRP 心跳链路
FW1 ──────────────────────────── FW2
心跳报文(UDP 端口 8888)
同步内容:
- 会话表(TCP/UDP/ICMP 连接状态)
- NAT 表项
- ASPF 表项
- 配置(HRP 自动同步)
3.2 HRP 工作模式
| 模式 |
说明 |
适用场景 |
| 主备模式(Active/Standby) |
一台处理流量,一台备用 |
大多数企业 |
| 负载分担(Active/Active) |
两台都处理流量 |
大型企业 |
| 主备 + 回程接口 |
主备 + 上下行链路级联 |
多链路场景 |
3.3 HRP 配置示例
# 主防火墙(FW1)
hrp enable # 启用 HRP
hrp interface GigabitEthernet0/0/3 # 心跳接口
hrp remote-ip 10.0.0.2 # 对端心跳 IP
hrp track interface GigabitEthernet0/0/0 # 监控上行接口
hrp track interface GigabitEthernet0/0/1 # 监控下行接口
hrp mirror session enable # 开启会话同步
!
# 备防火墙(FW2)
hrp enable
hrp standby # 设置为备机
hrp interface GigabitEthernet0/0/3
hrp remote-ip 10.0.0.1
hrp track interface GigabitEthernet0/0/0
hrp track interface GigabitEthernet0/0/1
hrp mirror session enable
四、主备模式(Active/Standby)
4.1 组网拓扑
┌──────────────────────────────────┐
│ 外网 │
└──┬──────────────────────────┬─────┘
│ │
| FW1 (主) Master VRRP Master |
HRP ══════════ 心跳 |
FW2 (备) Standby VRRP Backup |
| │ │ |
|
|
| ┌──┴──────────────────────────┴─────┐ |
|
|
| │ 内网 │ |
|
|
| └──────────────────────────────────┘ |
|
|
4.2 故障切换场景
场景 1:主防火墙整机故障
FW1 宕机 → VRRP 检测到故障(1s 内)
→ FW2 升为 Master,接管虚拟 IP
→ FW2 使用同步的会话表继续转发
→ 切换时间:1-3 秒
场景 2:上行链路故障
FW1 上行链路中断 → HRP track 检测到
→ FW1 优先级降低 → FW2 升为 Master
→ 流量切换到 FW2 的上行链路
→ 切换时间:1-3 秒
场景 3:双链路同时故障
内外链路同时中断 → 无法切换
需要额外的链路冗余(如 LTE 备用链路)
4.3 主备模式的优缺点
| 优点 |
缺点 |
| 配置简单,易维护 |
一台机器闲置,资源利用率低 |
| 切换确定性高 |
备机空闲浪费电力/空间 |
| 故障隔离好 |
主机的性能瓶颈无法利用备机分担 |
| 适合中小规模 |
需要额外的心跳链路 |
五、负载分担模式(Active/Active)
5.1 组网拓扑
┌──────────────────────────────────┐
│ 外网 │
└──────┬──────────────────┬─────────┘
│ │
| FW1 (主) VRRP Master 处理 50% 流量 |
|
FW2 (主) VRRP Backup 处理 50% 流量 |
| │ │ |
|
|
| ┌──────┴──────────────────┴─────────┐ |
|
|
| │ 内网 │ |
|
|
| └──────────────────────────────────┘ |
|
|
5.2 流量分担方式
负载分担模式下,流量如何分配?
方式 1:基于源 IP 哈希
内网用户 A(10.0.0.1)→ FW1
内网用户 B(10.0.0.2)→ FW2
方式 2:基于连接哈希
同一用户的不同连接可能分配到不同的防火墙
但同一个连接必须始终走同一台防火墙
方式 3:基于 VLAN/接口
内网 VLAN 100 → FW1
内网 VLAN 200 → FW2
5.3 负载分担配置
# FW1 配置
hrp enable
hrp interface GigabitEthernet0/0/3
hrp remote-ip 10.0.0.2
hrp mirror session enable
!
interface GigabitEthernet0/0/0
vrrp vrid 1 virtual-ip 202.1.1.1 # 外网侧 VRRP
vrrp vrid 1 priority 120 # FW1 优先
!
interface GigabitEthernet0/0/1 # 内网侧
vrrp vrid 2 virtual-ip 10.0.0.254
vrrp vrid 2 priority 100 # FW1 备
# FW2 配置
hrp enable
hrp interface GigabitEthernet0/0/3
hrp remote-ip 10.0.0.1
hrp mirror session enable
!
interface GigabitEthernet0/0/0
vrrp vrid 1 virtual-ip 202.1.1.1
vrrp vrid 1 priority 100 # FW2 备
!
interface GigabitEthernet0/0/1
vrrp vrid 2 virtual-ip 10.0.0.254
vrrp vrid 2 priority 120 # FW2 优先
# 最终效果:
# 外网流量 → 默认走 FW1(VRRP Master)
# 内网流量 → 默认走 FW2(VRRP Master)
# 两台设备均分担 50% 流量
六、会话同步机制
6.1 同步策略
# 配置会话同步
hrp mirror session enable # 同步所有会话
hrp mirror session tcp-only # 仅同步 TCP 会话(省带宽)
hrp mirror session exclude protocol icmp # 排除 ICMP
!
# 查看同步状态
display hrp session mirror status
Mirror Type: TCP + UDP
Sync Rate: 5000 sessions/sec
Queue Depth: 200
Last Sync Time: 2024-03-15 10:00:01
6.2 同步的挑战
会话同步的技术挑战:
1. 同步延迟
主防火墙 1 秒内建立 10 万个会话
这些会话需要在 50ms 内同步到备机
需要高性能的心跳链路(推荐 1Gbps+ 专用链路)
2. 会话不一致
切换时刻最新的几个会话可能未同步完成
切换后这些连接会断开,需要客户端重连
3. 大流量冲击
切换时,备机瞬间需要接管所有流量
需确保备机有足够的处理能力
# 心跳链路最佳实践
- 使用专用物理接口,不与业务接口共用
- 至少 1Gbps 带宽
- 建议使用单独的 VLAN(如 VLAN 4093-4094)
- 配置心跳链路 BFD 快速检测
七、故障排查
7.1 常用诊断命令
# 查看 HA 状态
display hrp state
Role: active # 当前角色
Peer: 10.0.0.2:8888 # 对端地址
State: normal # 状态
Last state change: 2024-03-15 09:00:00
# 查看 VRRP 状态
display vrrp
Interface VRID State Priority Virtual IP
GE0/0/0 1 Master 120 202.1.1.1
GE0/0/1 2 Backup 100 10.0.0.254
# 查看会话同步统计
display hrp session mirror statistics
Total mirrored: 5000000
Total failed: 23
Success rate: 99.9995%
7.2 常见故障
常见故障 1:心跳中断
现象:HRP 显示 peer dead
原因:心跳链路故障、IP 配置错误
排查:
ping 10.0.0.2(心跳 IP)
display hrp interface
常见故障 2:会话不同步
现象:切换后大量连接断开
原因:同步延迟、同步队列溢出
排查:
display hrp session mirror statistics
增大心跳带宽
常见故障 3:频繁主备切换
现象:VRRP 状态频繁振荡
原因:链路抖动、优先级配置不当
排查:
增加抢占延迟时间
检查 track 链路稳定性
八、总结
| 知识点 |
核心要点 |
| 双机热备目的 |
消除单点故障,保证业务连续性 |
| VRRP |
虚拟 IP 实现网关冗余 |
| HRP |
华为防火墙的会话同步和配置同步协议 |
| 主备模式 |
一台工作一台备用,简单可靠 |
| 负载分担 |
两台同时工作,资源利用率高 |
| 会话同步 |
主备间实时同步连接状态 |
| 切换时间 |
正常 1-3 秒,BFD 加速可 < 1 秒 |
九、思考
- 防火墙双机热备的核心目的是什么?没有它时,防火墙故障会造成什么影响?
- 主备模式和负载分担模式的区别是什么?各适合什么场景?
- HRP 协议负责同步哪些内容?心跳链路有什么要求?
- 如果主备切换后一些连接断开了,可能的原因是什么?
- VRRP 的优先级和抢占延迟在双机热备中起什么作用?
下篇预告:第206篇《防火墙的虚拟化:虚拟防火墙(VSYS)》——在一台物理防火墙上虚拟出多台独立逻辑防火墙,实现多租户场景。