双机热备技术的作用
在双机热备组网中,一台防火墙转发流量,一台防火墙作为备份,这时需要VRRP协议帮助两台设备协同工作。VRRP协议最初使用在路由器可靠性组网上。
基于VRRP的路由器冗余部署方案
l
VRRP
(
Virtual Router Redundancy Protocol
)是一种容错协议,它保证当主机的下一跳路由器(默认网关)出现故障时,由备份路由器自动代替出现故障的路由器完成报文转发任务,从而保持网络通信的连续性和可靠性。同一
VRRP
备份组内的路由器有两种角色:
Master
设备(活动状态)、
Backup
设备(备份状态)。
主设备
Router A
正常时:
Router A
作为
VRRP
备份组的
Master
设备,负责转发数据流量。
主设备
Router A
故障时:
Router B
感知到
VRRP
心跳超时,从而被选举为新的主设备;
Router B
发送免费
ARP
,交换机收到后刷新
MAC
地址表;
Router B
响应用户的
ARP
请求,并负责流量转发。
VRRP在多区域防火墙组网中的应用
当防火墙上多个区域需要提供双机备份功能时,需要在一台防火墙上配置多个
VRRP
备份组。
由于
USG
防火墙是状态防火墙,它要求报文的来回路径通过同一台防火墙。为了满足这个限制条件,就要求在同一台防火墙上的所有
VRRP
备份组状态保持一致,即需要保证在主防火墙上所有
VRRP
备份组都是主状态,这样所有报文都将从此防火墙上通过,而另外一台防火墙则充当备份设备。
VRRP在防火墙应用中存在的缺陷
当防火墙
A
和防火墙
B
的
VRRP
状态一致:
Trust
区域的
PC1
访问
Untrust
区域的
PC2
,报文来回路径一致,防火墙
A
状态检测机制检测通过,通信正常。
当防火墙
A
和防火墙
B
的
VRRP
状态不一致:
防火墙
A
上游链路发生故障,防火墙
B
成为备份组
3
新的
Master
;
Trust
区域的
PC1
访问
Untrust
区域的
PC2
,报文来回路径不一致,防火墙
B
状态检测机制检测不通过,报文丢失
。
VGMP基本原理
为了保证所有
VRRP
备份组切换的一致性,在
VRRP
的基础上进行了扩展,推出了
VGMP
(
VRRP
组管理协议
)来弥补此局限。
将同一台防火墙上的多个
VRRP
备份组都加入到一个
VGMP
管理组,由管理组统一管理所有
VRRP
备份组的状态,
来保证管理组内的所有
VRRP
备份组状态都是一致的。
防火墙
VGMP
组状态分为三类:
L
oad-balance
、
Active
、
Standby
;
防火墙
VGMP
组通过发送
VGMP
报文通告自身运行状态,从而根据
Hello
优先级决定主备设备,主设备
VGMP
组的状态为
Active
,备设备
VGMP
组的状态为
Standby
;
当防火墙上的
VGMP
组为
Active/Standby
状态时,组内所有
VRRP
备份组的状态统一为
Active/Standby
状态。
VGMP组选举主从设备工作流程如图所示。
当故障发生时,
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
)。
HRP心跳接口共有五种状态:Invalid、Down、Peerdown、Ready、Running。
•
Invalid
:当本端防火墙上的心跳口配置错误时显示此状态(物理状态
up
,协议状态
down
),例如指定的心跳口为二层接口或未配置心跳接口的
IP
地址。
•
Down
:当本端防火墙上的心跳口的物理与协议状态均为
down
时,则会显示此状态。
•
Peerdown
:当本端防火墙上的心跳口的物理与协议状态均为
up
时,则心跳口会向对端对应的心跳口发送心跳链路探测报文。如果收不到对端响应的报文,那么防火墙会设置心跳接口状态为
Peerdown
。但是心跳口还会不断发送心跳链路探测报文,以便当对端的对应心跳口
up
后,该心跳链路能处于连通状态。
•
Ready
:当本端防火墙上的心跳口的物理与协议状态均为
up
时,则心跳口会向对端对应的心跳口发送心跳链路探测报文。如果对端心跳口能够响应此报文(也发送心跳链路探测报文),那么防火墙会设置本端心跳接口状态为
ready
,随时准备发送和接受心跳报文。这时心跳口依旧会不断发送心跳链路探测报文,以保证心跳链路的状态正常。
•
Running
:当本端防火墙有多个处于
ready
状态的心跳口时,防火墙会选择最先配置的心跳口形成心跳链路,并设置此心跳口的状态为
Running
。如果只有一个处于
Ready
状态的心跳口,那么它自然会成为状态为
Running
的心跳口。状态为
Running
的接口负责发送
HRP
心跳报文、
HRP
数据报文、
HRP
链路探测报文、
VGMP
报文和一致性检查报文。这时其余处
Ready
状态的心跳口处于备份状态,当处于
Running
状态的心跳口或心跳链路故障时,其余处于
Ready
状态的心跳口依次(按配置先后顺序)接替当前心跳口处理业务。