第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 秒

九、思考

  1. 防火墙双机热备的核心目的是什么?没有它时,防火墙故障会造成什么影响?
  2. 主备模式和负载分担模式的区别是什么?各适合什么场景?
  3. HRP 协议负责同步哪些内容?心跳链路有什么要求?
  4. 如果主备切换后一些连接断开了,可能的原因是什么?
  5. VRRP 的优先级和抢占延迟在双机热备中起什么作用?

下篇预告:第206篇《防火墙的虚拟化:虚拟防火墙(VSYS)》——在一台物理防火墙上虚拟出多台独立逻辑防火墙,实现多租户场景。