传统的组网方式如图所示,内部用户和外部用户的交互报文全部通过Firewall A。如果Firewall A出现故障,内部网络中所有以Firewall A作为默认网关的主机与外部网络之间的通讯将中断,通讯可靠性无法保证。
当防火墙上多个区域需要提供双机备份功能时,需要在一台防火墙上配置多个VRRP备份组。
理想状态下,防火墙A与防火墙B的VRRP状态一致
即如防火墙A的所有接口为主用状态,防火墙B的所有接口为备用状态
此时,PC1访问PC2的通信流程为:
报文的转发路线为(1)-(2)-(3)-(4);
A转发访问报文时,动态生成会话表项;
当PC2的返回报文经过(4)-(3)到达A时,由于能够命中会话表项,才能再经过(2)-(1)到达PC1,顺利返回。
假设防火墙A与防火墙B的VRRP状态不一致
例如,当防火墙B与Trust区域相连的接口为备用状态,但与Untrust区域的接口为主用状态。
此时,PC1访问PC2的通信流程为:
报文的转发路线为(1)-(2)-(3)-(4);
A转发访问报文时,动态生成会话表项;
当PC2返回报文时认为防火墙B为主设备,所以报文路线为(4)-(9);
当报文经过B时,B发现没有相应流量的会话表项,报文丢弃。
产生的原因:
防火墙在不同VRRP备份组中担任的角色不一样,导致报文来回路径不一致。
深层次原因:
路由器:每个报文都会查路由表当匹配上后才进行转发,当链路切换后,后续报文不会受到影响,继续进行转发。
状态检测防火墙:如果首包允许通过会建立一条五元组的会话连接,只有命中该会话表项的后续报文(包括返回报文)才能够通过防火墙;如果链路切换后,后续报文找不到正确的表项,会导致业务中断。
VGMP:VRRP组管理协议
VRRP在防火墙中应用的要求:
VGMP提出VRRP管理组的概念,将同一台防火墙上的多个VRRP备份组都加入到一个VRRP管理组,由管理组统一管理所有VRRP备份组。通过统一控制各VRRP备份组状态的切换,来保证管理组内的所有VRRP备份组状态都是一致的。(避免来回路径不一致)
当防火墙上的VGMP为Active/Standby状态时,组内所有VRRP备份组的状态统一为Active/Standby状态。
状态为Active的VGMP也会定期向对端发送HELLO报文,通知Standby端本身的运行状态(包括优先级、VRRP成员状态等)。
当防火墙上的VGMP为Active状态时,组内所有VRRP备份组的状态统一为Active状态,所有报文都将从该防火墙上通过,该防火墙成为主用防火墙。此时另外一台防火墙上对应的VGMP为备状态,该防火墙成为备用防火墙。
防火墙的VGMP优先级有一个初始优先级,当防火墙的接口或者单板等出现故障时,会在初始优先级基础上减去一定的降低值。
VGMP的优先级会根据组内的VRRP备份组状态为Active的VGMP也会定期向对端发送HELLO报文,通知Standby端本身的运行状态(包括优先级、VRRP成员状态等)。成员的状态动态调整,以此完成两台防火墙的主备倒换。
VGMP HELLO报文发送周期缺省为1秒。当Standby端三个HELLO报文周期没有收到对端发送的HELLO报文时,会认为对端出现故障,从而将自己切换到Active状态。
状态一致性管理:
VGMP管理组控制所有的VRRP备份组统一切换。
抢占管理:
当原来出现故障的主设备故障恢复时,其优先级也会恢复,此时可以重新将自己的状态抢占为主。(抢占时间60s)
HRP(Huawei Redundancy Protocol)协议,(华为冗余协议)用来实现防火墙双机之间动态状态数据和关键配置命令的备份。
产生背景:
当主防火墙出现故障时,所有流量都将切换到备防火墙。因为USG防火墙是状态防火墙,如果备防火墙上没有原来主防火墙上的会话表等连接状态数据,则切换到备防火墙的流量将无法通过防火墙,造成现有的连接中断,此时用户必须重新发起连接。
HRP模块提供了基础的数据备份机制和传输功能。
主要内容有:
备份内容:要备份的连接状态数据包括TCP/UDP的会话表、ServerMap表项、动态黑名单、NO-PAT表项、ARP表项等。
备份方向:防火墙上有状态为主的VGMP管理组,向对端备份。
备份通道:一般情况下,在两台设备上直连的端口作为备份通道,有时也称为“心跳线”(VGMP也通过该通道进行通信)
两台FW之间备份的数据是通过心跳口发送和接收的,是通过心跳链路(备份通道)传输的。
三大双机热备技术
持续更新…