双机热备在路由器上部署
为了避免路由器传统组网所引起的单点故障的发生,通常情况可以采用多条链路的保护机制,依靠动态路由协议进行链路切换。但这种路由协议来进行切换保护的方式存在一定的局限性,当不能使用动态路由协议时,仍然会导致链路中断的问题,因此推出了另一种保护机制VRRP(Virtual Router Redundancy Protocol)虚拟路由冗余协议来进行。采用VRRP的链路保护机制比依赖动态路由协议的广播报文来进行链路切换的时间更短,同时弥补了不能使用动态路由情况下的链路保护。
主路由器(master):在同一个备份组中的多个路由器中,只有一台处于活动状态,只有主路由器能转发以虚拟IP地址作为下一跳的报文。
备份路由器(backup):在同一个备份组中的多个路由器中,除主路由器外,其他路由器均为备份路由器,处于备份状态。
主路由器通过组播方式定期向备份路由器发送通告报文(HELLO),备份路由器则负责监听通告报文,以此来确定其状态。由于VRRP HELLO报文为组播报文,所以要求备份组中的各路由器通过二层设备相连,即启用VRRP时上下行设备必须具有二层交换功能,否则备份路由器无法收到主路由器发送的HELLO报文。如果组网条件不满足,则不能使用VRRP。
VRRP在多区域防火墙组网中的应用
注:若是状态检测防火墙,它要求报文的来回路径通过同一台防火墙。为了满足这个限制条件,就要求在同一台防火墙上所有VRRP备份组状态保持一致。
VGMP(VRRP Group Management Protocol)
为了保证所有VRRP备份组雀环的一致性,在VRRP的基础上进行了扩展,推出了VGMP。
VGMP提出了VRRP管理组的概念,将同一台防火墙上的VRRP备份组加入到一个VGMP管理组,由管理组来同一管理所有VRRP备份组。
VGMP基本原理
当防火墙上的VGMP为Active状态时,该防火墙内的所有VRRP备份组的状态同一为Active状态,所有报文从该防火墙上通过,该防火墙成为主用防火墙。
通过指定VGMP组的优先级来决定谁将成为主防火墙或备用防火墙
VGMP的优先级会根据组内的VRRP备份组成员的状态动态调整,以此完成两台防火墙的主备倒换。
与VRRP类似,状态为Active的VGMP也会定期向对端发送HELLO报文,通知Standby端本身的运行状态(包括优先级、VRRP成员状态等)。与VRRP不同的是,Standby端收到HELLO报文后,会回应一个ACK消息,该消息中也会携带本身的优先级、VRRP成员状态等。
VGMP的HELLO报文发送周期缺省为1秒。当Standby端在三个HELLO报文周期内没有收到对端发送的HELLO报文时,会认为对端出现故障,从而将自己切换到Active状态。
VGMP组管理
状态一致性管理:各备份组的主/备状态所属的VGMP管理组,由VGMP管理组决定是否允许VRRP备份组进行主/备状态切换。如果需要切换,则VGMP管理组控制所有的VRRP备份组统一切换。VRRP备份组加入到管理组后,状态不能自行单独切换。
抢占管理:
VGMP管理组的抢占功能和VRRP备份组类似,当管理组中出现故障的备份组故障恢复时,管理组的优先级也将恢复。此时VGMP可以决定是否需要重新抢占称为主设备。
当VRRP备份组加入到VGMP管理组后,备份组上原来的抢占功能将失效,抢占行为发生与否必须由VGMP管理组统一决定。
HRP(Huawei Redundancy Protocol)
HRP协议,用来将主防火墙关键配置和连接状态等数据向备防火墙同步。
采用HRP的原因:
在双机热备组网中,当主防火墙出现故障时,所有流量都将切换到备防火墙。若是状态防火墙,如果备防火墙上没有原来主防火墙上的会话表等连接状态数据,则切换到备防火墙的流量将无法通过防火墙,造成现有的连接中断,此时用户必须重新发起连接。
HRP模块提供了基础的数据备份机制和传输功能。各个应用模块收集本模块需要备份的数据,提交给HRP模块,HRP模块负责将数据发送到对端防火墙的对应模块,应用模块需要再将HRP模块提交上来的数据进行解析,并加入到防火墙的动态运行数据池中。
备份内容:要备份的连接状态数据包括TCP/UDP的会话表、ServerMap表项、动态黑名单、NO-PAT表项、ARP表项等。
备份通道:一般情况下,在两台设备上直连的端口作为备份通道,有时也称为“心跳线”(VGMP也通过该通道进行通信)。
备份方式:分为三种
批量方式:在两台设备第一次协商完成后,批量备份所有信息,配置批量备份需要消耗较多的资源,缺省情况下是关闭的。
实时备份:在设备运行过程中,新建或者刷新的数据实时备份。
快速备份:即在首包创建会话时,立即将会话数据打包备份到对端。
双机热备的配置命令
①接口视图下配置VRRP
vrrp vrid virtual-router-ID virtual-ip virtual-address [mask | mask-length] {active | standby}
注:执行此命令时,指定active或standby参数后,即将该VRRP组加入了VGMP管理组的Active或Standby管理组中。
②配置HRP心跳线
指定心跳口
hrp interface interface-type interface-number [remote {ip-address | ipv6-address}]
启用HRP备份功能
hrp enable
启用允许配置备用设备的功能
hrp standby config enable
启用命令与状态信息自动备份
hrp auto-sync [config | connection-status]
启用会话快速备份
hrp mirror session enable
注:HRP两台USG心跳口的接口类型和编号必须相同,且心跳口不能为二层以太网接口。USG支持使用Eth-Trunk接口做为心跳口,既提高了可靠性,又增加了备份通道的带宽。主备USG的心跳口可以直接相连,也可以通过中间设备,如交换机或路由器连接。当心跳口通过中间设备相连时,需要配置remote参数来指定对端IP地址。
配置举例
USG_A关于VRRP组1的配置
[USG_A]interface GigabitEthernet 1/0/1
[USG_A-GigabitEthernet 1/0/1 ]ip address 10.2.0.1 24
[USG_A-GigabitEthernet 1/0/1 ]vrrp vrid 1 virtual-ip 1.1.1.1 255.255.255.0 active
USG_B关于VRRP组1的配置
[USG_B]interface GigabitEthernet 1/0/1
[USG_B-GigabitEthernet1/0/1 ]ip address 10.2.0.2 24
[USG_B-GigabitEthernet 1/0/1 ]vrrp vrid 1 virtual-ip 1.1.1.1 255.255.255.0 standby
USG_A关于HRP配置
[USG_A]hrp enable
[USG_A]hrp mirror session enable
[USG_A]hrp interface GigabitEthernet 1/0/7
USG_B关于HRP配置
[USG_B]hrp enable
[USG_B]hrp mirror session enable
[USG_B]hrp interface GigabitEthernet 1/0/7
注:应该先开HRP再配置安全策略,这样可以自动同步。