Network 华为防火墙双机热备技术分析VRRP、VGMP、HRP

VRRP 协议

VRRP(Virtual Router Redundancy Protocol)是一种容错协议,它保证当主机的下一跳路由器(默认网关)出现故障时,由备份路由器自动代替出现故障的路由器完成报文转发任务,从而保持网络通信的连续性和可靠性。

在FW上配置VRRP时,是将两台FW上编号相同的接口加入一个VRRP备份组。一个VRRP备份组相当于一台虚拟路由设备,拥有虚拟IP地址和虚拟MAC地址。网络内主机将其网关设置为VRRP备份组的虚拟IP地址。这些主机都是通过虚拟路由器与外部网络通信。

VRRP备份组有三种状态:InitializeMasterBackup

VRRP备份组相当于一台虚拟路由器,这个虚拟路由器有自己的虚拟IP地址和虚拟MAC地址(格式:00-00-5E-00-01-{VRID},VRID是VRRP备份组的ID)。所以,局域网内的主机可以将默认网关设置为VRRP备份组的虚拟IP地址。在局域网内的主机看来,他们就是与虚拟路由器进行通信的,然后通过虚拟路由器与外部网络进行通信。

需要注意的是如果接口的IP地址与VRRP备份组地址不在同一网段,则配置VRRP备份组地址时需要指定掩码。

vrrp 的remote参数

配置心跳口时如果不添加remote参数,则两台设备的心跳口需要直接相连或通过二层交换机相连,并且不需要配置安全策略。如果配置心跳口时添加remote参数(例如hrp interface GigabitEthernet 1/0/2 remote 10.1.1.2),那么两台设备的心跳口可以通过路由器相连,但是需要配置安全策略。因为不添加remote参数时,心跳口发送的报文是用VRRP报文封装的,是一种组播报文。组播报文不能跨越网段传输,且不受安全策略控制

添加remote参数后,从心跳口发送的各种报文将封装成UDP报文。UDP报文是一种单播报文,只要路由可达就可以跨越网段传输,但需要受到安全策略控制。安全策略的配置方法是允许报文在local区域与心跳口所在安全区域间双向通过

VGMP 与VRRP

VGMP(VRRP Group Management Protocol)协议是华为公司的私有协议。VGMP协议中定义了VGMP组,FW基于VGMP组实现设备主备状态管理。

华为交换机或路由器设备上,VRRP备份组的状态是由VRRP优先级大小决定。同一个VRRP备份组中,VRRP优先级最大的设备的VRRP备份组状态为Master,其他设备的VRRP备份组状态为Backup。

FW的VRRP备份组状态则不是由VRRP优先级大小决定。实际上,FW的VRRP优先级是不可配置的。FW启用双机热备功能后,VRRP优先级固定为120。正常情况下,两台FW的VGMP组状态都是load-balance,VRRP备份组的运行状态由配置决定

上面我们在讲解VRRP时提到的状态都是“Master”和“Standby”,这里为什么都变成“Active”和“Standby”了呢?

答:防火墙在NGFW版本中统一将双机热备(原为“Master”和“Slave”)和VRRP(原为“Master”和“Standby”)的状态修改为“Active”和“Standby”。所以当你在某些文档中看到这些以前的状态请不要奇怪,按本文描述的“Active”和“Standby”理解即可。

多个VRRP状态相互独立产生问题

VRRP备份组之间是相互独立的,当一台设备上出现多个VRRP备份组时,他们之间的状态无法同步。

VGMP (虚拟组管理协议)

为了解决多个VRRP备份组状态不一致的问题,华为防火墙引入VGMP(VRRP Group Management Protocol)来实现对VRRP备份组的统一管理,保证多个VRRP备份组状态的一致性。我们将防火墙上的所有VRRP备份组都加入到一个VGMP组中,由VGMP组来集中监控并管理所有的VRRP备份组状态。如果VGMP组检测到其中一个VRRP备份组的状态变化,则VGMP组会控制组中的所有VRRP备份组统一进行状态切换,保证各VRRP备份组状态的一致性。

防火墙缺省VGMP

如下图所示,每台防火墙提供两个VGMP组:Active组和Standby组。缺省情况下,Active组的优先级为65001,状态为Active;Standby组的优先级为65000,状态为Standby。

主备备份情况下,主用设备启用Active组,所有成员(例如VRRP备份组)加入Active组;备用设备启用Standby组,所有成员加入Standby组。

负载分担情况下,两台设备都启用Active组和Standby组,每台设备上的所有成员分别加入Active组和Standby组。FW1的Active组和FW2的Standby组形成一组“主备”,FW2的Active组和FW1的Standby组形成一组“主备”,两台防火墙互为“主备”,形成负载分担。

通俗的讲在多个备份组状态下(例Trust、Untrust、Dmz各建立 一个VRRP 备份组),其中一台防火墙是3个组的Master,另一台防火墙是Backup ,不存在3个备份组Master、Backup 交叉分布在2台防火墙上。

VGMP 还要管理通道(trans-only) 也就是传递信息。

HRP 协议

华为冗余协议:状态信息的备份,也就是在状态切换进会话表也要传递过去、承载在VGMP报文上传输,也就是配置和状态在其中一台配置完,状态会同步到另一台。在ENSP 模拟器中配置可以同步,状态不能同步。

Network Huawei USG防火墙 双机热备

华为防火墙配置(双机热备)-云社区-华为云 (huaweicloud.com)

双机热备的工作模式:

•主备备份模式:两台设备一主一备。正常情况下业务流量由主用设备处理。当主用设备故障时,备用设备接替主用设备处理业务流量,保证业务不中断。

•负载分担模式:两台设备互为主备。正常情况下两台设备共同分担整网的业务流量。当其中一台设备故障时,另外一台设备会承担其业务,保证原本通过该设备转发的业务不中断。

*镜像模式是实现主备备份双机热备的一种特殊技术手段,主要用于DCN和云管理场景中。

双机热备组网限制:

  1. 业务接口工作在三层,上下行连接交换机或路由器组网限制
    • 如果是镜像模式不支持VRRP 备份组监控接口故障,不支持BFD监控远端接口故障,不支持IP-LINK监控远端接口故障,不支持通过OSPF,BGP监控远端邻居故障。
  2. 业务接口工作在二层,上下行连接交换机组网限制
    • 在FW业务接口工作在二层、上下行连接交换机的组网下,FW推荐以主备备份方式工作,不建议以负载分担方式
    • 因为如果工作于负载分担方式,则两台FW上的VLAN都被启用,都能够转发流量,整个网络就会形成环路,需要在交换机上配置破环协议,以达到消除二层环路的目的。
  3. 业务接口工作在二层,上下行连接路由器组网限制
    • 在FW业务接口工作在二层、上下行连接路由器的组网下,FW支持主备备份和负载分担组网,但是这种主备备份组网,不是通过hrp standby-device选取备机,而是需要在上下行路由器上合理配置OSPF路由开销值,让流量只通过一台FW转发来实现。
    • 因为如果通过hrp standby-device来选取备机,备用FW上的VLAN被禁用,它的上下行路由器就无法进行通信,无法建立路由。这样主备切换时,备用FW就无法及时接替主用FW处理业务,导致业务中断。

配置注意要点

  1. 双机热备功能与跨数据中心集群功能互斥,不能同时开启。
  2. 接口配置要点
    • 如果FW的业务接口工作在三层,则业务接口的IP地址必须固定,因此双机热备特性不能与PPPoE拨号、DHCP Client等自动获取IP地址的特性结合使用。
    • 如果FW的业务接口工作在二层,则需要将业务接口转换成二层接口后,加入同一VLAN。
    • 主备设备需要选择相同的业务接口和心跳口。例如,主用设备选择GigabitEthernet0/0/1作为业务接口,选择GigabitEthernet0/0/7作为心跳口,那么备用设备也需要这样选择
  3. 双机热备对安全区域的配置要点
    • 无论是二层还是三层接口,无论是业务接口还是心跳接口,都需要加入安全区域。
    • 主备设备的对应接口必须加入到相同的安全区域。例如,主用设备的GigabitEthernet0/0/1接口加入了Trust区域,那么备用设备的GigabitEthernet0/0/1接口也必须加入Trust区域。
  4. 双机热备对安全策略的配置要点
    • 主备设备通过心跳线传递心跳报文、VGMP报文、配置和表项备份报文、心跳链路探测报文、配置一致性检查报文,这些报文不受安全策略控制,无需配置安全策略。
    • 当FW的业务接口工作在三层、连接交换机时,FW会向交换机发送免费ARP报文。免费ARP报文是广播报文,不受安全策略控制,无需配置安全策略。当FW的业务接口工作在三层、连接路由器时,FW需要与路由器交互OSPF、BGP报文。OSPF、BGP报文受firewall packet-filter basic-protocol enable命令控制。缺省情况下,firewall packet-filter basic-protocol enable处于开启状态,即OSPF、BGP报文受安全策略控制,需要在上/下行业务接口所在安全区域与Local区域之间配置安全策略,允许协议类型为OSPF、BGP的报文通过。
    • 当FW的业务接口工作在二层时,上下行设备之间的OSPF报文需要通过防火墙。OSPF报文受firewall packet-filter basic-protocol enable命令控制。缺省情况下,firewall packet-filter basic-protocol enable处于开启状态,即OSPF报文受安全策略控制,需要在上行业务接口所在安全区域与下行业务接口所在安全区域之间配置安全策略,允许协议类型为OSPF的报文通过。
  5. VGMP 管理组监控故障的要点
    • 当FW业务接口工作在三层时,经常会存在上下行连接不同设备的组网,例如上行连接路由器,下行连接交换机。这其实没有什么特殊之处,只需在上行按照连接路由器的组网进行部署,下行按照连接交换机的组网进行部署即可。
  6. 备份方式的要点
    • 自动备份功能默认开启,建议不要关闭
    • 如果主备设备之间配置不同步,请在备用设备上清除相关配置后,再在主用设备上执行hrp sync命令,将主用设备的配置向备用设备同步。在来回路径不一致组网环境下,即来回两个方向的报文分别从不同的FW经过,如果主用设备的会话没有及时备份到备用设备,则备用设备会将到达的报文丢弃。为防止上述现象发生,需开启会话快速备份功能,将主用设备相应的会话快速备份到备用设备,使返回报文在备用设备上能够查找到相应的会话,从而保证内外部用户的业务不中断。开启会话快速备份后,由于会话备份的频率会加大,CPU使用率和心跳接口带宽使用率都会上升。

双机热备与其它特性结合使用的限制

Network 开启Huawei USG tracert 报文回显

问题描述

组网:PC–内网设备—USG6680出口设备–ISP;

内网PC上网都是正常的,但是tracert 公网地址(8.8.8.8),出口设备USG6680的地址不会显示,显示的是星号;

处理过程

1.关闭tracert 防范攻击;undo firewall defend tracert enable命令用来关闭Tracert报文攻击防范功能。

2.开启设备发送icmp不可达报文:icmp host-unreachable send命令用来使能系统的ICMP主机不可达报文的发送功能。

3.开启设备ICMP ttl 超时报文发送功能;icmp ttl-exceeded send命令用来使能接口的ICMP TTL超时报文的发送功能。

Network 常见数据中心网络架构

  1. 三层组网架构
  2. 核心层通常为高端框式交换机,可以独立部署也堆叠部署(一般是采用独立部署,考虑堆叠有裂开的风险,核心之间只和汇聚有互联,核心之间无互联)
  3. 汇聚和接入层一般采用堆叠破除环路,汇聚和核心之间采用三层链路互联,用OSPF协议交换路由。
  4. 防火墙采用旁挂的方式,在汇聚交换机上划分VRF分离不同的“等保”汇聚交换机上的VRF和防火墙上对应的安全区域互联,达到流量控制 的目的

物理连接如下 :

理解VPF和防火墙之间的业务流。

汇聚层,接入层,防火墙通常是双机或者堆叠,可以将上图重新绘制成如下 ;

相同安全级别的业务无需经过防火墙(单一等保),也就是汇聚下方的所有业务可以直接互相访问。

内部路由逻辑如下 :

将防火墙放置在全局路由和VRF 之间,一个“单一等保”级别的,化旁路为串联的流量图就完成了

2个等保级别,就要求了2个等保级别内的业务在互访时,流量需要经过防火墙,这里一个等保对应一个VRF ,不同等保级别的流量要放在不同的VRF

如果是2个等保级别之间的业务互联,流量必须经过防火墙,在画双等保逻辑流量的时候,仍然把双机结构画成单机结构 ,防火墙和汇聚之间需要3条线,总之,汇聚下有N个等保,汇聚和防火墙之间就画N+1 条线。

用方框来代表汇聚层的设备,3个小方框代表拥有独立三层路由的虚拟设备。接入交换机换成2个分别代表等保1和等保2 。