news 2026/4/28 13:53:58

防火墙双击热备的工作模式详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
防火墙双击热备的工作模式详解

一、防火墙工作在路由模式

1 区分的技术背景

双机热备的唯一目标:让上下行设备“无感知”地把流量发给当前工作的防火墙。

无论你用什么技术,最终要解决的就是一个问题:
当主防火墙故障时,备用防火墙接管,但上下行设备(交换机或路由器)必须自动把流量发给新主设备,不能人工改配置。

这个目标看起来简单,但上下行设备是两种完全不同的“动物”:

设备类型转发依据它怎么识别“该发给谁”?它懂什么协议?
二层交换机MAC地址表它只看目的MAC。谁响应了网关的ARP,它就发给谁。只懂ARP、MAC、VLAN;不懂IP路由
三层路由器IP路由表它根据路由表下一跳IP。谁的IP作为下一跳,它就发给谁。懂IP、OSPF、BGP等;可识别路由Cost

因此,要骗过交换机和路由器,必须用不同的“骗术”:

  • 骗交换机:让主备防火墙使用相同的虚拟MAC,主设备响应ARP,备设备沉默;切换时新主主动发免费ARP刷交换机的MAC表。 → 这就是VRRP

  • 骗路由器:让路由器认为“去往内网/外网的最佳路径应该经过当前主防火墙”。 → 通过动态路由协议调整Cost静态路由+BFD来改变路由器的选路。

所以,双机热备的技术方案不是固定的,而是由邻居设备类型决定的。


2 为什么分为三种组网?—— 因为防火墙有两个“邻居”(下行和上行)

防火墙有两个方向:下行(接内网)上行(接外网)。每个方向上的邻居可能是交换机,也可能是路由器。排列组合就会出现多种情况。

场景下行邻居上行邻居对双机热备的要求技术组合
① 上下接交换机交换机交换机两边都需要用同一种“骗术”:虚拟MAC + VRRP全部用VRRP
② 下交换、上路由交换机路由器下行骗交换机(VRRP),上行骗路由器(路由协议/BFD)VRRP + 路由/BFD
③ 上下接路由器路由器路由器两边都骗路由器(路由协议),VRRP根本用不着纯动态路由

为什么没有“下路由、上交换”?
因为内网如果已经用了三层路由器作为网关,通常不会在它后面再串一台防火墙做二层接入,拓扑不合理(可以存在,但极少见,老师一般不讲)。


3 这三种组网在“双机热备”中的本质区别

你现在应该已经看出来了:分类的本质是“防火墙与邻居之间的接口类型和协议栈”——它直接决定了双机热备中你必须启用哪些功能、禁用哪些功能。

对比项组网① 上下交换组网② 下交换上路由组网③ 上下路由
下行接口模式三层子接口(带VLAN)三层子接口(带VLAN)三层物理口(无VLAN)
下行冗余机制VRRP(必须)VRRP(必须)无VRRP,靠OSPF Cost
上行接口模式三层子接口或物理口三层物理口(点对点IP)三层物理口(点对点IP)
上行冗余机制VRRP(必须)BFD+静态路由 或 OSPFOSPF/BGP(Cost调优)
VGMP的作用统一控制所有VRRP组同左 + 可联动BFD/IP-Link仅整机主备,不控制VRRP
HRP同步内容会话表、Server-map同左同左

关键点:组网②中,上行不能配VRRP(因为路由器不认虚拟IP),所以必须用其他方式让路由器感知主备切换。这正是很多人学双机热备时最容易忽略的。


4 具体配置

4.1 组网①:上下都接二层交换机

拓扑描述

  • 两台防火墙(FW1、FW2)的G1/0/1口分别连接到内网二层交换机。

  • 两台防火墙的G1/0/2口分别连接到外网二层交换机。

  • 防火墙之间用G1/0/3直连作为心跳口
  • 内网有多个VLAN(如VLAN10、VLAN20),防火墙作为这些VLAN的网关。

  • 外网交换机上行接出口路由器(路由器可能只配一个接口IP)。

为什么这样组网?

  • 内网交换机是二层设备,它不认识IP路由,只认识MAC地址。为了让交换机把流量正确地发给主防火墙,防火墙必须提供一个“不变的虚拟网关IP+虚拟MAC”。这就是VRRP的作用。

  • 外网交换机同样是二层,所以也需要VRRP来提供虚拟网关给出口路由器(路由器虽然三层,但因为中间隔着交换机,路由器看到的是防火墙的虚拟IP,所以VRRP仍然有效)。

  • 因此,上下行都需要VRRP。

关键配置(以FW1为例,FW2配置完全一样,只是心跳IP不同)

# 内网子接口(VLAN10网关) interface GigabitEthernet1/0/1.10 vlan-type dot1q 10 ip address 192.168.10.2 24 vrrp vrid 10 virtual-ip 192.168.10.1 # 外网子接口(假设VLAN100接外网) interface GigabitEthernet1/0/2.100 vlan-type dot1q 100 ip address 200.1.1.2 24 vrrp vrid 100 virtual-ip 200.1.1.1 # 心跳口 interface GigabitEthernet1/0/3 ip address 172.16.0.1 24 hrp enable

双机热备如何工作

  • VGMP通过心跳协商,决定FW1为Active,FW2为Standby。

  • VGMP强制控制所有VRRP组:FW1上所有VRRP组为Master,FW2上所有VRRP组为Backup。

  • 内网交换机的MAC表里,虚拟MAC对应FW1的端口;外网同样。

  • 当FW1故障,VGMP切换,FW2成为Active,FW2发送免费ARP,更新交换机的MAC表,流量切换到FW2。

  • HRP实时将FW1的会话表同步给FW2,保证切换后连接不断。


4.2 组网②:下接交换机,上接路由器

拓扑描述

  • 下行(内网侧)同组网①:防火墙通过子接口接二层交换机,使用VRRP。

  • 上行(外网侧)不再经过二层交换机,防火墙的G1/0/2口直接与一台三层路由器(如运营商CE)用网线直连。

  • 直连链路使用一个30位掩码的互联IP段(例如FW1用100.1.1.2/30,路由器用100.1.1.1/30)。

为什么这样组网?

  • 下行仍是二层交换机,所以必须用VRRP。

  • 上行是三层路由器,路由器本身运行IP路由,它不需要VRRP虚拟IP,它只需要知道“去往内网的下一跳应该指向哪台防火墙”。但是,如果两台防火墙都接在同一台路由器上(路由器两个接口分别接FW1和FW2),路由器需要一种机制来感知哪台防火墙是主。VRRP不可行(路由器不参与VRRP),所以必须用动态路由协议(如OSPF)或BFD+静态路由,来让路由器自动选择主防火墙。

关键配置(下行同组网①,上行增加)

# 上行物理口(不做子接口) interface GigabitEthernet1/0/2 ip address 100.1.1.2 30 # 静态路由指向路由器(下一跳100.1.1.1),并绑定BFD检测 bfd ip-link 1 destination 100.1.1.1 interface GigabitEthernet1/0/2 ip route-static 0.0.0.0 0.0.0.0 100.1.1.1 track ip-link 1 # 告诉VGMP,当ip-link检测失败时降低优先级 hrp track ip-link 1

或者使用OSPF(更推荐):

ospf 1 area 0 network 100.1.1.0 0.0.0.3 default-route-advertise cost 10 # 在备墙上,通过 hrp ospf-cost increase 65500 让备墙宣告的路由cost极大

双机热备如何工作

  • 下行VRRP仍然由VGMP统一控制。

  • 上行:主设备BFD检测正常,静态路由有效;备设备的上行口虽然也配IP,但VGMP Standby状态下,HRP不会在备墙上激活上行路由(或cost极高)。

  • 当主设备上行链路故障(接口仍UP但路由器不可达),BFD快速检测到,触发VGMP降低优先级,备设备切换为Active。备设备激活自己的上行路由,路由器通过动态路由收敛或ARP更新将流量切到新主。

  • HRP同样同步会话表。


4.3 组网③:上下都接路由器(全三层)

拓扑描述

  • 防火墙不再作为内网网关。内网核心路由器负责所有VLAN间路由。

  • 防火墙的上行接外网路由器,下行接内网核心路由器。所有接口都是三层物理口,点对点IP。

  • 两台防火墙的下行分别接内网路由器的不同接口(或同一交换机但三层口),上行类似。

为什么这样组网?

  • 防火墙不需要提供虚拟网关,所以完全不用VRRP。

  • 冗余切换依靠动态路由协议。通过调整路由协议的metric(如OSPF cost),让内网和外网路由器优先选择主防火墙,主故障时自动切换到备防火墙。

  • 这样避免了VRRP带来的额外虚拟IP,更适合大型网络。

关键配置

# 下行接口(接内网核心路由器) interface GigabitEthernet1/0/1 ip address 192.168.1.2 30 # 上行接口(接外网路由器) interface GigabitEthernet1/0/2 ip address 200.1.1.2 30 # 运行OSPF ospf 1 area 0 network 192.168.1.0 0.0.0.3 network 200.1.1.0 0.0.0.3 default-route-advertise always cost 10 # 主墙宣告默认路由cost=10 # 备墙上使用 ospf 1 hrp ospf-cost increase 65500 # 备墙所有接口cost自动增加

双机热备如何工作

  • VGMP仍然选举Active和Standby,但不对VRRP做任何控制(因为没有VRRP)。

  • 主墙正常宣告低cost路由,备墙宣告高cost路由。内网和外网路由器根据SPF算法选择主墙路径。

  • 当主墙故障,OSPF邻居中断,路由器重新计算路径,切换到备墙(备墙的cost虽然高,但唯一可用)。

  • HRP仍然需要同步会话表,保证TCP连接不中断。

  • 此模式要求防火墙与路由器之间必须运行动态路由协议,且备墙必须预先建立邻居(但邻居状态可能非Full?实际上备墙OSPF邻居也是Full,只是它宣告的路由cost高,不被优选)。


主备的配置

前置基础:VGMP 与 VRRP 的默认关系

在华为双机热备中,VGMP 组(设备级)默认强制所有 VRRP 备份组(接口级)的状态与 VGMP 状态一致

  • VGMP = Active → 本机所有 VRRP 组都是 Master

  • VGMP = Standby → 本机所有 VRRP 组都是 Backup

如果要实现负载分担(不同 VLAN 走不同防火墙),就必须打破这个默认行为。打破的方法就是在 VRRP 配置中显式加上activestandby关键字,这会让该 VRRP 组的状态与 VGMP 状态相反(或独立)。

负载分担的核心思想是:通过在不同 VRRP 组中手动指定activestandby,让不同的 VLAN 或业务段的虚拟网关主备角色分布在两台防火墙上,从而实现流量分流。
主备模式则不需要手动指定active/standby,完全由 VGMP 统一控制。

注意activestandby关键字是 VRRP 配置中的参数,用于指定该 VRRP 组希望成为 Master 还是 Backup,它会覆盖 VGMP 的强制统一。


核心分清两个概念

  1. 主备模式:一台转发所有流量,另一台冷备。
    VRRP 配置:可以不加active/standby,让 VGMP 自动决定;也可以手动指定,但最终只有一台是 Master。

  2. 负载分担模式:两台都转发流量。
    VRRP 配置:必须至少两个 VRRP 组(例如不同 VLAN),FW1 在其中一组 active、另一组 standby;FW2 相反。

第一条:上下接交换机

  • 负载分担:需要两组 VRRP(例如 VLAN10 和 VLAN20,或上行组和下行组)。FW1 在组 A active,组 B standby;FW2 在组 A standby,组 B active。两台设备的接口 VRRP 配置中都出现了 active 和 standby(因为每个设备上既有 active 的组也有 standby 的组)。这就是老师说的“FW1和FW2的接口VRRP的配置都要出现active和standby”。

  • 主备模式:只需要一组 VRRP,FW1 active、FW2 standby(或者都不加参数)。老师后半句“FW1的接口的VRRP配置出现active,FW2的接口的VRRP配置出现standby”就是描述主备模式下 VRRP 的一种配置方式。

第二条:上接交换机下接路由器

  • 负载分担:下行(接交换机)需要多个 VRRP 组,配置同第一条的负载分担。上行(接路由器)不需要 VRRP,靠 OSPF 的 ECMP 自动分担。老师那句话仍然是指下行 VRRP 的 active/standby 错开配置,上行不适用。

  • 主备模式:下行 VRRP 一组,FW1 active、FW2 standby;上行 OSPF 通过 cost 控制(备墙 cost 调大)。

第三条:上下接路由器

  • 负载分担:默认就是负载分担(ECMP)。不需要任何 VRRP,也不配置 active/standby。

  • 主备模式:在备墙上配置hrp standby-device(强制为备),同时配置hrp ospf-cost increase 65500使其路由 cost 极大,保证路由器不选它。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 13:53:34

Elastic Ramen:一个用于 SRE 调查与修复的 CLI 工具框架

作者:来自 Elastic Joe Reuter 及 Vignesh Shanmugam 探索 Elastic Ramen,一个将 Agent Builder 对话、技能和工具带入终端的 CLI 工具框架,使工程师能够在同一线程中从调查直接进入修复操作。 可观测性工具告诉你出了什么问题,但…

作者头像 李华
网站建设 2026/4/28 13:49:26

3个实用技巧:用ScreenShare高效实现Android屏幕共享

3个实用技巧:用ScreenShare高效实现Android屏幕共享 【免费下载链接】ScreenShare 一行代码实现Android屏幕采集并编码H264 项目地址: https://gitcode.com/gh_mirrors/scr/ScreenShare 你是否曾经想过,如何在Android应用中快速集成屏幕共享功能&…

作者头像 李华
网站建设 2026/4/28 13:41:21

关于CAAC无人机执照,你最关心的10个问题,一次说清!

随着无人机应用在航拍、测绘、植保、巡检等行业的爆发式增长,一本由中国民航局(CAAC)颁发的无人机驾驶员执照,已成为进入高薪职业领域的“硬通货”。然而,面对市场上琳琅满目的培训机构,许多准学员心中充满…

作者头像 李华
网站建设 2026/4/28 13:39:52

极空间NAS开启SSH:解锁底层权限,从存储盒变成全能私有服务器

前言 极空间NAS到手之后,正常用法就是插电、装盘、装App,照片备份和影音库这两个功能用得最多。但这台设备本质上是跑在Linux上的ARM小服务器,底层系统和普通Linux服务器没什么太大差别,只是厂商做了图形化封装让你不用接触命令行…

作者头像 李华