两台防火墙热备双运营商负载分担从心跳口到VRRP全配置
出口放一台防火墙,机器一坏全网断网,这是很多企业网络的真实单点风险。上两台设备做主备备份当然稳,但平时一台躺着吃灰也确实浪费。更划算的做法是负载分担:两台设备同时转发流量,再按部门或网段分走不同运营商出口,任何一台故障,另一台自动接下全部业务。设备利用率上去了,两条运营商线路也都被用起来,预算没有增加一分钱,可靠性反而上了一个台阶。
动工之前先把三件事想清楚:一是心跳线怎么走,两台设备之间的状态同步、表项备份全靠它,生产环境建议独立成 Eth-Trunk 且直连,不与业务流量混跑;二是分流规则怎么定,按部门、按网段还是按业务,规则越简单后续越好维护;三是倒换之后谁来兜底,负载分担组网里两台都是「半个主人」,任何一台都必须具备独立承载全部业务的能力,这个容量要提前算。
以华为防火墙官方典型配置案例的组网为例:DeviceA 和 DeviceB 的业务接口都工作在三层,上下行分别连接二层交换机,上行两台交换机分别接到不同运营商。ISP1 分配给企业的地址为 1.1.1.1、1.1.1.2、1.1.1.3,ISP2 分配 2.2.2.1、2.2.2.2、2.2.2.3。分流规则:部门 A 用户(10.3.0.51~10.3.0.100)走 ISP1,部门 B 用户(10.3.0.101~10.3.0.150)走 ISP2。正常时两台共同转发,一台故障时另一台兜底。
第一步,配心跳口。心跳口要发送业务表项备份报文,流量大小与业务流量相关,官方建议心跳口带宽不低于峰值业务流量的 20%:
[DeviceA] interface Eth-Trunk 0
[DeviceA-Eth-Trunk0] service-manage enable
[DeviceA-Eth-Trunk0] service-manage ping permit
[DeviceA-Eth-Trunk0] service-manage ssh permit
[DeviceA-Eth-Trunk0] ip address 10.10.0.1 24
[DeviceA-Eth-Trunk0] mode lacp-static
[DeviceA-Eth-Trunk0] lacp timeout fast
[DeviceA-Eth-Trunk0] trunkport 10GE 0/0/1
[DeviceA-Eth-Trunk0] trunkport 10GE 0/0/2
[DeviceA-Eth-Trunk0] load-balance round-robin
DeviceB 上同款配置,IP 换成 10.10.0.2。
第二步,VRRP 备份组交叉主备,这是负载分担的核心——两台设备在不同接口上互为主备:
[DeviceA] interface ge 0/0/1
[DeviceA-GE0/0/1] vrrp vrid 1 virtual-ip 1.1.1.3 active
[DeviceA] interface ge 0/0/2
[DeviceA-GE0/0/2] vrrp vrid 2 virtual-ip 2.2.2.3 standby
[DeviceA] interface ge 0/0/3
[DeviceA-GE0/0/3] vrrp vrid 3 virtual-ip 10.3.0.3 active
[DeviceA-GE0/0/3] vrrp vrid 4 virtual-ip 10.3.0.4 standby
DeviceB 全部镜像、角色互换:vrid 1 配 standby、vrid 2 配 active、内网侧 vrid 3 配 standby、vrid 4 配 active。
第三步,策略路由按部门分流,两台设备配置一致:
[DeviceA] policy-based-route
[DeviceA-policy-pbr] rule name route_policy_isp1
[DeviceA-policy-pbr-rule-route_policy_isp1] source-zone trust
[DeviceA-policy-pbr-rule-route_policy_isp1] source-address range 10.3.0.51 10.3.0.100
[DeviceA-policy-pbr-rule-route_policy_isp1] action pbr next-hop 1.1.1.254
[DeviceA-policy-pbr-rule-route_policy_isp1] quit
[DeviceA-policy-pbr] rule name route_policy_isp2
[DeviceA-policy-pbr-rule-route_policy_isp2] source-zone trust
[DeviceA-policy-pbr-rule-route_policy_isp2] source-address range 10.3.0.101 10.3.0.150
[DeviceA-policy-pbr-rule-route_policy_isp2] action pbr next-hop 2.2.2.254
第四步,HRP 双机热备本体。负载分担组网下两台都在转发流量,为防来回路径不一致,会话快速备份必须开:
[DeviceA] hrp mirror session enable
[DeviceA] hrp interface Eth-Trunk0 remote 10.10.0.2
[DeviceA] hrp timer hello 1000
[DeviceA] hrp escape enable
[DeviceA] hrp authentication-key YsHsjx_202206
[DeviceA] hrp enable
再补几条官方给出的加固建议:心跳口直连时执行 undo hrp checksum enable 可提升备份性能(非直连保持默认);hrp preempt delay 300 把抢占时延设为 300 秒,保证倒换时数据表项备份完全;arp learning on-different-segment disable 关闭非同网段 ARP 学习,避免业务口学到心跳口同网段 ARP;上下行接交换机的组网建议开启 hrp auto-sync config static-route 和 hrp auto-sync config policy-based-route,保持主备路由一致。
热备建立后,NAT 地址池只需在主机侧配置,会自动同步到备机(命令行提示符变为 HRP_M):
HRP_M[DeviceA] nat address-group 1
HRP_M[DeviceA-address-group-1] section 0 1.1.1.3 1.1.1.3
HRP_M[DeviceA] nat address-group 2
HRP_M[DeviceA-address-group-2] section 0 2.2.2.3 2.2.2.3
验证三步走:两台设备分别执行 display vrrp 检查 VRRP 状态;执行 display hrp state verbose 查看双机热备状态;部门 A 的 PC ping 通 ISP1 侧 1.1.1.254、部门 B ping 通 ISP2 侧 2.2.2.254 后,在两台设备上执行 display firewall session table——如果一台设备上存在会话、另一台设备上同时存在带 Remote 标记的会话,说明负载分担配置成功。内网终端侧记得把部门 A 的网关指向 10.3.0.3、部门 B 指向 10.3.0.4。
纸面验证之外,强烈建议安排一次实机演练:挑一个业务低谷时段,直接断掉其中一台的电源,观察两个部门的上网和服务器访问是否无感切换,然后再加电等它回切。倒换能力是双机热备的核心价值,只看命令回显不等于真切换过——很多组网上线半年都没人做过一次演练,真到故障那天才发现抢占时延、网关指向这些细节没对齐。演练记录顺手归档,以后等保检查、客户验收都拿得出手。
这套双机双出口负载分担,是贵州诚鑫致达科技给政企客户做出口高可用时最常用的组网之一:设备利用率、链路利用率和业务连续性三者兼得,一次配置长期省心。
企业存储选型参考|贵州诚鑫致达
做中小企业全能主力存储,群晖机型参考:DS1823xs+ · DS2422+ · DS923+。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。