华为防火墙实现双机热备配置详解

一提到防火墙,通常都会想到企业的边界设备,是内网用户与互联网的必经之路。防火墙承载了很是多的功能,好比:安全规则、IPS、文件类型过滤、内容过滤、应用层过滤等。也正是由于防火墙如此的重要,若是防火墙一旦出现问题,全部对外通讯的服务都将中断,因此企业中首先要考虑的就是防火墙的优化及高可用性。安全

博文大纲:
1、双机热备工做原理
2、VRRP协议
(1)VRRP协议概述
(2)VRRP的角色
(3)VRRP的状态机
(4)VRRP的工做原理
3、VGMP协议
(1)VGMP的工做原理
(2)VGMP的报文封装
(3)双机热备的备份方式
(4)链接路由器时的双机热备
4、实现防火墙双机热备的配置 网络

1、双机热备工做原理

随着互联网的发展,如今人们生活中的大多数问题均可以经过网络解决,但与此同时,网络安全问题也逐渐暴露出来。在企业中部署一台防火墙已然成为常态。如何可以保证网络不间断地传输成为网络发展中急需解决的问题!session

华为防火墙实现双机热备配置详解
企业在关键的业务出口部署一台防火墙,全部的对外流量都要通过防火墙进行传输,一旦防火墙出现故障,那么企业将面临网络中断的问题,不管防火墙自己的性能有多好,功能有多么强大。在这一刻,都没法挽回企业面临的损失。因此在企业的出口部署两台防火墙产品,能够在增长企业安全的同时,保证业务传输基本不会中断,由于两台设备同时出现故障的几率很是小。通过图中右边的部署,从拓补的角度来看,网络具备很是高的可靠性,可是从技术的角度来看,还需解决一些问题,正由于防火墙和路由器在工做原理上有着本质的区别,因此防火墙还需一些特殊的配置。并发

华为防火墙实现双机热备配置详解
左图,内部网络能够经过R3→R1→R4到达外部网络,也能够经过R3→R2→R4到达,若是经过R3→R1→R4路径的cost(运行OSPF协议)比较小,那么默认状况,内部网络将经过R3→R1→R4到达外部网络,当R1设备损坏时,OSPF将自动收敛,R3将经过R2转发到达外部网络。负载均衡

右图,R一、R2替换成两台防火墙,默认状况下,流量将经过FW1进行转发到达外部网络,此时在FW1记录着大量的用户流量对应的会话表项内容,当FW1损坏时,经过OSPF收敛,流量将引导FW2上,可是FW2上没有以前流量的会话表,以前传输会话的返回流量将没法经过FW2,而会话的后续流量须要从新通过安全策略的检查,并生成会话。这就意味着以前全部的通讯流量都将中断,除非从新创建链接。ide

华为防火墙实现双机热备配置详解
如图,华为防火墙的双机热备功能是经过提供一条备份链路(心跳线)、协商防火墙之间的主备状态及备份会话表、Server-map表等操做。根据防火墙的配置分别选举出主用设备及备用设备,当主用设备正常工做时,备用设备不提供数据包的转发,可是备用设备会实时从主用设备下载当前的会话表及Server-map表。从而保证,当主用设备故障时,即便切换到备用设备,备用设备依然存在当前流量的会话表及Server-map表,从而保证业务流量不中断。性能

在双机热备环境中,要求以下:
(1)两台防火墙用于心跳线的接口加入相同的安全区域;
(2)两台防火墙用于心跳线的接口的设备编号必须一致,好比都是G1/0/0;
(3)建议用于双机热备的两条防火墙采用相同的型号、相同的VRP版本;优化

华为防火墙的双机热备包含如下两种模式:ui

  • 热备模式:同一时间只用一台防火墙转发数据包,其余防火墙不转发数据包,可是会同步会话表及Server-map表;
  • 负载均衡模式:同一时间,多台防火墙同时转发数据,但每一个防火墙又做为其余防火墙的备用设备,即每一个防火墙便是主用设备也是备用设备,防火墙之间同步会话表及Server-map表;

关于华为防御墙的热备模式和负载均衡模式如图:
华为防火墙实现双机热备配置详解3d

2、VRRP协议

在双机热备技术中,即便选举出了主用设备和备用设备,默认状况下流量也经过主用设备转发,而备用设备处于备份状态。可是客户机一般经过指定网关地址来指定网络出口,当客户机将网关指向主用设备时,流量天然从主用设备转发,可是当主用设备故障时,客户机并不会将网关自动指向备用设备,因此即便双机热备自己能够切换、客户机依然没法正常通讯。因此要保证双机热备能够正常工做,还需解决客户机网关自动切换的问题。而VRRP技术能够解决网关自动切换的问题,甚至还能让设备切换对客户机而言是透明的。在华为防火墙的双机热备技术中,VRRP是很是重要的一个组成部分。

(1)VRRP协议概述

VRRP(虚拟路由冗余协议)由IETF进行维护。用来解决网关单点故障的路由协议。VRRP能够应用在路由器中提供网关冗余,也能够用在防火墙中作双击热备。

VRRP的基本概念以下:
(1)VRRP路由器:运行VRRP协议的路由器;
(2)虚拟路由器:由一个主用路由器和若干备用路由器组成的一个备份组,一个备份组对客户机提供一个虚拟网关;
(3)VRID:Virtual Router ID,虚拟路由器标识,用来惟一的表识一个备份组;
(4)虚拟IP地址:提供给客户端的网关IP地址,也是分配给虚拟路由器的IP地址,在全部的VRRP中配置,只有主用设备提供该IP地址的ARP响应;
(5)虚拟MAC地址:基于VRID生成的用于VRRP的MAC地址,在客户端经过ARP协议解析网关的MAC地址时,主用路由器提供该MAC地址;
(6)IP地址拥有者:若将虚拟路由器的IP地址配置为某个成员物理接口的真是IP地址,那么该成员被称为IP地址拥有者;
(7)优先级:用于表示VRRP路由器的优先级,并经过每一个VRRP路由器的优先级选举主用设备及备用设备;
(8)抢占模式:在抢占模式下,若是备用路由器的优先级高于备份组中的其余路由器(包括当前的主用路由器),将当即成为新的主用路由器;
(9)非抢占模式:在非抢占模式下,若是备用路由器的优先级高于备份组中的其余路由器(包括当前的主用路由器),则不会当即成为主用路由器,直到下一次公平选举(如断电、设备重启等);

VRRP的工做原理与Cisco设备基本相同,只有一些细节上的一些区别,如图:
华为防火墙实现双机热备配置详解

(2)VRRP的角色

工做在VRRP模式下的路由器有两种角色,分别是:

  • Master路由器:正常状况下由Master路由器负责ARP响应及提供数据包的转发,而且默认每隔1s向其余路由器通告Master路由器当前的状态信息;
  • Backup路由器:是Master路由器的备用路由器,正常状况下不提供数据包的转发,当Master路由器故障时,在全部的Backup路由器中优先级最高的路由器将成为新的Master路由器,接替转发数据包的工做,从而保证业务不间断;

(3)VRRP的状态机

VRRP定义了三种工做状态,以下:

  • Initialize状态:刚配置VRRP时的初始状态。该状态下,不对VRRP报文作任何处理,当接口shutdown或接口故障时将进入该状态;
  • Master状态:当前设备选举成为主用路由器时的一种状态。该状态下会转发业务报文,并周期性地发送VRRP通告报文,处于该状态的路由器还将响应客户机发起的ARP请求,并将虚拟MAC地址回应客户机。当接口关闭时,将当即切换至Initialize状态;
  • Backup状态:当前设备选举成为备用路由器的一种状态。该状态下不转发任何业务报文,工做在该状态下的路由器会接收主用路由器发送的VRRP通告报文,并判断主用路由器是否正常工做。在双机热备模式中还将同步主用设备上的状态信息;

三种状态之间的切换关系如图:
华为防火墙实现双机热备配置详解
Initialize状态是VRRP的初始状态,当接口shutdown时,不管路由器处于Master状态仍是Backup状态,都将当即切换至Initialize状态;当路由器配置IP地址拥有者时,其优先级默认为255,此时路由器直接由Initialize状态切换至Master状态;当路由器不是IP地址拥有者时,其优先级< 255,此时路由器直接由Initialize状态切换至Backup状态;处于Master状态的路由器若是收到优先级更大的VRRP报文,将由Master状态切换至Backup状态,而Backup状态的路由器若是收到一个优先级更大或者本地优先级相等的报文(一般是由Master路由器发出),将重置Master_DOWN_Interval计时器,若是一直没有接收到Master路由器发送的VRRP经过报文,待Master_DOWN_Interval计时器超时后,将由Backup状态切换至Master状态。

注意:除非手工将路由器配置为IP地址拥有者(优先级=255),不然VRRP的状态切换老是先经历Backup状态,即时路由器的优先级最高,也须要从Backup状态过渡到Master状态。此时Backup状态只是一个瞬间的过渡状态。

(4)VRRP的工做原理

VRRP选举Master路由器和Backup路由器的流程以下:
首先选举优先级高的设备成为Master路由器,若是优先级相同,再比较接口的IP地址大小,IP地址大(数值大)的设备将成为Master路由器,而备份组中其余的路由器将成为Backup路由器。

VRRP中的默认接口优先级值为100,取值范围为0~255。其中优先级0是系统保留,优先级255保留给IP地址拥有者,IP地址拥有者不须要配置优先级,优先级默认是255。

VRRP的工做原理如图:
华为防火墙实现双机热备配置详解

故障切换过程:
默认状况下,Master设备(FW1)会周期性(每1s)地向Backup设备发送VRRP通告,而Backup设备每次收到VRRP通告,就将Master_DOWN_Interval计时器重置为0。当Master设备出现故障,没法发出VRRP通告报文时,Backup设备将没法接收到VRRP,在Master_DOWN_Interval超时后,将直接由Backup状态切换为Master状态,FW2代替FW1成为新的Master设备。同时会向下游交换机发出免费ARP报文,以更新下游交换机的MAC地址表。然后续客户机发起的针对虚拟IP的ARP请求报文,FW2将直接代为回应,客户机发出的报文也将由FW2转发,而这一切变化对客户机而言都是透明的。由于虚拟IP地址仍然可用!

当FW1解决故障恢复正常运行时,由于FW1的优先级配置比FW2高,在抢占模式下,其将直接成为Master设备,而FW2再次回到Backup状态;在非抢占模式下,FW2依然是Master设备,而FW1成为Backup设备。

建议:当Master设备和Backup设备性能相差不大,同时网络规模较大时,建议配置为非抢占模式,由于这样能够减小网络的波动。

3、VGMP协议

(1)VGMP的工做原理

若是仅仅使用双机热备+VRRP就会出现如下状况:
华为防火墙实现双机热备配置详解
形成如下现象的缘由是两个VRRP备份组各自独立工做,,那么有没有什么办法可使两个备份组协同工做,以保证设备在两个备份组的状态一致性呢?就须要使用到——VGMP协议。

VGMP(VRRP组管理协议)用来实现VRRP备份组的统一管理,以保证设备在各个备份组中的状态一致性。VGMP经过在设备(FW1和FW2)上将全部的备份组(备份组1和备份组2)加入一个VGMP组中进行统一管理,一旦检测到某个备份组(备份组1)中的状态变化(如接口进入Initialize状态),VGMP组将自身优先级减2,并从新协商VGMP的Active组和Standby组。选举出的Active组将全部的其余备份组(备份组1和备份组2)统一进行状态切换(备份组1和备份组2中的FW2将成为Master设备)。

VGMP的工做原理:

  • VGMP组的状态决定了VRRP备份组的状态,即设备的角色(如Master和Backup)再也不经过VRRP报文选举,而是直接经过VGMP统一管理;
  • VGMP组的状态经过比较优先级决定,优先级高的VGMP组将成为Active,优先级低的VGMP组将成为Standby;
  • 默认状况下,VGMP组的优先级为45000;
  • VGMP根据组内VRRP备份组的状态自动调整优先级,一旦检测到备份组的状态变成Initialize状态,VGMP组的优先级会自动减2;
  • 经过心跳线协商VGMP状态信息;

VGMP的工做原理:
华为防火墙实现双机热备配置详解

注意:在加入了VGMP组以后,VRRP中的状态标识从Master和Backup变成Active和Standby。

(2)VGMP的报文封装

VGMP经过心跳线协商VGMP的状态信息,经过发送VGMP报文实现。VGMP报文有如下两种形式,如图:
华为防火墙实现双机热备配置详解
左图中,小心跳线直连,或者经过二层交换机相连时,发送的报文属于组播报文,报文封装中不携带UDP头部信息;
右图中,心跳线经过三层设备(路由器)链接时,由于组播报文没法经过三层设备,因此在报文封装中会额外增长一个UDP头部信息,此时发送的报文属于单播;

在实际应用中,应根据实际的拓补灵活选择报文封装。在华为防火墙中,经过如下命令指定接口发送的报文属于哪一种类型的封装。

[USG6000V1]hrp int g 1/0/0                         //eNSP模拟器不支持这条命令
[USG6000V1]hrp int g 1/0/0 remote 1.1.1.1

其中hrp命令用来指定用于心跳链路的接口,带remote参数的命令表示报文将封装UDP,并发送单播报文,不带remote参数的命令表示将发送组播报文。1.1.1.1标识对端是被(心跳线对端接口)的IP地址,该地址要求可路由,只有指定remote参数时才须要指定。

注意:

  • 加入VGMP后,心跳线的做用包含状态信息备份(会话表和Server-map表)及VGMP状态协商;
  • 华为防火墙在默认状况下放行组播流量(不带remote参数的VGMP报文),禁止单播流量(带remote参数的VGMP报文),因此配置了remote参数,还须要配置Local区域和心跳接口区域之间的安全策略;
  • 配置了虚拟IP地址的接口不能做为心跳口;
  • 若是使用二层接口做为心跳接口,不能直接在二层接口上配置,而是将二层接口加入VLAN,在VLAN中配置心跳接口;
  • eNSP模拟器中,及时心跳接口之间相连,也必须配置remote参数,不然没法配置;

(3)双机热备的备份方式

双击热备的备份方式包括如下三种:

  • 自动备份:该模式下,和双机热备有关的配置命令只能在主用设备上配置,并自动同步到备用设备中,主用设备自动将状态信息同步到备用设备中,该模式是华为防火墙的默认开启模式,主要应用于热备模式;
  • 手工批量备份:该模式下,主用设备上全部的配置命令和状态信息,只有在手工指定批量备份命令时才会自动同步到备用设备,该模式主要应用于主、备设备配置不一样步,须要当即进行同步的场景中;
  • 快速备份:该模式下,不一样步配置命令,只同步状态信息。在负载均衡方式的双机热备环境中,该模式必须启用,以快速更新状态信息;

(1)开启双击热备功能

[USG6000V1]hrp enable
HRP_S[USG6000V1]                    //开启双机热备后,提示符发生变化

(2)配置自动备份模式

HRP_M[USG6000V1]hrp auto-sync

开启双机热备后,执行能够同步的命令时会有(+B)的提示

HRP_M[USG6000V1]security-policy  (+B)

(3)配置手工批量备份模式

HRP_M<USG6000V1>hrp sync config                                             //表示手工同步命令配置
HRP_M<USG6000V1>hrp sync connection-status                          //表示手工同步状态信息
//注意,此命令是在用户视图下执行的

(4)配置快速备份模式

HRP_M[USG6000V1]hrp mirror session enable

(4)链接路由器时的双机热备

当配置双机热备上游或下游是交换设备时,能够经过VRRP检测接口或设备的状态,可是当上游或下游设备是路由器时,VRRP没法正常运行(VRRP依靠组播实现故障切换)。华为防火墙的作法是监控其接口状态,并配合OSPF实现流量切换。
华为防火墙实现双机热备配置详解
经过接口直接加入VGMP组中,当接口故障时(即便对端设备故障,本端接口的物理特性也将关闭),VGMP会感知接口状态变化,从而下降VGMP组的优先级,从Active状态切换至Stabdby状态。而以前的Standby组提高为Active状态。而处于Standby的VGMP组在发布OSPF路由时,会自动将cost值增长65500,经过OSPF的自动收敛,最终将流量引导至Active组设备中。

4、实现防火墙双机热备的配置

实验拓补:
华为防火墙实现双机热备配置详解

案例实施:

(1)防火墙接口配置IP地址,并加入各自的区域中,并设置相应的安全策略

[FW1]int g1/0/0
[FW1-GigabitEthernet1/0/0]ip add 10.1.1.101 24
[FW1-GigabitEthernet1/0/0]int g1/0/1
[FW1-GigabitEthernet1/0/1]ip add 172.16.1.1 24
[FW1-GigabitEthernet1/0/1]int g1/0/2
[FW1-GigabitEthernet1/0/2]ip add 192.168.1.101 24
[FW1-GigabitEthernet1/0/2]quit
[FW1]firewall zone untrust 
[FW1-zone-untrust]add int g1/0/0
[FW1-zone-untrust]quit
[FW1]firewall zone dmz
[FW1-zone-dmz]add int g1/0/1
[FW1-zone-dmz]quit
[FW1]firewall zone trust 
[FW1-zone-trust]add int g1/0/2
[FW1-zone-trust]quit
[FW1]security-policy 
[FW1-policy-security]rule name trust_to_untrust
[FW1-policy-security-rule-trust_to_untrust]source-zone trust 
[FW1-policy-security-rule-trust_to_untrust]destination-zone untrust 
[FW1-policy-security-rule-trust_to_untrust]action permit 
//配置安全策略:内部流量能够到外部
[FW1-policy-security-rule-trust_to_untrust]quit
[FW1-policy-security]rule name local_to_dmz
[FW1-policy-security-rule-local_to_dmz]source-zone local
[FW1-policy-security-rule-local_to_dmz]destination-zone dmz
[FW1-policy-security-rule-local_to_dmz]action permit 
//配置安全策略:从防火墙自己能够到DMZ区域(创建心跳线)
[FW1-policy-security-rule-local_to_dmz]quit
[FW1-policy-security]quit
//FW2的配置与FW1几乎是如出一辙的,这里就很少说了
//注意FW2上也需设置相同的规则

(2)配置VRRP备份组

FW1的配置以下:

[FW1]int g1/0/2
[FW1-GigabitEthernet1/0/2]vrrp vrid 1 virtual-ip 192.168.1.100 active 
[FW1-GigabitEthernet1/0/2]int g1/0/0
[FW1-GigabitEthernet1/0/0]vrrp vrid 2 virtual-ip 10.1.1.100 active

FW2的配置以下:

[FW2]int g1/0/2
[FW2-GigabitEthernet1/0/2]vrrp vrid 1 virtual-ip 192.168.1.100 standby 
[FW2-GigabitEthernet1/0/2]int g1/0/0
[FW2-GigabitEthernet1/0/0]vrrp vrid 2 virtual-ip 10.1.1.100 standby

(3)配置心跳接口

[FW1]hrp int g1/0/1  remote 172.16.1.2
//FW1指定心跳接口,并指定对端接口IP地址
[FW2]hrp int g1/0/1 remote 172.16.1.1
//FW同上,这就是为何防火墙须要设置从本地到DMZ区域的策略

(4)启用双机热备

[FW1]hrp enable
HRP_S[FW1]
//FW1的配置,命令提示符出现了变化
[FW2]hrp enable
HRP_S[FW2]
//FW2同上

(5)配置备份方式

HRP_S[FW1]hrp auto-sync
//配置自动备份
HRP_S[FW2]hrp auto-sync

(6)配置检查及验证
①查看双机热备的状态信息

HRP_M[FW1]display hrp state
 Role: active, peer: standby                            //本端状态为Active,对端为Standby
 Running priority: 45000, peer: 45000            //本端优先级为45000,对端为45000
 Core state: normal, peer: normal
 Backup channel usage: 0.00%
 Stable time: 0 days, 0 hours, 9 minutes
 Last state change information: 2019-10-26 6:29:53 HRP core state changed, old_s
tate = abnormal(active), new_state = normal, local_priority = 45000, peer_priori
ty = 45000.

②查看心跳接口状态

HRP_M[FW1]display hrp interface 
             GigabitEthernet1/0/1 : running

③两台PC配置IP地址及网关(虚拟地址),用PC1pingPC2
华为防火墙实现双机热备配置详解
④查看防火墙的会话表

HRP_M[FW1]display firewall session table 
 Current Total Sessions : 2
 udp  : public --> public  172.16.1.2:49152 --> 172.16.1.1:18514
 udp  : public --> public  172.16.1.1:49152 --> 172.16.1.2:18514

⑤PC1持续pingPC2,模拟FW1接口故障

HRP_M[FW1]int g1/0/2(+B)
HRP_M[FW1-GigabitEthernet1/0/2]shutdown

华为防火墙实现双机热备配置详解
⑥查看FW2双击热备的状态

HRP_M[FW2]display hrp state
 Role: active, peer: standby (should be "standby-active")               //状态发生了变化                      
 Running priority: 45000, peer: 44998                                             //FW1的优先级减2
 Core state: abnormal(active), peer: abnormal(standby)
 Backup channel usage: 0.00%
 Stable time: 0 days, 0 hours, 1 minutes
 Last state change information: 2019-10-26 6:49:06 HRP core state changed, old_s
tate = normal, new_state = abnormal(active), local_priority = 45000, peer_priori
ty = 44998.

实验完成!

———————— 本文至此结束,感谢阅读 ————————

相关文章
相关标签/搜索