双机热备

  • 双机热备的必要性
  • VGMP
  • VGMP基本原理
  • VGMP组管理
  • HRP协议
  • 心跳接口
  • 实验和配置
  • 实验拓扑图
  • 配置
  • 结果如图


双机热备的必要性

在网络关键节点上,如果只部署一台设备,无论其可靠性多高,系统都必然要承受因单点故障而导致网中断的风险。防火墙一般用作内网到外网的出口,是业务关键路径上的设备。为了防止因一台设备故障而导致的业务中断,要求防火墙必须提供更高的可靠性,此时需要使用防火墙双机热备组网。

1.备份前

防火墙负载均衡双链路_链路

2.备份后

防火墙负载均衡双链路_数据_02

VGMP

传统备份

1.防火墙上多个区域提供双机备份功能时,需要在每一台防火墙上配置多个VRRP备份组。

VRRP在防火墙应用中存在的缺陷
传统VRRP方式无法实现主、备用防火墙状态的一致性

2.VGMP

为了保证所有VRRP备份组切换的一致性,在VRRP的基础上进行了扩展,推出了VGMP(VRRP GroupManagement Protocol)来弥补此局限,实现以组为单位统一行动的目的。

防火墙负载均衡双链路_链路_03

VGMP提出VRRP管理组的概念,将同一台防火墙上的多个VRRP备份组都加入到一个VRRP管理组,由管理组统一管理所有VRRP备份组。通过统一控制各VRRP备份组状态的切换,来保证管理组内的所有VRRP备份组状态都是一致的。

VGMP基本原理

  • 当防火墙上的VGMP为Active/Standby状态时,组内所有VRRP备份组的状态统一为Active/Standby状态。状态为Active的VGMP也会定期向对端发送HELLO报文,通知Standby端本身的运行状态(包括优先级、VRRP成员状态等)。
  • 当防火墙上的VGMP为Active状态时,组内所有VRRP备份组的状态统一为Active状态,所有报文都将从该防火墙上通过,该防火墙成为主用防火墙。此时另外一台防火墙上对应的VGMP为备状态,该防火墙成为备用防火墙。
  • 通过指定VGMP组的状态来决定谁将成为主用防火墙或备用防火墙。
  • 防火墙的VGMP优先级有一个初始优先级,当防火墙的接口或者单板等出现故障时,会在初始优先级基础上减去一定的降低值。
  • USG6000和NGFW Module的初始优先级为45000。USG9500的VGMP组的初始优先级与LPU板(接口板)上的插卡个数和SPU板(业务板)上的CPU个数有关。
  • VGMP的优先级会根据组内的VRRP备份组状态为Active的VGMP也会定期向对端发送HELLO报文,通知Standby端本身的运行状态(包括优先级、VRRP成员状态等)。成员的状态动态调整,以此完成两台防火墙的主备倒换。
  • 与VRRP类似,与VRRP不同的是,Standby端收到HELLO报文后,会回应一个ACK消息,该消息中也会携带本身的优先级、VRRP成员状态等。
  • VGMP HELLO报文发送周期缺省为1秒。当Standby端三个HELLO报文周期没有收到对端发送的HELLO报文时,会认为对端出现故障,从而将自己切换到Active状态。

VGMP组管理

  • 状态一致性管理
  • VGMP管理组控制所有的VRRP备份组统一切换。各备份组的主/备状态变化都需要通知其所属的VGMP管理组,由VGMP管理组决定是否允许VRRP备份组进行主/备状态切换。如果需要切换,则VGMP管理组控制所有的VRRP备份组统一切换。VRRP备份组加入到管理组后,状态不能自行单独切换。
  • 抢占管理
  1. VRRP备份组本身具有抢占功能。即当原来出现故障的主设备故障恢复时,其优先级也会恢复,此时可以重新将自己的状态抢占为主。
  2. VGMP管理组的抢占功能和VRRP备份组类似,当管理组中出现故障的备份组故障恢复时,管理组的优先级也将恢复。此时VGMP可以决定是否需要重新抢占称为主设备。
  3. 当VRRP备份组加入到VGMP管理组后,备份组上原来的抢占功能将失效,抢占行为发生与否必须由VGMP管理组统一决定。

HRP协议

HRP(Huawei Redundancy Protocol)协议,用来实现防火墙双机之间动态状态数据和关键配置命令的备份。

  1. 在双机热备组网中,当主防火墙出现故障时,所有流量都将切换到备防火墙。因为USG防火墙是状态防火墙,如果备防火墙上没有原来主防火墙上的会话表等连接状态数据,则切换到备防火墙的流量将无法通过防火墙,造成现有的连接中断,此时用户必须重新发起连接。
  2. HRP模块提供了基础的数据备份机制和传输功能。各个应用模块收集本模块需要备份的数据,提交给HRP模块,HRP模块负责将数据发送到对端防火墙的对应模块,应用模块需要再将HRP模块提交上来的数据进行解析,并加入到防火墙的动态运行数据池中。
  3. 备份内容:要备份的连接状态数据包括TCP/UDP的会话表、ServerMap表项、动态黑名单、NOPAT表项、ARP表项等。
  4. 备份方向:防火墙上有状态为主的VGMP管理组,向对端备份。备份通道:一般情况下,在两台设备上直连的端口作为备份通道,有时也称为“心跳线”(VGMP也通过该通道进行通信)。

心跳接口

两台FW之间备份的数据是通过心跳口发送和接收的,是通过心跳链路(备份通道)传输的。
心跳口必须是状态独立且具有IP地址的接口,可以是一个物理接口(GE接口),也可以是为了增加带宽,由多个物理接口捆绑而成的一个逻辑接口Eth-Trunk。

HRP心跳接口共有五种状态:

  • Invalid:本端FW上的心跳口配置错误时显示此状态(物理状态up,协议状态down),例如指定的心跳口为二层接口或未配置心跳接口的IP地址。
  • Down:当本端FW上的心跳口的物理与协议状态均为down时,则会显示此状态。
  • Peerdown:当本端FW上的心跳口的物理与协议状态均为up时,则心跳口会向对端对应的心跳口发送心跳链路探测报文。如果收不到对端响应的报文,那么FW会设置心跳接口状态为peerdown。但是心跳口还会不断发送心跳链路探测报文,以便当对端的对应心跳口up后,该心跳链路能处于连
    通状态。
  • Ready:当本端FW上的心跳口的物理与协议状态均为up时,则心跳口会向对端对应的心跳口发送心跳链路探测报文。如果对端心跳口能够响应此报文(也发送心跳链路探测报文),那么FW会设置本端心跳接口状态为ready,随时准备发送和接受心跳报文。这时心跳口依旧会不断发送心跳链路探测报文,以保证心跳链路的状态正常。
  • running:当本端FW有多个处于ready状态的心跳口时,FW会选择最先配置的心跳口形成心跳链路,并设置此心跳口的状态为running。如果只有一个处于ready状态的心跳口,那么它自然会成为状态为running的心跳口。状态为running的接口负责发送HRP心跳报文、HRP数据报文、HRP链路探测报文、VGMP报文和一致性检查报文。这时其余处于ready状态的心跳口处于备份状态,当处于running状态的心跳口或心跳链路故障时,其余处于ready状态的心跳口依次(按配置先后顺序)接替当前心跳口处理业务。

实验和配置

实验拓扑图

防火墙负载均衡双链路_防火墙负载均衡双链路_04

配置

IP地址和vrrp配置

  1. fw1配置(主)
interface GigabitEthernet1/0/0
 ip address 192.168.10.1 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.10.254 active
 service-manage ping permit
  undo shutdown


interface GigabitEthernet1/0/1
 ip address 192.168.20.1 255.255.255.0
 vrrp vrid 1 virtual-ip 192.168.20.254 active
 service-manage ping permit
  undo shutdown

interface GigabitEthernet1/0/2
 ip address 192.168.30.1 255.255.255.0
  undo shutdown
  1. fw2配置(备份)
interface GigabitEthernet1/0/0
 undo shutdown
 ip address 192.168.10.2 255.255.255.0
vrrp vrid 1 virtual-ip 192.168.10.254 standby 
 service-manage ping permit
#

interface GigabitEthernet1/0/1
 undo shutdown
 ip address 192.168.20.2 255.255.255.0
 vrrp vrid 1 virtual-ip 192.168.20.254 standby 
 service-manage ping permit

interface GigabitEthernet1/0/2
 undo shutdown
 ip address 192.168.30.2 255.255.255.0
  1. 区域划分(fw1、fw2一样)
firewall zone trust
 set priority 85
 add interface GigabitEthernet1/0/0
 add interface GigabitEthernet1/0/2

firewall zone untrust
 set priority 5
 add interface GigabitEthernet1/0/3
  1. 策略(可以配置一样)
security-policy
 rule name trust_to_local_and_untrust
  source-zone trust
  destination-zone local
  destination-zone untrust
  action permit
 rule name untrust_to_local_and_trust
  source-zone untrust
  destination-zone local
  destination-zone trust
  action permit
  1. 配置hrp
#fw1
hrp enable
hrp interface GigabitEthernet 1/0/2 remote 192.168.30.2

#fw2
hrp enable
hrp interface GigabitEthernet 1/0/2 remote 192.168.30.1

结果如图

  1. fw1(主)
  2. 防火墙负载均衡双链路_优先级_05

  3. fw2(备)
  4. 防火墙负载均衡双链路_数据_06