双机热备技术产生的背景
传统的组网方式如下所示,内部用户和外部用户的交互报文全部通过防火墙A。如果防火墙A出现故障,内部网络中所有以防火墙A作为默认网关的主机与外部网络之间的通讯将中断,通讯可靠性无法保证
防火墙作为安全设备,一般会部署在需要保护的网络和不受保护的网络之间,即网络边界。在网络边界上,如果仅仅使用一台防火墙设备,无论其可靠性多高,系统都可能会承受因为单点故障而导致网络中断的风险。为了防止一台设备出现意外故障而导致网络业务中断,可以采用两台防火墙形成双击备份
VRRP
基于VRRP的路由器冗余部署方案
VRRP(Virtual Router Redundancy Protocol)是一种容错协议,它保证当主机的下一跳路由器(默认网关)出现故障时,由备份路由器自动代替出现故障的路由器完成报文转发任务,从而保持网络通信的连续性和可靠性。同一VRRP备份组内的路由器有两种角色:master,buackup
主设备正常时:
主设备作为VRRP备份组的master设备,负载转发数据流量
主设备故障时:
backup设备感知VRRP心跳超时,从而被选举为新的master设备
新master设备发送免费ARP,交换机收到后刷新MAC地址表
新master设备响应用户的ARP请求,并负责流量转发
master设备选举规则:
首先比较优先级的大小,优先级范围为0-255,优先级高者当选master设备,其次比较接口IP地址大小,接口IP地址较大的设备当选master设备。成为master的设备运行优先级自动调为255
主路由器通过组播方式定期向备份路由器发送通告报文(hello报文),备份路由器则负责监听通告报文,以此来确认其状态。由于VRRP hello报文为组播报文,所以要求备份组中的各路由器通过二层链路相连
VRRP在防火墙应用中存在的缺陷
传统VRRP方式无法实现主,备用防火墙状态信息和多组VRRP状态一致性
当防火墙A和防火墙B的VRRP状态一致
trust区域的PC1访问untrust区域的PC2,报文来回路径一致,防火墙A状态检测机制通过,通信正常
当防火墙A和防火墙B的VRRP状态不一致
防火墙A上游链路发生故障,防火墙B成为备份组3新的master
trust区域的PC1访问untrust区域的PC2,报文来回路径不一致,防火墙B状态检测机制检测不通过,报文丢弃
这个时候就需要VGMP了
VGMP
为了保证所有VRRP备份组切换的一致性,在VRRP的基础上拓展,推出了VGMP(VRRP组管理协议)来弥补此局限。将同一台防火墙上的多个VRRP备分组都加入到一个VGMP管理组,由管理组统一管理所有VRRP备份组状态,来保证管理组内的所有VRRP备份组状态都是一致的
VRRP由VGMP管理,由VGMP来决定VRRP哪个是主
防火墙VGMP组状态分为三类:load-balance,active,standby
防火墙VGMP组通过发送VGMP报文通告自身运行状态,从而根据hello优先级决定主备设备,主备VGMP组状态为active,备设备VGMP组状态为standby
当防火墙上的VGMP组为active/standby状态时,组内所有VRRP备份组的状态统一为master/backup
配置VRRP -> 启用VGMP -> 选举VGMP主从设备 -> 切换VRRP组状态
当故障发生时,VGMP统一切换VRRP组1与VRRP组2的状态。当VGMP组状态为active时,VRRP备份组的状态为master;当VGMP组状态为standby时,VRRP备份组的状态为backup
当链路故障,VGMP状态为active的设备会主动调低优先级成为standby,对应VRRP组成为backup
状态一致性管理
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
总结
VRRP提高了主备方案,防止单点故障
但是防火墙需要VGMP来解决来回路径不一致的问题,将全部VRRP组状态统一管理
当切换主备的时候,备设备也需要有一定是表项配置才能进行业务不中断,所以需要HRP传递备份防火墙双机之间状态信息和关键配置命令