04-防火墙双机热备

双机热备的系统要求

  • 硬件要求

    • 组成双机热备的两台FW的型号必须相同,安装的单板类型、数量以及单板安装的位置必须相同。

    • 两台FW的硬盘配置可以不同。例如,一台FW安装硬盘,

    • 另一台FW不安装硬盘,不会影响双机热备的运行。但未安装硬盘的FW日志存储量将远低于安装了硬盘的FW,而且部分日志和报表功能不可用。

  • 软件要求

    • 组成双机热备的两台FW的系统软件版本、系统补丁版本、动态加载的组件包、特征库版本、HASH选择CPU模式以及HASH因子都必须相同。

    • 实际上,在系统软件版本升级或回退的过程中,两台FW可以暂时运行不同版本的系统软件。例如,一台设备的软件版本为V500R001C50,另一台设备的软件版本为V500R001C30SPC300。

  • License要求

    • 双机热备功能自身不需要License。但对于其他需要License的功能,如IPS、反病毒等功能,组成双机热备的两台FW需要分别申请和加载License,两台FW之间不能共享License。两台FW的License控制项种类、资源数量、升级服务到期时间都要相同。

1.双机热备技术原理

双机热备技术产生的原因

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

路由器冗余部署方案

路由器组网中通过VRRP协议实现设备冗余:
在这里插入图片描述

  • 采用VRRP的链路保护机制比依赖动态路由协议的广播报文来进行链路切换的时间更短,同时弥补了不能使用动态路由情况下的链路保护。

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

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

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

  • 备份(Backup)路由器:在同一个备份组中的多个路由器中,除主路由器外,其他路由器均为备份路由器,处于备份状态。

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

由接口的优先级选举Master
优先级越大,优先成为master
优先级的取值范围 0-255,可配置范围 1-254
默认优先级是100
如果优先级相同,则比较接口IP地址的大小,大的优先成为master

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

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

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

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

在这里插入图片描述

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

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

路由器:每个报文都会查路由表当匹配上后才进行转发,当链路切换后,后续报文不会受到影响,继续进行转发。

状态检测防火墙:如果首包允许通过会建立一条五元组的会话连接,只有命中该会话表项的后续报文(包括返回报文)才能够通过防火墙;如果链路切换后,后续报文找不到正确的表项,会导致业务中断。

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

VRRP用于防火墙多区域备份

为了保证所有VRRP备份组切换的一致性,在VRRP的基础上进行了扩展,推出了VGMP(VRRP Group Management Protocol)来弥补此局限。将同一台防火墙上的多个VRRP备份组都加入到一个VRRP管理组,由管理组统一管理所有VRRP备份组。通过统一控制各VRRP备份组状态的切换,来保证管理组内的所有VRRP备份组状态都是一致的。

VGMP基本原理

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

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

VGMP的优先级会根据组内的VRRP备份组状态为Active的VGMP也会定期向对端发送HELLO报文(默认为1s,当Standby端3个hello报文没有收到,则认为对端出现故障) ,通知Standby端本身的运行状态(包括优先级、VRRP成员状态等)。成员的状态动态调整,以此完成两台防火墙的主备倒换。

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

VGMP报文

在这里插入图片描述

USG6000 VGMP报文支持2种封装格式:

VRRP封装:此时VGMP报文也是组播报文。这是最初的VGMP报文封装格式。

华为对VRRP报文进行了扩展和修改,以便承载VGMP报文。VRRP报文头中的Type=2时,表示VRRP报文承载了VGMP报文;Priority字段被修改为Type2字段用于区分VGMP报文类型。

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

  • 2.当Type2=5时,报文封装成一致性检查报文。

  • 3.当Type2=2时,VRRP进一步封装VGMP头,并根据VGMP报文头中的vType字段区分以下报文:

    • ①Hello心跳报文,用于探测对端的VGMP组是否处于工作状态。

    • ②VGMP报文:两台防火墙间的VGMP组协商主备状态。

    • ③HRP数据报文:用于主用设备数据备份,包括命令行备份和各种状态信息的备份。当vType为HRP报文时,还需要在VGMP报文之上承载HRP报文头。

  • 其中VGMP报文头各字段说明如下:

    • Version:VGMP协议的版本号。

    • vType:VGMP报文的类型。

    • mode:VGMP报文的模式,表示是请求报文还是应答报文。

    • vgmpID:此报文所属VGMP管理组的ID。防火墙缺省提供了两个VGMP管理组,Active和Standby,其ID不可修改。

    • vPriority:VGMP管理组的优先级。防火墙通过比较优先级决定VGMP管理组的状态。

    • checkCode:VGMP报文的验证码。

    • dataLen:VGMP数据长度。

    • data:VGMP数据。

HRP基本概念

HRP(HuaweiRedundancy Protocol)协议,用来实现防火墙双机之间动态状态数据和关键配置命令的备份。

产生备份的原因:在双机热备组网中,当主防火墙出现故障时,所有流量都将切换到备防火墙。因为USG防火墙是状态防火墙,如果备防火墙上没有原来主防火墙上的会话表等连接状态数据,则切换到备防火墙的流量将无法通过防火墙,造成现有的连接中断,此时用户必须重新发起连接。

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

备份内容:要备份的连接状态数据包括TCP/UDP的会话表、ServerMap表项、动态黑名单、NO-PAT表项、ARP表项等。

备份方向:防火墙上有状态为主的VGMP管理组,向对端备份。

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

HRP心跳接口

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

    • 心跳口必须是状态独立且具有IP地址的接口,可以是一个物理接口(GE接口),也可以是为了增加带宽,由多个物理接口捆绑而成的一个逻辑接口Eth-Trunk。
      在这里插入图片描述

通常情况下,备份数据流量约为业务流量的20%~30%,请根据备份数据量的大小选择捆绑物理接口的数量

心跳接口的状态

在这里插入图片描述

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

双机热备的备份方式

在这里插入图片描述

  • 自动备份

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

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

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

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

      • 到防火墙自身的会话,例如管理员登录防火墙时产生的会话。

      • 未完成3次握手的TCP半连接会话(快速备份支持备份此会话)。

      • 只为UDP首包创建,而不被后续包匹配的会话(快速备份支持备份此会话)。

  • 手工批量备份

    • 手工批量备份需要管理员手工触发,每执行一次手工批量备份命令,主用设备就会立即同步一次配置命令和状态信息到备用设备。因此手工批量备份主要适用于主备设备之间配置不同步(在使用双机热备之前,主设备已经有了业务配置,就需要手动的同步到备份设备),需要手工同步的场景。

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

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

  • 会话快速备份

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

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

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

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

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

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

2.双机热备基本组网与配置

双机热备基本组网

上下行业务接口工作在三层模式,连接二层设备时,需要在上下行的业务接口上配置VRRP备份组,使VGMP管理组能够通过VRRP备份组监测三层业务接口。
在这里插入图片描述

FW1

#1.完成网络基本配置。

# 配置FW各接口的IP地址。
system-view 
int g1/0/1
	ip add 10.2.0.1 24
int g1/0/3 
	ip add 10.3.0.1 24
int g1/0/6
	ip add 10.10.0.1 24

# 将FW各接口加入相应的安全区域。
firewall zone trust
  add interface GigabitEthernet1/0/3

firewall zone untrust
 add interface GigabitEthernet1/0/1

firewall zone dmz
 add interface GigabitEthernet1/0/6

# 在FW上配置缺省路由,下一跳为1.1.1.10,使内网用户的流量可以正常转发至Router。
ip route-static 0.0.0.0 0 1.1.1.10

#2.配置VRRP备份组。
 # 在FW1上行业务接口GE1/0/1上配置VRRP备份组1,并设置其状态为Active。需要注意的是,如果接口的IP地址与VRRP备份组地址不在同一网段,则配置VRRP备份组地址时需要指定掩码。
int g1/0/1
	vrrp vrid 1 virtual-ip 1.1.1.1 255.255.255.0 active
	q
 # 在FW_A下行业务接口GE1/0/3上配置VRRP备份组2,并设置其状态为Active。
int g1/0/3
	vrrp vrid 2 virtual-ip  10.3.0.3 active
	q
#3.指定心跳口并启用双机热备功能。
hrp int g1/0/6 remote 10.10.0.2
hrp enable 

#4.在FW1上配置安全策略。双机热备状态成功建立后,FW1的安全策略配置会自动备份到FW2上。
  # 配置安全策略,允许内网用户访问Internet。
security-policy
 rule name trust_to_untrust
  source-zone trust
  destination-zone untrust
  source-address 10.3.0.0 mask 255.255.255.0
  action permit

#5.在FW1上配置NAT策略。双机热备状态成功建立后,FW1的NAT策略配置会自动备份到FW2上。
	# 配置NAT策略,当内网用户访问Internet时,将源地址由10.3.0.0/24网段转换为地址池中的地址(1.1.1.2-1.1.1.5)。

nat address-group group1
 section 0 1.1.1.2 1.1.1.5
 quit
nat-policy
 rule name policy_nat1
  source-zone trust
  destination-zone untrust
  source-address 10.3.0.0 mask 255.255.255.0
  action source-nat address-group group1




FW2

#1.完成网络基本配置。

# 配置FW各接口的IP地址。
system-view 
int g1/0/1
	ip add 10.2.0.2 24
int g1/0/3 
	ip add 10.3.0.2 24
int g1/0/6
	ip add 10.10.0.2 24

# 将FW各接口加入相应的安全区域。
firewall zone trust
  add interface GigabitEthernet1/0/3

firewall zone untrust
 add interface GigabitEthernet1/0/1

firewall zone dmz
 add interface GigabitEthernet1/0/6

# 在FW上配置缺省路由,下一跳为1.1.1.10,使内网用户的流量可以正常转发至Router。
ip route-static 0.0.0.0 0 1.1.1.10

#2.配置VRRP备份组。
 # 在FW2上行业务接口GE1/0/1上配置VRRP备份组1,并设置其状态为Standby。需要注意的是,如果接口的IP地址与VRRP备份组地址不在同一网段,则配置VRRP备份组地址时需要指定掩码。
int g1/0/1
	vrrp vrid 1 virtual-ip 1.1.1.1 255.255.255.0 Standby
	q

 # 在FW_B下行业务接口GE1/0/3上配置VRRP备份组2,并设置其状态为Standby。
int g1/0/3
	vrrp vrid 2 virtual-ip 10.3.0.3 standby
	q
#3.指定心跳口并启用双机热备功能。
hrp int g1/0/6 remote 10.10.0.1    、
					#写对端的ip地址
hrp enable 


6.配置Router。

在Router上配置到FW的等价路由,路由下一跳指向VRRP备份组1的虚拟IP地址。
R1 
	int g0/0/0
		ip add 1.1.1.10 24
	ip route-static 10.3.0.0 24 1.1.1.1
R2
	int g0/0/0
		ip add 10.3.0.254 24
	ip route-static 1.1.1.0 24 10.3.0.3

  • 防火墙默认放行VGMP报文

  • USG工作于负载分担组网时,报文的来回路径可能会不一致,务必启用会话快速备份功能,使一台USG的会话信息立即同步至另一台USG,保证内外部用户的业务不中断。

  • 每个普通物理接口(GigabitEthernet接口)下最多配置255个VRRP组。

VGMP配置命令

dis hrp state
dis hrp state verbose
		#查看hrp的状态
dis hrp interface
		#查看心跳口
hrp standby config enable 
		#开启备份设备配置能力
缺省情况下,VGMP管理组的抢占功能为启用状态,抢占延迟时间为60s。配置VGMP管理组的抢占延迟时间命令如下:
	hrp preempt 10
hrp auto-sync [ config | connection-status]
		#启用命令与状态信息的自动备份
hrp mirror session enable
		#启用会话快速备份
onnection-status]
		#启用命令与状态信息的自动备份
hrp mirror session enable
		#启用会话快速备份
display vrrp interface G1/0/3
		#查看处于VRRP备份组中的接口状态信息

Master管理组默认情况下会每隔1秒发送一次vrrp报文,可以在接口视图下调整vrrp报文发送间隔。
int g1/0/1
	vrrp vrid 1 timer advertise 2
  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值