1.双机热备技术产生的背景
- 传统的组网方式如下左图所示,内部用户和外部用户的交互报文全部通过防火墙A。如果防火墙A出现故障,内部网络中所有以防火墙A作为默认网关的主机与外部网络之间的通讯将中断,通讯可靠性无法保证。
- 防火墙作为安全设备,一般会部署在需要保护的网络和不受保护的网络之间,即位于网络边界上。在网络边界上,如果仅仅使用一台防火墙设备,无论其可靠性多高,系统都可能会承受因为单点故障而导致网络中断的风险。为了防止一台设备出现意外故障而导致网络业务中断,可以采用两台防火墙形成双机备份。
2.基于VRRP的路由器冗余部署方案
VRRP(Virtual Router Redundancy Protocol)是一种容错协议,它保证当主机的下一跳路由器(默认网关)出现故障时,由备份路由器自动代替出现故障的路由器完成报文转发任务,从而保持网络通信的连续性和可靠性。同一VRRP备份组内的路由器有两种角色:Master设备(活动状态)、Backup设备(备份状态)。
VRRP在多区域防火墙组网中的应用
为防火墙上多个区域提供双机备份功能时,需要在每一台防火墙上配置多个VRRP备份组。
VRRP在防火墙应用中存在的缺陷
传统VRRP方式无法实现主、备用防火墙状态信息和多组VRRP状态的一致性。
VGMP基本原理 (1)
为了保证所有VRRP备份组切换的一致性,在VRRP的基础上进行了扩展,推出了VGMP(VRRP组管理协议)来弥补此局限。将同一台防火墙上的多个VRRP备份组都加入到一个VGMP管理组,由管理组统一管理所有VRRP备份组的状态,来保证管理组内的所有VRRP备份组状态都是一致的。
- 防火墙VGMP组状态分为三类:Load-balance、Active、Standby;
- 防火墙VGMP组通过发送VGMP报文通告自身运行状态,从而根据Hello优先级决定主备设备,主设备VGMP组的状态为Active,备设备VGMP组的状态为Standby;
- 当防火墙上的VGMP组为Active/Standby状态时,组内所有VRRP备份组的状态统一为Active/Standby状态。
VGMP基本原理 (2)
当故障发生时,VGMP统一切换VRRP备份组1与VRRP备份组2的状态。当VGMP组状态为Active时,VRRP备份组的状态都是Master;当VGMP组状态为Standby时,VRRP备份组的状态都是Backup;
VGMP组管理
状态一致性管理
- VGMP管理组控制所有的VRRP备份组统一切换,VRRP备份组加入到管理组后状态不能单独切换。
抢占管理
- 当原来出现故障的主设备故障恢复时,其VGMP管理组优先级也会恢复,此时可以重新将自己的VGMP管理组状态抢占为主;
- 当VRRP备份组加入到VGMP管理组后,备份组上原来的抢占功能将失效,抢占行为发生与否必须由VGMP管理组统一决定。
通道管理
- 所谓通道管理,就是为了确定双机热备的两台防火墙之间有哪些接口是可用的,VGMP、HRP模块将自动选用可用的接口来发送VGMP、HRP报文。
HRP基本概念
HRP(Huawei Redundancy Protocol)协议,用来实现防火墙双机之间状态信息和关键配置命令的动态备份。
备份方向
- 支持备份的配置命令默认只能在配置主设备上执行,这些命令会自动备份到备设备上。例如,安全策略配置命令、NAT策略配置命令等;
- 主备备份组网中,只有主设备会处理业务,主设备上生成业务表项,并向备设备备份。负载分担组网中,两台防火墙都会处理业务,都会生成业务表项并向对端设备备份。
备份通道
- 配置和状态数据需要网络管理员指定备份通道接口进行备份。一般情况下,在两台设备上直连的端口作为备份通道,有时也称为“心跳线”(VGMP也通过该通道进行通信)。
配置备份与状态信息备份
为了让两台设备故障切换时业务能平滑切换,两台设备间需要备份配置和状态信息。
HRP心跳线
双机热备组网中,心跳线是两台防火墙交互消息了解对端状态、备份配置命令和各种表项的通道。
- 心跳线两端的接口通常被称之为“心跳接口”;
- 心跳接口可以是一个物理接口(GE接口),或者多个物理接口捆绑成的一个逻辑接口(Eth-Trunk)。
心跳接口的状态
防火墙双机热备主备备份应用场景
应用场景
- 主要应用于对可靠性要求较高场景,如企业办公场景,为提升网络可靠性,可在企业网络出口部署两台防火墙构成双机热备的组网。综合考虑业务需求,双机热备采用主备模式。
配置分析
- 防火墙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状态为Matser;防火墙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。返程同理。
防火墙双机热备主备切换 (1)
业务口/业务线路故障
- 如图所示,防火墙A的业务口/所连业务线出现故障时,防火墙A的VGMP组优先级降低,发送VGMP请求报文;
- 防火墙B收到对端发送的VGMP请求报文后,与自己的VGMP组优先级进行比较,发送VGMP应答报文;
- 防火墙A收到回应报文,将VGMP组状态切换为Standby,防火墙A上的VRRP备份组1和备份组2则切换状态为Backup;
- 防火墙B将VGMP组状态切换为Active,防火墙B上的VRRP备份组1和备份组2则切换状态为Master。由防火墙B向交换机B和D发送免费ARP报文。
防火墙双机热备主备切换 (2)
整机故障
- 防火墙A出现整机故障,不再发送HRP Hello报文,防火墙B五个报文周期没有收到对端发送的HRP Hello报文,则防火墙B切换为主设备,VGMP状态为Active,防火墙B上的VRRP备份组1和备份组2则切换状态为Master。
防火墙双机热备主备切换 (3)
心跳线故障
- 心跳线出现故障,防火墙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。