ICT应用解决方案10-华为防火墙可靠性

发布时间 2023-06-25 15:34:26作者: Qurare

ICT应用解决方案10-华为防火墙可靠性

1 防火墙双机热备

1.1 防火墙双机热备概述

在网络关键节点上,如果只部署一台设备,无论其可靠性多高,系统都必然要承受因单点故障而导致网络中断的风险

防火墙一般用作内网到外网的出口,是业务关键路径上的设备。为了防止因一台设备故障而导致的业务中断,要求防火墙必须提供更高的可靠性,此时需要使用防火墙双机热备组网

image-20230625140934513

在双机热备组网中,当一台防火墙出现故障时,业务流量能平滑地切换到备份防火墙上,保证流量不中断,使内外网用户交互时完全感知不到曾经出现过网络故障

image-20230625141022232

1.2 双机热备协议架构

三大协议协同工作实现防火墙双机热备功能

image-20230625141149129

VRRP的不足

当防火墙上下行业务端口上都配置了VRRP备份组时,这两个VRRP备份组是独立运行的,可能出现上下行两个VRRP备份组状态不一致的情况

例如,主用网关防火墙上内网侧的接口故障,VRRP倒换到备用网关防火墙,因此出去的流量从备用网关防火墙上转发。但是对于外网侧的VRRP,主用网关防火墙上VRRP仍然是主,因此回程的流量仍然会送到主用网关防火墙上,但业务流量无法送回内网,导致业务中断

image-20230625141424662

1.3 VGMP

VGMP产生

为了解决前面提到的单独配置VRRP可能遇到的状态不一致问题,华为公司在VRRP的基础上开发了VRRP组管理协议(VRRP Group Management Protocol),即VGMP。VGMP的基本功能是集中管理和监控VRRP备份组,控制VRRP备份组的统一切换

将一组VRRP备份组组成一个VGMP管理组。由VGMP管理组控制所有VRRP备份组同步切换,保证所有VRRP备份组状态一致。VGMP管理组还可以代表整个设备使用VGMP报文跟对端设备进行协商实现主备状态切换

image-20230625141513832

VGMP状态切换

接口或链路故障引起的状态切换

  • 主设备侧:
    1. VGMP管理组监测到链路或单板故障(VRRP备份组进入Initialize状态)
    2. 调整优先级
    3. 向对端发送状态从主切换到备的请求报文(报文中携带调整后的优先级数值)
  • 备设备侧:
    4. VGMP管理组收到请求切换的报文,比较本身的优先级和报文中携带的优先级数值
    5. 本端优先级高,将自己切换到主状态
    6. 控制VGMP管理组中所有成员都切换到主用状态,引导业务来回流量从本机转发
    7. 回一个确认报文。
  • 主设备侧
    8. VGMP管理组收到确认报文,切换到备状态
    9. 将VGMP管理组中所有成员都切换到备份状态,不引导和转发流量

1.4 故障检测

故障检测是双机热备的基础。为了实现完美的双机热备效果,必须能尽可能快地检测到各种故障,才能触发后续的业务切换。前面提到的检测VRRP备份组所在接口故障,只是众多故障检测手段中的一种。目前双机热备中检测故障的方式有以下几种

  • 检测VRRP备份组状态:用于防火墙业务接口为三层接口,业务接口连接二层交换机场景
  • 直接检测单个物理接口状态:由于三层设备无法转发VRRP组播报文,所以当防火墙业务接口为三层接口,业务接口连接三层设备(路由器)时使用此方式
  • 检测透明模式下VLAN接口状态:由于防火墙业务接口为二层接口,无法配置VRRP,所以采用此方式
  • 检测IP-LINK逻辑链路的状态:用于检测非直连链路的可达性
  • 检测BFD逻辑链路的状态:用于检测非直连链路的可达性

HRP的产生

状态检测防火墙对于每一个会话连接都有一个会话表项与之对应,主用设备处理业务过程中创建了很多动态会话表项;而备用设备没有流量经过,因此没有创建会话表。如果备用设备切换为主用设备前,会话表项没有备份到备用设备,则会导致先前经过主用设备的业务流量因为无法匹配会话表而中断。为了实现主用备用设备平滑切换,必须在主用和备用设备之间备份关键配置命令会话表状态信息,为此防火墙引入了HRP(Huawei Redundancy Protocol)协议,实现防火墙双机之间动态状态数据和关键配置命令实时备份

在双机热备组网中,指定心跳线作为专门的备份通道,用于备份配置命令和状态信息

image-20230625142400060

业务接口工作在三层, 上下行连接交换机的主备备份组网

image-20230625142453000

配置思路:

  • 故障检测: 通过VRRP检测上下行接口
  • 流量引导: 通过VRRP虚地址实现流量引导
  • 数据同步: 通过直连心跳接口实现主备数据同步

命令行配置

  • NGFW_A配置

    hrp enable
    hrp	int g1/0/7
    
    int g1/0/1
    	ip add 10.2.0.1 255.255.255.0
    	vrrp vrid 1 virtual-ip 1.1.1.1 255.255.255.0 active
    	qu
    int g1/0/3
    	ip add 10.3.0.1 255.255.255.0
    	vrrp vrid 2 virtual-ip 10.3.0.3 active
    	qu
    int g1/0/7
    	ip add 10.10.0.1 255.255.255.0
    	qu
    firewall zone trust
    	set priority 85
    	add int g1/0/3
    	qu
    firewall zone untrust
    	set priority 5
    	add int g1/0/1
    	qu
    firewall zone dmz
    	set priority 50
    	add int g1/0/7
    	qu
    	
    ip route-static 0.0.0.0 0.0.0.0 g1/0/1 1.1.1.2
    
    nat address-group 1
    	section 0 1.1.1.1 1.1.1.1
    	qu
    
    security-policy
    	rule name policy_sec
    	source-zone trust
    	destination-zone untrust
    	action permit
    	qu
    	
    nat-policy
    	rule name policy_nat
    	source-zone trust
    	destination-zone untrust
    	action nat address-group 1
    	qu
    
  • NGFW_B配置

    hrp enable
    hrp standby-device
    hrp	int g1/0/7
    
    int g1/0/1
    	ip add 10.2.0.2 255.255.255.0
    	vrrp vrid 1 virtual-ip 1.1.1.1 255.255.255.0 standby
    	qu
    int g1/0/3
    	ip add 10.3.0.2 255.255.255.0
    	vrrp vrid 2 virtual-ip 10.3.0.3 standby
    	qu
    int g1/0/7
    	ip add 10.10.0.2 255.255.255.0
    	qu
    firewall zone trust
    	set priority 85
    	add int g1/0/3
    	qu
    firewall zone untrust
    	set priority 5
    	add int g1/0/1
    	qu
    firewall zone dmz
    	set priority 50
    	add int g1/0/7
    	qu
    	
    ip route-static 0.0.0.0 0.0.0.0 g1/0/1 1.1.1.2
    
    nat address-group 1
    	section 0 1.1.1.1 1.1.1.1
    	qu
    
    security-policy
    	rule name policy_sec
    	source-zone trust
    	destination-zone untrust
    	action permit
    	qu
    	
    nat-policy
    	rule name policy_nat
    	source-zone trust
    	destination-zone untrust
    	action nat address-group 1
    	qu
    

2 IP-link

2.1 IP-link技术简介

IP-link定义

  • IP-Link是指FW通过向指定的目的IP周期性地发送探测报文并等待应答,来判断链路是否发生故障
  • FW发送探测报文后,在三个探测周期(默认为15s)内未收到响应报文,则认为当前链路发生故障,IP-Link的状态变为Down。随后,FW会进行IP-Link Down相关的后续操作,例如双机热备主备切换等
  • 当链路从故障中恢复,FW能连续地收到3个响应报文,则认为链路故障已经消除,IP-Link的状态变为Up。也就是说,链路故障恢复后,IP-Link的状态并不会立即变为Up,而是要等三个探测周期(默认为15s)才会变为Up

IP-link目的

IP-Link主要用于业务链路正常与否的自动侦测,可以检测到与FW不直接相连的链路状态,保证业务持续通畅

2.2 IP-link探测模式

IP-link探测模式(ICMP/ARP)

  • icmp模式:防火墙向需要探测的IP地址周期性发送ping报文,检查是否能连续收到对端的回应报文。icmp探测方式可以用于探测非直连的链路
  • arp模式:防火墙向需要探测的IP地址周期性发送arp请求报文,检查是否能连续收到对端的arp应答报文。Arp探测方式只支持探测直连链路(或中间经过二层设备转发),该探测方式不受目的IP设备上安
    全策略影响

image-20230625144324097

防火墙出口有两条可选路由,当主链路出现故障时,防火墙能够快速感知。此时可以配置IP-Link监测出接口链路

2.3 IP-link应用场景

与双机热备联动

当FW工作于双机热备份场景时,IP-Link自动侦测后发现链路故障影响主备业务,通过配置VGMP管理组绑定IP-Link,FW会对VGMP管理组的优先级进行相关调整,触发主备FW切换,从而保证业务能够持续流通

image-20230625144440058

关键配置

  • FW_A

    ip-link check enable	#配置IP-Link,监控网络出接口
    ip-link name test
    destination 1.1.1.1 int g1/0/3
    hrp track ip-link test 	#配置双机热备与IP-Link联动,由VGMP管理组监控IP-Link。当网络出接口故障时,IP-Link状态变为Down,VGMP管理组优先级降低2
    
  • FW_B

    ip-link check enable	#在FW_B上配置双机热备与IP-Link联动
    ip-link name test
    destination 2.2.2.2 int g1/0/3
    hrp track ip-link test
    

3 BFD

双向转发检测BFD(Bidirectional Forwarding Detection)用于快速检测系统之间的通信故障,并在出现故障时通知上层协议

BFD检测模式: 异步模式

image-20230625144842274

3.1 BFD会话建立方式

BFD通过控制报文中的My Discriminator(本地标识符)和Your Discriminator(远端标识符)区分不同的会话

image-20230625144928495

配置思路

image-20230625144942776

关键配置

在FW_A与Router_A上创建BFD会话

  • FW_A

    bfd
    bfd 1 bind peer-ip 1.1.1.2
    	discriminator local 10
    	discriminator remote 20
    	commit
    hrp track bfd-session 1		#在FW_A上配置BFD与双机热备联动
    
  • Router_A

    bfd
    bfd 1 bind peer-ip 10.100.30.2
    	discriminator local 20
    	discriminator remote 10
    	commit
    

3.2 BFD与IP-Link异同

BFD IP-Link
报文 控制报文/回声报文 ICMP/ARP
探测周期 1s 5s
检测速度 微秒级 秒级
应用场景 BFD与双机热备联动
BFD与静态路由联动
BFD与策略路由联动
BFD与DHCP联动
BFD与OSPF联动
BFD与BGP联动
BFD与ISIS联动
IP-Link与双机热备联动
IP-Link与静态路由联动
IP-Link与策略路由联动
IP-Link与DHCP联动
协议开销 控制报文:24B ICMP:4B、ARP:8B

4 Link-group

  • 将多个物理接口的状态相互绑定,组成一个逻辑组
  • 如果组内任意接口出现故障,系统将组内其它接口状态设置为Down
  • 当组内所有接口恢复正常后,整个组内的接口状态才重新被设置为Up

image-20230625150309913

image-20230625150336894

组网需求

  • FW的上行和下行主备关系要保持一致,避免出现来回路径不一致
  • 路由器上使用静态路由做路由引导,主用静态路由指向FW_A,备用静态路由指向FW_B
  • 在不进行ip-link(链路检测)的情况下,当FW上行接口down,VRRP可以进行主备切换

关键配置

  • FW_A

    int g1/0/0
    	link-group 1	#配置接口g1/0/0加入到Link-group 1
    	qu
    
  • FW_B

    int g1/0/1
    	link-group 1	#配置接口g1/0/0加入到Link-group 1
    	qu