六、防火墙—双机热备

双机热备技术原理

双机热备技术产生的原因
解决单点故障的问题。

路由器冗余部署方案

路由器组网中通过VRRP协议实现设备冗余:
在这里插入图片描述
为了避免路由器传统组网所引起的单点故障的发生,通常情况可以采用多条链路的保护机制,依靠动态路由协议进行链路切换。但这种路由协议来进行切换保护的方式存在一定的局限性,当不能使用动态路由协议时,仍然会导致链路中断的问题,因此推出了另一种保护机制VRRP(虚拟路由冗余协议)来进行。采用VRRP的链路保护机制比依赖动态路由协议的广播报文来进行链路切换的时间更短,同时弥补了不能使用动态路由情况下的链路保护。

VRRP(Virtual Router Redundancy Protocol)是一种基本的容错协议。

备份组:同一个广播域的一组路由器组织成一个虚拟路由器,备份组中的所有路由器一起,共同提供一个虚拟IP地址,作为内部网络的网关地址。

主(Master)路由器:在同一个备份组中的多个路由器中,只有一台处于活动状态,只有主路由器能转发以虚拟IP地址作为下一跳的报文。

备份(Backup)路由器:在同一个备份组中的多个路由器中,除主路由器外,其他路由器均为备份路由器,处于备份状态。
主路由器通过组播方式定期向备份路由器发送通告报文(HELLO),备份路由器则负责监听通告报文,以此来确定其状态。由于VRRP HELLO报文为组播报文,所以要求备份组中的各路由器通过二层设备相连,即启用VRRP时上下行设备必须具有二层交换功能,否则备份路由器无法收到主路由器发送的HELLO报文。如果组网条件不满足,则不能使用VRRP。

VRRP在多区域防火墙组网中的应用

在这里插入图片描述
当防火墙上多个区域需要提供双机备份功能时,需要在一台防火墙上配置多个VRRP备份组。

由于USG防火墙是状态防火墙,它要求报文的来回路径一致。为了满足这个限制条件,就要求在同一台防火墙上的所有VRRP备份组状态保持一致,即需要保证在主防火墙上所有VRRP备份组都是主状态,这样所有报文都将从此防火墙上通过,而另外一台防火墙则充当备份设备。

VRRP在防火墙应用中存在的缺陷

传统VRRP方式无法实现主、备用防火墙状态的一致性。
在这里插入图片描述
如图所示,假设USG A和USG B的VRRP状态一致,即USG A的所有接口均为主用状态,USG B的所有接口均为备用状态。

此时,Trust区域的PC1访问Untrust区域的PC2,报文的转发路线为(1)-(2)-(3)-(4)。USG A转发访问报文时,动态生成会话表项。当PC2的返回报文经过(4)-(3)到达USG A时,由于能够命中会话表项,才能再经过(2)-(1)到达PC1,顺利返回。同理,当PC2和DMZ区域的Server也能互访。

假设USG A和USG B的VRRP状态不一致,例如,当USG B与Trust区域相连的接口为备用状态,但与Untrust区域的接口为主用状态,则PC1的报文通过USG A设备到达PC2后,在USG A上动态生成会话表项。PC2的返回报文通过路线(4)-(9)返回。此时由于USG B上没有相应数据流的会话表项,在没有其他报文过滤规则允许通过的情况下,USG B将丢弃该报文,导致会话中断。

问题产生的原因:报文的转发机制不同。
路由器:每个报文都会查路由表,当匹配上后才进行转发,当链路切换后,后续报文不会受到影响,继续进行转发。
状态检测防火墙:如果首包允许通过会建立一条五元组的会话连接,只有命中该会话表项的后续报文(包括返回报文)才能够通过防火墙;如果链路切换后,后续报文找不到正确的表项,会导致业务中断。

注意:当路由器配置NAT后也会存在同样的问题,因为在进行NAT后会形成一个NAT转换后的表项。

VRRP用于防火墙多区域备份

为了保证所有VRRP备份组切换的一致性,在VRRP的基础上进行了扩展,推出了VGMP(VRRP Group Management Protocol)来弥补此局限。
在这里插入图片描述
VRRP在防火墙中应用的要求:
VRRP状态的一致性
会话表状态备份

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

VGMP基本原理

在这里插入图片描述
当防火墙上的VGMP为Active状态时,此防火墙组内所有VRRP备份组的状态统一为Active状态,所有报文都将从该防火墙上通过,该防火墙成为主用防火墙。此时另外一台防火墙上对应的VGMP为备状态,该防火墙成为备用防火墙。

通过指定VGMP组的状态来决定谁将成为主用防火墙或备用防火墙。

防火墙的VGMP优先级有一个初始优先级,当防火墙的接口或者单板等出现故障时,会在初始优先级基础上减去一定的降低值。

USG6000和NGFW Module的初始优先级为45000。

与VRRP不同的是,Standby端收到HELLO报文后,会回应一个ACK消息,该消息中也会携带本身的优先级、VRRP成员状态等。

VGMP HELLO报文发送周期缺省为1秒。当Standby端3个HELLO报文周期没有收到对端发送的HELLO报文时,会认为对端出现故障,从而将自己切换到Active状态。
VGMP只有两个组:
Active
Standby

VGMP组管理

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

HRP基本概念

HRP(Huawei Redundancy Protocol)协议,实现防火墙双机之间动态状态数据和关键配置命令的备份。
在这里插入图片描述
在双机热备组网中,当主防火墙出现故障时,所有流量都将切换到备防火墙。因为USG防火墙是状态防火墙,如果备防火墙上没有原来主防火墙上的会话表等连接状态数据,则切换到备防火墙的流量将无法通过防火墙,造成现有的连接中断,此时用户必须重新发起连接。

HRP模块提供了基础的数据备份机制和传输功能。各个应用模块收集本模块需要备份的数据,提交给HRP模块,HRP模块负责将数据发送到对端防火墙的对应模块,应用模块需要再将HRP模块提交上来的数据进行解析,并加入到防火墙的动态运行数据池中。

备份方向:状态为主的VGMP管理组,向对端备份。

备份通道:一般情况下,在两台设备上直连的端口作为备份通道,有时也称为"心跳线"(VGMP也通过该通道进行通信)。

HRP心跳接口

两台FW之间备份的数据是通过心跳口发送和接收的,是通过心跳链路(备份通道)传输的。

心跳口必须是状态独立且具有IP地址的接口,可以是一个物理接口(GE接口),也可以是逻辑接口Eth-Trunk。

在这里插入图片描述
通常情况下,备份数据流量约为业务流量的20%~30%,请根据备份数据量的大小选择捆绑物理接口的数量

心跳接口的状态

HRP心跳接口共有五种状态:
Invalid
Down
Peerdown
Ready
running

在这里插入图片描述
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状态的心跳口依次(按配置先后顺序)接替当前心跳口处理业务。

综上所述,心跳链路探测报文的作用是检测对端设备的心跳口能否正常接收本端设备的报文,以确定心跳链路是否可用的。只要本端心跳接口的物理和协议状态up就会向对端心跳口发送心跳链路探测报文进行探测。

HRP心跳报文只有主用设备的VGMP组通过状态为running的心跳口发出。

双机热备的备份方式

在这里插入图片描述
自动备份
自动备份功能缺省为开启状态,能够自动实时备份配置命令和周期性地备份状态信息,适用于各种双机热备组网。

启用自动备份功能后,在一台FW上每执行一条可以备份的命令时,此配置命令就会被立即同步备份到另一台FW上。

启用自动备份功能后,主用设备会周期性地将可以备份的状态信息备份到备用设备上。即主用设备的状态信息建立后不会立即备份,而是在建立一段时间(10秒左右)之后才会备份到备用设备。

到防火墙自身的会话,例如管理员登录防火墙时产生的会话。
未完成3次握手的TCP半连接会话(快速备份支持备份此会话)。
只为UDP首包创建,而不被后续包匹配的会话(快速备份支持备份此会话)。

手工批量备份
手工批量备份需要管理员手工触发,每执行一次手工批量备份命令,主用设备就会立即同步一次配置命令和状态信息到备用设备。因此手工批量备份主要适用于主备设备之间配置不同步,需要手工同步的场景。

执行手工批量备份命令后,主用(配置主)设备会立即同步一次可以备份的配置命令到备用(配置备)设备。

执行手工批量备份命令后,主用设备会立即同步一次可以备份的状态信息到备用设备,而不必等到自动备份周期的到来。

会话快速备份
会话快速备份功能,适用于负载分担的工作方式,以应对报文来回路径不一致的场景。负载分担组网下,由于两台防火墙都是主用设备,都能转发报文,所以可能存在报文的来回路径不一致的情况,即来回两个方向的报文分别从不同的防火墙经过。这时如果两台防火墙的会话没有及时相互备份,则回程报文会因为没有匹配到会话表项而被丢弃,从而导致业务中断。所以为防止上述现象发生,需要在负载分担组网下配置会话快速备份功能,使两台防火墙能够实时的相互备份会话,使回程报文能够查找到相应的会话表项,从而保证内外部用户的业务不中断。

启用会话快速备份功能后,主用设备会实时地将可以备份的会话(包括上面提到的自动备份不支持的会话)都同步到备用设备上。即在主用设备会话建立的时候立即将其实时备份到备用设备。

设备重启后主备FW的配置自动同步
双机热备组网中,如果一台FW重启,重启期间业务都是由另一台FW承载。在此期间,承载业务的FW上可能会新增、删除或修改配置。为了保证主备FW配置一致,在FW重启完成后,会自动从当前承载业务的FW上进行一次配置同步。

配置同步仅会同步支持备份的配置,如安全策略、NAT策略等。不支持备份的配置,如OSPF、BGP等,还继续沿用原有的配置。

配置同步需要一定的时间。同步的时间与配置量有关,配置量越大同步配置所需时间也越长,最长可能需要1个小时左右。在配置同步期间,FW上无法执行支持备份的配置命令。

参考文章
讲解视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值