Oamc

防火墙双机热备(主备模式)

本页目录

场景

单台防火墙是单点。主备双机热备是最常见的做法:两台一样配置,一台 active 一台 standby,主挂了备自动接管,会话不同步也不丢太多。

这篇讲主备模式(active/standby),不涉及负载分担(active/active),后者配置复杂度高一个量级。

前置条件

  • 两台同型号、同版本固件(版本不一致会导致同步失败)
  • 每台至少 3 个口:外网、内网、心跳(心跳口直连,不经过交换机)
  • 心跳口地址规划好:主 10.0.0.1/24,备 10.0.0.2/24
  • 业务口的虚拟网关地址定好(例:192.168.10.254)
  • 两台先各自配好基础配置并验证单机能通

配置

第一步:两台各自配好基础配置

按 防火墙上线配置(区域与策略) 那篇,把接口、区域、路由、策略、NAT 全部配好。先让单机能正常上网,再做热备。 基础没通就上热备,问题会翻倍。

第二步:配心跳口

主(FW-A):

interface GigabitEthernet1/0/0
 ip address 10.0.0.1 255.255.255.0
 quit
firewall zone dmz
 add interface GigabitEthernet1/0/0
 quit

备(FW-B):

interface GigabitEthernet1/0/0
 ip address 10.0.0.2 255.255.255.0
 quit
firewall zone dmz
 add interface GigabitEthernet1/0/0
 quit

第三步:启用 HRP(在主机上配)

hrp interface GigabitEthernet1/0/0 remote 10.0.0.2
hrp enable
hrp mirror session enable

hrp enable 之后配置会从主同步到备,所以备机上不要手动改配置。

第四步:业务口配 VRRP

内网口(主):

interface GigabitEthernet1/0/2
 vrrp vrid 1 virtual-ip 192.168.10.254 active
 quit

外网口(主):

interface GigabitEthernet1/0/1
 vrrp vrid 2 virtual-ip 1.2.3.6 active
 quit

备机上同样的 VRRP 会自动同步过去,状态是 standby。内网电脑的网关填 192.168.10.254。

验证

display hrp state                  # 主是 active,备是 standby
display hrp interface              # 心跳口状态
display hrp configuration          # 同步状态、最后一次同步时间
display vrrp                       # 业务口 VRRP 角色

关键三项:HRP 状态、VRRP 角色、配置同步时间。

切换测试(在维护窗口做):

# 在主机上手动切主备
hrp switch standby
display hrp state                  # 确认备机变成 active

切过去后从内网连续 ping 外网,看丢几个包(正常 1~3 个)。

回滚

undo hrp enable
undo hrp interface GigabitEthernet1/0/0
interface GigabitEthernet1/0/2
 undo vrrp vrid 1
 quit

两台各自变回独立设备,按单机方式工作。

坑

先单机通,再上热备

双机热备会把「配置不一致」和「配置本身有问题」混在一起。 单机都不通的时候上热备,你会花两倍时间也找不到原因。

  • 两台必须同版本。差一个小版本就可能同步失败,现象是备机配置一直不更新。
  • 心跳口要直连,不能走业务交换机。走交换机的话交换机一抖,两台同时认为对方挂了,容易双主。
  • 双主是灾难:两个 active 同时发 ARP、抢地址。出现双主立刻断开其中一台的心跳线,先恢复单机。
  • hrp mirror session enable 是会话同步,不打开的话主备切换所有连接都会断(不只是新连接)。
  • 备机的接口也要插线并 up,否则切换时链路要重新协商,丢包更多。
  • 策略、NAT、路由都是同步的,但证书、License、自定义特征库可能不同步,要单独确认。
  • 升级固件要两台一起升,先备后主,中间会有一次切换。
  • display hrp configuration 里看到 Configuration synchronization: disabled 就说明主备没建立起来,先查心跳口和 hrp interface 配置。