# 防火墙双机热备(主备模式) ## 场景 单台防火墙是单点。主备双机热备是最常见的做法:两台一样配置,一台 active 一台 standby,主挂了备自动接管,会话不同步也不丢太多。 这篇讲主备模式(active/standby),不涉及负载分担(active/active),后者配置复杂度高一个量级。 ## 前置条件 - 两台同型号、**同版本固件**(版本不一致会导致同步失败) - 每台至少 3 个口:外网、内网、心跳(心跳口直连,不经过交换机) - 心跳口地址规划好:主 `10.0.0.1/24`,备 `10.0.0.2/24` - 业务口的虚拟网关地址定好(例:`192.168.10.254`) - 两台先各自配好基础配置并**验证单机能通** ## 配置 **第一步:两台各自配好基础配置** 按 [防火墙上线配置(区域与策略)](防火墙上线配置(区域与策略).md) 那篇,把接口、区域、路由、策略、NAT 全部配好。**先让单机能正常上网,再做热备。** 基础没通就上热备,问题会翻倍。 **第二步:配心跳口** 主(FW-A): ```bash 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): ```bash 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(在主机上配)** ```bash hrp interface GigabitEthernet1/0/0 remote 10.0.0.2 hrp enable hrp mirror session enable ``` `hrp enable` 之后配置会从主同步到备,所以**备机上不要手动改配置**。 **第四步:业务口配 VRRP** 内网口(主): ```bash interface GigabitEthernet1/0/2 vrrp vrid 1 virtual-ip 192.168.10.254 active quit ``` 外网口(主): ```bash interface GigabitEthernet1/0/1 vrrp vrid 2 virtual-ip 1.2.3.6 active quit ``` **备机上同样的 VRRP 会自动同步过去**,状态是 standby。内网电脑的网关填 `192.168.10.254`。 ## 验证 ```bash display hrp state # 主是 active,备是 standby display hrp interface # 心跳口状态 display hrp configuration # 同步状态、最后一次同步时间 display vrrp # 业务口 VRRP 角色 ``` 关键三项:**HRP 状态、VRRP 角色、配置同步时间**。 切换测试(在维护窗口做): ```bash # 在主机上手动切主备 hrp switch standby display hrp state # 确认备机变成 active ``` 切过去后从内网连续 ping 外网,看丢几个包(正常 1~3 个)。 ## 回滚 ```bash undo hrp enable undo hrp interface GigabitEthernet1/0/0 interface GigabitEthernet1/0/2 undo vrrp vrid 1 quit ``` 两台各自变回独立设备,按单机方式工作。 ## 坑 !!! note "先单机通,再上热备" 双机热备会把「配置不一致」和「配置本身有问题」混在一起。 单机都不通的时候上热备,你会花两倍时间也找不到原因。 - 两台**必须同版本**。差一个小版本就可能同步失败,现象是备机配置一直不更新。 - 心跳口要直连,**不能走业务交换机**。走交换机的话交换机一抖,两台同时认为对方挂了,容易双主。 - 双主是灾难:两个 active 同时发 ARP、抢地址。出现双主立刻断开其中一台的心跳线,先恢复单机。 - `hrp mirror session enable` 是会话同步,不打开的话主备切换所有连接都会断(不只是新连接)。 - 备机的接口也要插线并 up,否则切换时链路要重新协商,丢包更多。 - 策略、NAT、路由都是同步的,但**证书、License、自定义特征库**可能不同步,要单独确认。 - 升级固件要两台一起升,先备后主,中间会有一次切换。 - `display hrp configuration` 里看到 `Configuration synchronization: disabled` 就说明主备没建立起来,先查心跳口和 `hrp interface` 配置。