防火墙双机热备技术

防火墙双机热备技术

双机热备技术产生的原因

在这里插入图片描述

USG防火墙作为安全设备,一般 会部署在需要保护的网络和不受保护的网络之间,即位于业务接口点上。在这种业务点上,如果仅仅使用一台USG防火墙设备,无论其可靠性多高,系统都可能会承受因为单点故障而导致网络中断的风险。为了防止一台设备出现意外故障而导致网络业务中断,可以采用两台防火墙形成双机备份。

VRRP在防火墙的缺陷

在这里插入图片描述

问题产生的原因:报文转发机制不同。

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

VGMP(VRRP Group Management Protocol)

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

VGMP基本原理

在这里插入图片描述

  • 当防火墙上的VGMP为Active状态时,组内所有VRRP备份组的状态统一为 Active状态,所有报文都将从该防火墙.上通过,该防火墙成为主用防火墙。此时另外一台防火墙上对应的VGMP为备状态,该防火墙成为备用防火墙。
  • VGMP的优先级会根据组内的VRRP备份组状态为Active的VGMP也会定期向对端发送HELLO报文,通知Standby端本身的运行状态(包括优先级、VRRP成员状态等)。成员的状态动态调整,以此完成两台防火墙的主备倒换。
  • 与VRRP类似,与VRRP不同的是,Standby端收到HELLO报文后,会回应一个ACK消息,该消息中也会携带本身的优先级、VRRP成员状态等。
  • VGMP HELLO报文发送周期缺省为1秒。当Standby端 三个HELLO报文周期没有收到对端发送的HELLO报文时,会认为对端出现故障,从而将自己切换到Active状态。

VGMP组管理

状态一致性管理

各备份组的主/备状态变化都需要通知其所属的VGMP管理组,由VGMP管理组决定是否允许VRRP备份组进行主/备状态切换。如果需要切换,则VGMP管理组控制所有的VRRP备份组统一切换。 VRRP 备份组加入到管理组后,状态不能自行单独。
切换。

抢占管理

  • VRRP备份组本身具有抢占功能。即当原来出现故障的主设备故障恢复时,其优先级也会恢复,此时可以重新将自己的状态抢占为主。
  • VGMP管理组的抢占功能和VRRP备份组类似,当管理组中出现故障的备份组故障恢复时,管理组的优先级也将恢复。此时VGMP可以决定是否需要重新抢占称为主设备。
  • 当VRRP备份组加入到VGMP管理组后,备份组.上原来的抢占功能将失效,抢占行为发生与否必须由VGMP管理组统一决定。

VGMP报文

在这里插入图片描述

  • 标准VRRP报文的“Type”字段只有“1”一个取值,我们增加了“2”取值。也就是说如果Type=1,就是标
    准的VRRP报文;如果Type=2,就是我们修改后的VRRP报文。

  • 标准VRRP报文的“Virtual Rtr ID”字段代表VRRP备份组ID,而修改后的VRRP报文“Virtual Rtr ID”取值固定为“0”。

  • 修改后的VRRP报文中去掉了标准VRRP报文的“IP Address”字段。

  • 标准VRRP报文中的“Priority”字段在VRRP报文头中被修改成“Type2”字段。

  • 当Type2=1时,报文封装成心跳链路探测报文。心跳链路探测报文用于检测对端设备的心跳口能否正常接收本端设备的报文,以确定是否有心跳口可以使用。

  • 当Type2=5时,报文封装成 一致性检查报文。一致性检查报文用于检测双机热备状态下的两台防火墙是否配置了相同的策略。

  • 当Type2=2时,VRRP报文才会进一步封装VGMP报文头,并根据VGMP报文头中

  • “vType”字段继续分成以下三种报文 :

  1. VGMP 报文(VGMP Hello 报文)。VGMP Hello 报文用于两台防火墙间的VGMP组协商主备状态。这也正是我们问题的答案所在。
  2. HRP 心跳报文(HRP Hello 报文)。HRP心跳报文用于探测对端设备是否处于工作状态。主用设备会每隔一段时间(缺省为1s)向备用设备发HRP心跳报文,用来通知主用设备处于工作状态。如果备用设备在三个周期内没有收到HRP心跳报文,则认为主用设备故障,而自身切换成主用备。
  3. HRP 数据报文。我们还需要在VGMP报文头后继续增加HRP报文头,才能封装成HRP数据报文。HRP数据报文用于主备设备之间的数据备份,包括命令行配置的备份和各种状态信息的备份。

VGMP状态机

在这里插入图片描述

启用双机热备内功能后,各VGMP组进入Initialize(初始化)状态。

1.启用Active组后,Active组的状态由Initialize切换成Active。

2.启用Standby组后,Standby组的状态由Initialize切换成Standby。

3.本端VGMP组监控的接口故障时,状态由Active切换成A to S,并发送VGMP请求报文给对端设备的VGMP组。

4.本端VGMP组收到对端的VGMP请求报文,发现自身优先级高,则将状态由Standby切换成Acitve,并发送VGMP确认报文给对端设备的VGMP组。

5.本端VGMP组收到对端的VGMP确认报文,确认本端需要进行状态切换,则本端的VGMP组状态由A to S切换成Standby。

6.对端VGMP组确认本端的VGMP组不需要进行状态切换或连续三次没有回应本端的VGMP请报文,则本端的VGMP组状态由A to S切换成Active。

7.本端VGMP组监控的接口故障恢复后,如果本端VGMP组优先级高于对端且配置了抢占功能,则本端VGMP组状态由Standby切换成S to A,并向对端发送VGMP请求报文。

8.本端VGMP组收到对端的VGMP请求报文,发现对端优先级高,则将状态由Active切换成Standby,并发送VGMP确认报文给对端设备的VGMP组。

9.本端VGMP组收到对端的VGMP确认报文,确认本端需要进行状态切换,则本端的VGMP组状态由S to A切换成Active,完成抢占过程。

10.对端VGMP组确认本端的VGMP组不需要进行状态切换或连续三次没有回应本端的VGMP请报文,则本端的VGMP组状态由S to A切换成Standby。

HRP(Huawei Redundancy protocol)

用来实现防火墙双机之间动态状态数据和关键配置命令的备份

  • 在双机热备组网中,当主防火墙出现故障时,所有流量都将切换到备防火墙。因为USG防火墙是状态防火墙,如果备防火墙上没有原来主防火墙.上的会话表等连接状态数据,则切换到备防火墙的流量将无法通过防火墙,造成现有的连接中断,此时用户必须重新发起连接。
  • HRP模块提供了基础的数据备份机制和传输功能。各个应用模块收集本模块需要备份的数据,提交给HRP模块,HRP模块负责将数据发送到对端防火墙的对应模块,应用模块需要再将HRP模块提交上来的数据进行解析,并加入到防火墙的动态运行数据池中。
    • 备份内容:要备份的连接状态数据包括TCP/UDP的会话表、ServerMap表项、动态黑名单、NO-PAT表项、ARP表项等。
    • 备份方向:防火墙上有状态为主的VGMP管理组,向对端备份。
    • 备份通道: 一般情况下,在两台设备上直连的端口作为备份通道,有时也称为“心跳线”(VGMP也通过该通道进行通信).

HRP报文

在这里插入图片描述

HRP心跳接口

在这里插入图片描述

心跳接口状态

在这里插入图片描述

  • 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状态的心跳口依次(按配置先后顺序)接替当前心跳口处理业务。

心跳链路探测报文的作用时检测对端设备的心跳口能否正常接收本端设备的奥文,以确定心跳链路是否可用。

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

双机热备的备份方式

自动备份

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

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

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

自动备份不会备份以下类型的会话:

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

手动批量备份

  • 手工批量备份需要管理员手工触发,每执行一次手工批量备份命令,主用设备就会立即同步一次配置命令和状态信息到备用设备。因此手工批量备份主要适用于主备设备之间配置不同步,需要手工同步的场景。
  • 执行手工批量备份命令后,主用(配置主)设备会立即同步一次可以备份的配置命令到备用(配置备)设备。
  • 执行手工批量备份命令后,主用设备会立即同步一次可以备份的状态信息到备用设备,而不必等到自动备份周期的到来。

会话快速备份

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

设备重启后主备FW的配置自动同步

  • 双机热备组网中,如果一台FW重启,重启期间业务都是由另一台FW承载。在此期间,承载业务的FW上可能会新增、删除或修改配置。为了保证主备FW配置一致,在FW重启完成后,会自动从当前承载业务的FW上进行一次配置同步。
  • 配置同步仅会同步支持备份的配置,如安全策略、NAT策略等。不支持备份的配置,如OSPF、BGP等, 还继续沿用原有的配置。
  • 配置同步需要一定的时间。同步的时间与配置量有关,配置量越大同步配置所需时间也越长,最长可能需要1个小时左右。在配置同步期间,FW上无法执行支持备份的配置命令。

双机热备基本组网与配置

拓扑图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HwO2RuXZ-1614685688776)(E:\Typora\image\image-20210302192704332.png)]
在这里插入图片描述

实验要求

1.配置基础数据,将各接口划入安全区域

2.配置双机热备

3.配置安全策略

端口地址和区域划分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CiF7gYwm-1614685688778)(E:\Typora\image\image-20210302192732422.png)]
在这里插入图片描述

USG6000-1

选择“网络->接口”

在这里插入图片描述

完成USG6000-1防火墙VRRP备份组1和VRRP备份组2的配置

选择“系统>高可靠性>双机热备"。单击“配置”,, 选用“启用”前的复选框后,按如下
参数配置:

在这里插入图片描述

配置USG6000-1防火墙间转发策略。

Trust与untrust间转发策略:选择“策略>安全策略>安全策略”。
在“安全策略列表”中,单击“新建”。 依次输入或选择各项参数。 单击“确定”。 完成Trust 与untrust间转发

策略如图所示:

在这里插入图片描述
USG6000-2与1配置类似

猜你喜欢

转载自blog.csdn.net/qq_43710889/article/details/114292902