HCIA-Security_V4.0 | 06_防火墙双机热备技术
1 双机热备技术原理
为防止一台设备出现意外故障导致网络业务中断,采用两台防火墙形成双机备份。一台防火墙转发流量,一台防火墙作为备份。
双机热备技术系统要求
- 硬件要求
- 组成双机热备的两台 FW 的型号必须相同,安装的单板类型、数量以及单板安装的位置必须相同。
- 两台 FW 的硬盘配置可以不同。例如,一台 FW 安装硬盘,
- 另一台 FW 不安装硬盘,不会影响双机热备的运行。但未安装硬盘的 FW 日志存储量将远低于安装了硬盘的 FW,而且部分日志和报表功能不可用。
- 软件要求
- 组成双机热备的两台 FW 的系统软件版本、系统补丁版本、动态加载的组件包、特征库版本、HASH 选择 CPU 模式以及 HASH 因子都必须相同。
- 实际上,在系统软件版本升级或回退的过程中,两台 FW 可以暂时运行不同版本的系统软件。例如,一台设备的软件版本为 V500R001C50,另一台设备的软件版本为 V500R001C30SPC300。
- License 要求
- 双机热备功能自身不需要 License。但对于其他需要 License 的功能,如 IPS、反病毒等功能,组成双机热备的两台FW需要分别申请和加载 License,两台 FW 之间不能共享 License。两台 FW 的 License 控制项种类、资源数量、升级服务到期时间都要相同。
- 接口及编号
- 两台 FW 的心跳接口类型、接口编号、链路协议类型必须相同。
1.1 VRRP 备份
VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)是一种容错协议。
基于 VRRP 的路由器冗余部署方案
保证主机下一条路由器(默认网关)故障是由备份路由器自动替代。
同一 VRRP 备份组内的路由器有两种角色:Master(活动)、Backup(备份)。
-
备份组:同一个广播域的一组路由器组织成一个虚拟路由器,备份组中的所有路由器一起,共同提供一个虚拟 IP 地址,作为内部网络的网关地址,实现网关的备份。
-
当 Master 设备正常工作时,网络内主机通过 Master 设备与外部网络通信。当 Master 设备出现故障时,Backup 设备会成为新的 Master 设备。
- Initialize:初始状态。设备未启用双机热备功能。
- Master:活动状态。Master 设备拥有 VRRP 备份组的虚拟 IP 地址和虚拟 MAC 地址。Master 设备收到目的 IP 地址是虚拟 IP 地址的 ARP 请求时,会响应这个 ARP 请求。在同一个备份组中的多个路由器中,只有一台处于活动状态,只有主路由器能转发以虚拟 IP 地址作为下一跳的报文;
- Backup:备份状态。Backup 设备不会响应目的 IP 地址为虚拟 IP 地址的 ARP 请求。在同一个备份组中的多个路由器中,除主路由器外,其他路由器均为备份路由器。当 Master 设备出现故障时,剩下的 Backup 设备中将会选举出新的 Master 设备;
- Master 设备选举规则:
- 比较优先级大小:优先级范围为 0-255,优先级高者当选为 Master 设备。
- 比较接口 IP 地址大小:接口 IP 地址较大的设备当选为 Master 设备。
- 成为 Master 的设备运行优先级自动变为 255。
- 主路由器通过组播方式定期向备份路由器发送通告报文(Hello 报文),备份路由器则负责监听通告报文,以此来确定其状态。由于 VRRP Hello 报文为组播报文,所以要求备份组中的各路由器通过二层设备相连。
-
Router A 正常时流量转发流程如下:
- Router A 发送免费 ARP:Gratuitous ARP,也称为“无故 ARP”。免费 ARP 包含 VRRP 虚拟 IP 地址与 VRRP 虚拟 MAC 地址;
- 交换机刷新 MAC 地址表:MAC 地址表将虚拟 MAC 地址与接收免费 ARP 的接口映射;
- 内部网络用户发送 ARP 请求询问网关地址:网关地址即虚拟 IP 地址;
- Router A 应答 ARP 请求:Router A 将虚拟 MAC 地址回应给内部网络用户;
- 内部网络用户的流量发向网关 Router A:内部网络用户将流量发送给虚拟 MAC 地址,交换机根据 MAC 地址映射表将流量转发给 Router A。
-
Router A 故障时流量转发流程如下:
- Router B 三个报文周期没有收到主设备 Router A 发送的 VRRP 报文,自动切换成为新的 Master;
- Router B 发送免费 ARP:免费 ARP 包含 VRRP 虚拟 IP 地址与 VRRP 虚拟 MAC 地址;
- 交换机刷新 MAC 地址表:MAC 地址表将虚拟 MAC 地址与接收免费 ARP 的接口映射;
- 内部网络用户发送 ARP 请求询问网关地址:网关地址即虚拟 IP 地址;
- Router B 应答 ARP 请求:Router B 将虚拟 MAC 地址回应给内部网络用户;
- 内部网络用户的流量发向网关 Router B:内部网络用户将流量发送给虚拟 MAC 地址,交换机根据 MAC 地址映射表将流量转发给 Router B。
在多区域防火墙组网中的应用
为防火墙上多个区域提供双机备份功能时,需要在每一台防火墙上配置多个 VRRP 备份组。
由于 USG 是状态防火墙,报文的来回路径通过同一台防火墙,要求同一台防火墙上的所有 VRRP 备份组状态保持一致,即需要保证在主防火墙上所有 VRRP 备份组都是主状态。
在防火墙应用中存在的缺陷
当防火墙 A 和防火墙 B 的 VRRP 状态不一致,防火墙 A 上游链路发生故障,防火墙 B 成为备份组 3 新的 Master。Trust 区域的 PC1 访问 Untrust 区域的 PC2,报文来回路径不一致,防火墙 B 状态检测机制不通过,报文丢失。
状态检测机制详见 HCIA-Security_V4.0 | 04_防火墙安全策略。
1.2 VGMP 管理组
基本原理
VGMP(VRRP Group Management Protocol,VRRP 组管理协议)保证所有 VRRP 备份组切换的一致性,同一台防火墙上的多个 VRRP 备份组加入到一个 VGMP 管理组,由管理组统一管理 VRRP 备份组的状态。
防火墙 VGMP 组状态分为三类:Load-balance、Active、Standby
- Load-balance:设备自身的 VGMP 组优先级等于对端设备的 VGMP 组优先级。
- Active:
- 设备自身的 VGMP 组优先级大于对端设备的 VGMP 组优先级,负责报文的转发。
- 设备没有接收到对端设备的 VGMP 报文,无法了解到对端 VGMP 组优先级。
- Standby:设备自身的 VGMP 组优先级小于对端设备的 VGMP 组优先级,负责监听 Active 端的状态。
当防火墙上的 VGMP 为 Active 状态时,它保证组内所有 VRRP 备份组的状态统一为 Active 状态,该防火墙成为主用防火墙,另外一台防火墙为备用防火墙。
VGMP 报文:VGMP 报文包含 VGMP Hello 报文、HRP Hello 报文以及 HRP 数据报文。
- VGMP 报文发送周期缺省为 1 秒,通过心跳口发送。
- VGMP Hello 报文用于协商防火墙主备状态。主备防火墙 VGMP 组定期向对端发送 VGMP Hello 报文,通知对端本身的运行状态(优先级、设备状态等),事件触发时也会发送 VGMP 报文(如 VGMP 开启,优先级改变)。Standby 端收到 Hello 报文后,会回应一个 Ack 消息,该消息中会携带本身的优先级、VRRP 成员状态等。(VRRP 组中的备份防火墙只负责监听通告报文,不会进行回应。)
- HRP Hello 报文用于探测对端的 VGMP 组是否处于工作状态,主备防火墙 VGMP 组定期向对端发送 HRP Hello 报文,当 Standby 端五个报文周期没有收到对端发送的 HRP Hello 报文时,会认为对端出现故障,从而将自己切换到 Active 状态。
- HRP 数据报文用于主用设备数据备份,包括命令备份和各种状态信息的备份。当 vtype(VGMP 报文头部的一个字段)为 HRP 报文时,还需要在 VGMP 报文上承载 HRP 报文头部。
VGMP 组选举主从设备工作流程:
故障发生时
当故障发生时,VGMP 统一切换 VRRP 备份组 1 与 VRRP 备份组 2 的状态。
当 VGMP 组状态为 Active 时,VRRP 备份组的状态都是 Master;当 VGMP 组状态为 Standby 时,VRRP 备份组的状态都是 Backup。
防火墙 A 正常时工作原理(左图)与故障时工作原理(右图)区别于 VGMP 组与 VRRP 备份组的状态。
切换过程如下:
- 防火墙 A 下联接口发生故障,防火墙 A 的 VRRP 备份组 1 由 Master 切换成 Initialize。
- 防火墙 A 的 VGMP 组感知到故障,降低自身优先级,与防火墙 B 的 VGMP 组比较优先级,重新协商主备状态。
- 协商后,防火墙 A 的 VGMP 组状态:Active → Standby,防火墙 B 的 VGMP 组状态:Standby → Active。
- 由于 VGMP 组的状态决定了组内 VRRP 备份组的状态,俩防火墙 VGMP 组对组内俩 VRRP 备份组状态进行强制切换,防火墙主备设备转换。
- 防火墙 B 分别向 Trust 和 Untrust 区域发送免费 ARP,更新他们的 MAC 转发表,使 Trust 访问 Untrust 的上行报文和回程报文都转发到防火墙 B。
会引发防火墙 VGMP 状态切换的故障(不同故障降低的优先级数值不同):
- VGMP 组监控的接口故障;
- VGMP 组监控的链路故障;
- 接口板故障;
- 业务板故障;
- 交换网板故障。
组管理
状态一致性管理:
- VGMP 管理组控制所有的 VRRP 备份组统一切换,VRRP 备份组加入到管理组后状态不能单独切换。
抢占管理:
- 当原来出现故障的主设备故障恢复时,其 VGMP 管理组优先级也会恢复,此时可以重新将自己的 VGMP 管理组状态抢占为主;
- 当 VRRP 备份组加入到 VGMP 管理组后,备份组上原来的抢占功能将失效,抢占行为发生与否必须由 VGMP 管理组统一决定。
- 缺省情况下,VGMP 管理组的抢占功能为启用状态,抢占延迟时间为 0s(立即抢占)。
通道管理:
- 为了确定双机热备的两台防火墙之间有哪些接口是可用的,VGMP、HRP 模块将自动选用可用的接口来发送 VGMP、HRP 报文。
1.3 HRP 冗余备份功能
基本概念
HRP(Huawei Redundancy Protocol,华为冗余协议),实现防火墙双机之间状态信息和关键配置命令的动态备份。
备份方向
支持备份的配置命令默认只能在配置主设备上执行,这些命令会自动备份到备设备上。例如,安全策略配置命令、NAT 策略配置命令等。
主备备份组网中,只有主设备会处理业务,主设备上生成业务表项,并向备设备备份。
负载分担组网中,两台防火墙都会处理业务,都会生成业务表项并向对端设备备份。
备份通道
配置和状态数据需要网络管理员指定备份通道接口进行备份。一般情况下,在两台设备上直连的端口作为备份通道,有时也称为“心跳线”(VGMP 也通过该通道进行通信)。
⭐配置备份与状态信息备份
为了让两台设备故障切换时业务能平滑切换。
开启会话快速备份功能后:
- 到设备自身和从设备发出的报文产生的会话不会备份。
- 对于 ICMP 协议,设备收到 ICMP ECHO-REQUEST 报文,生成会话后就立即备份会话。
- 对于 TCP 协议,设备收到 SYN 报文,生成会话后就立即备份会话。
- 对于 UDP 协议,设备收到正向的首个报文,生成会话后就立即备份会话。
HRP 心跳线
双机热备组网中,心跳线是两台防火墙交互信息了解对端状态、备份配置命令和各种表项的通道。
- 心跳接口:心跳线两端的接口。是一个物理接口(GE 接口)或多个物理接口捆绑成的一个逻辑接口(Eth-Trunk)。
心跳线主要传递如下消息:
- HRP Hello 报文:两台防火墙通过定期(默认周期为 1 秒)互相发送心跳报文检测对端设备是否存活,也称 HRP 心跳报文。
- VGMP Hello 报文:了解对端设备的 VGMP 组的状态,确定本端和对端设备当前状态是否稳定,是否要进行故障切换。
- HRP 数据报文:用于两台防火墙同步配置命令和状态信息。
- 心跳链路探测报文:用于检测对端设备的心跳口能否正常接收本端设备的报文,确定是否有心跳接口可以使用。
- 配置一致性检查报文:用于检测两台防火墙的关键配置是否一致,如安全策略、NAT 策略、认证策略、是否配置了相同序号的心跳接口等(不包括静态路由的下一跳和出接口)。
上述报文均不受防火墙的安全策略控制,不需要针对这些报文配置安全策略。
通常情况下,备份数据流量约为业务流量的 20% ~ 30%,请根据备份数据量的大小选择捆绑物理接口的数量。
心跳接口的状态
共五种:Invalid、Down、Peerdown、Ready、Running。
- Invalid:本端防火墙上的心跳口配置错误。物理状态 up,协议状态 down。
- Down:本端防火墙上的心跳口的物理与协议状态均为 down 时。
- Peerdown:本端防火墙上的心跳口的物理与协议状态均为 up 时,心跳口会向对端对应的心跳口发送心跳链路探测报文。如果收不到对端响应的报文,防火墙设置该心跳接口状态。心跳口仍会不断发送心跳链路检测报文,以便当对端的对应心跳口 up 后,该心跳链路能处于连通状态。
- Ready:本端防火墙上的心跳口的物理与协议状态均为 up 时,心跳口会向对端对应的心跳口发送心跳链路探测报文。如果对端心跳口能够响应此报文(也发送心跳链路探测报文),防火墙设置该心跳接口状态,随时准备发送和接收心跳报文。心跳口仍会不断发送心跳链路探测报文,以保证心跳链路的状态正常。
- Running:本端防火墙有多个处于 ready 状态的心跳口时,防火墙选择最先配置的心跳口形成心跳链路,并设置此心跳口为此状态。如果只有一个处于 Ready 状态的心跳口,那么它自然会成为状态为 Running 的心跳口。状态为 Running 的接口负责发送 HRP 心跳报文、HRP 数据报文、HRP 链路探测报文、VGMP 报文和一致性检查报文。这时其余处 Ready 状态的心跳口处于备份状态,当处于 Running 状态的心跳口或心跳链路故障时,其余处于 Ready 状态的心跳口依次(按配置先后顺序)接替当前心跳口处理业务。
1.4 防火墙双机热备工作流程
防火墙双机热备主备备份应用场景
应用场景
主要应用于对可靠性要求较高场景,如企业办公场景,在企业网络出口部署两台防火墙构成双机热备的组网,采用主备模式。
配置分析
- 防火墙 VGMP 状态:防火墙 A 为主设备,VGMP 状态为 Active;防火墙 B 为备设备,VGMP 状态为 Standby。
- VRRP 备份组:防火墙下游配置 VRRP 备份组 1,防火墙上游配置 VRRP 备份组 2;VRRP 备份组 1 和 2 设置防火墙 A 为 Master,VRRP 备份组 1 和 2 设置防火墙 B 为 Backup。
- 备份方式:默认情况下,双机热备采用自动备份方式。
- 备份接口:防火墙 GE0/0/1 接口为心跳口,所连接的线路为心跳线。
- 抢占:默认开启,默认抢占时延为 60s。
防火墙双机热备主备备份工作流程
防火墙主备状态:防火墙 A 为主设备,VGMP 状态为 Active,VRRP 备份组 1 和 2 状态为 Master;防火墙 B 为备设备,VGMP 状态为 Standby,VRRP 备份组 1 和 2 状态为 Backup。
配置与状态备份:防火墙 A 的配置与状态信息通过心跳线实时备份到防火墙 B。
流量转发路径:防火墙 A 向交换机 A 和交换机 C 发送免费 ARP 报文,刷新交换机的 MAC 地址表。当主机 A 访问 Internet 时,首先通过 ARP 查询网关 MAC 地址(即查询 VRRP Virtual IP 的 MAC 地址),防火墙 A 回应 VRRP Virtual MAC,主机 A 向交换机 A 发送业务报文,交换机 A 根据 MAC 表转发流量到防火墙 A,防火墙 A 再转发到 Internet。返程同理。
防火墙双机热备主备切换
业务口/业务线路故障
- 防火墙 A 的 VGMP 组优先级降低,发送 VGMP 请求报文。
- 防火墙 B 将收到的对端发送的 VGMP 请求报文与自己的 VGMP 组优先级进行比较,发送 VGMP 应答报文。
- 防火墙 A 收到回应报文,将 VGMP 组状态切换为 Standby,防火墙 A 上的 VRRP 备份组 1 和备份组 2 切换状态为 Backup。
- 防火墙 B 将 VGMP 组状态切换为 Active,防火墙 B 上的 VRRP 备份组 1 和备份组 2 则切换状态为 Master。由防火墙向交换机 B 和 D 发送免费 ARP 报文。
整机故障
防火墙 A 出现整机故障,不再发送 HRP Hello 报文,防火墙 B 五个报文周期没有收到对端发送的 HRP Hello 报文,则防火墙 B 切换为主设备,VGMP 状态为 Active,防火墙 B 上的 VRRP 备份组 1 和备份组 2 则切换状态为 Master。
心跳线故障
防火墙 B 五个报文周期没有收到对端发送的 HRP Hello 报文,则防火墙 B 切换为主设备,VGMP 状态为 Active,防火墙 B 上的 VRRP 备份组 1 和备份组 2 则切换为 Master。此时出现双主现象。
防火墙双机热备主备切回切
- 防火墙 A 故障恢复后,此时 VGMP 组优先级恢复,在等待 60s 后,发送 VGMP 请求报文。
- 防火墙 B 收到 VGMP 请求报文后,与自己的 VGMP 组优先级进行比较,发现对端的优先级较高或相等(相等时查看 VGMP 的配置),则回应 VGMP 应答报文,同时将自己的 VGMP 组状态切换为 Standby,VRRP 备份组 1 和 2 状态切换为 Backup。
- 防火墙 A 收到回应报文后,将自己的 VGMP 状态切换为 Active,VRRP 备份组 1 和 2 状态切换为 Master。
VRRP/VGMP/HRP 的关系和作用
- VRRP 负责在主备倒换时发送免费 ARP 把流量引到新的主设备上。
- VGMP 负责监控设备的故障并控制设备的快速切换。
- HRP 负责在双机热备运行过程中的数据备份。
2 双机热备基本组网与配置
需求描述
防火墙 A 和防火墙 B 的业务接口都工作在三层,上下行分别连接二层交换机。上行交换机连接运营商的接入点,运营商为企业分配的 IP 地址为 1.1.1.1。现在希望防火墙 A 和防火墙 B 以主备备份方式工作。正常情况下,流量通过防火墙 A 转发;当防火墙 A 出现故障时,流量通过防火墙 B 转发,保证业务不中断。
- VRRP 备份组 1 的虚拟 IP:1.1.1.1/24;
- VRRP 备份组 2 的虚拟 IP:10.3.0.3/24;
- 防火墙 A 心跳接口 10GE0/0/7 地址:10.10.0.1/24;
- 防火墙 B 心跳接口 10GE0/0/7 地址:10.10.0.2/24。
配置思路
- 完成基本网络配置:包括配置防火墙各接口的 IP 地址,将防火墙各接口加入相应的安全区域及缺省路由配置。
- 配置 VRRP 备份组:在两台防火墙上完成 VRRP 备份组配置。
- 配置安全策略,允许心跳口之间交互 HRP 报文。
- 指定心跳接口,配置认证密钥,并启用双机热备功能。
- 配置安全策略,允许内网用户访问 Internet。
- 配置 NAT 策略,让内网用户成功访问 Internet。
配置命令
在防火墙 A 上行业务接口 10GE0/0/1 上配置 VRRP 备份组 1,并设置其状态为 Active。
在防火墙 B 上行业务接口 10GE0/0/1 上配置 VRRP 备份组 1,并设置其状态为 Standby。
在防火墙 A 指定心跳接口,配置认证密钥,并启用双机热备功能。
在防火墙 B 指定心跳接口,配置认证密钥,并启用双机热备功能。
其中,hrp enable
和 hrp interface interface-type interface-number
是防火墙双机热备场景的必要配置。
3 思考题
1.(判断题)HRP 技术可以实现备防火墙不需要配置任何信息,所有配置信息均由主防火墙通过 HRP 同步至备防火墙,且重启后配置信息不丢失。( )
A.正确 B.错误
B。仅配置命令默认只能在配置主设备上执行,并能够自动备份到备设备上,而非所有配置信息。