在网络关键节点上,如果只部署一台设备,无论其可靠性多高,系统都必然要承受因单点故障而导致的网络中断的风险。
防火墙一般用作内网到外网的出口,是业务关键路径上的设备。为了防止因一台设备故障而导致的业务中断,要求防火墙必须提供更高的可靠性,此时需要使用防火墙双机热备组网。
在双机热备组网中,当一台防火墙出现故障时,业务流量能平滑地切换到备份防火墙上,保证流量不中断使内外网用户交互时完全感知不到曾经出现过网络故障。
双机热备需要解决的问题:
双机热备特性涉及到的三大协议:VRRP,VGMP,HRP
VRRP:
VRRP是一种容错协议,他将同一个广播域的一组路由器组织成一个虚拟路由器,称之为一个备份组,共享一个虚拟IP地址,备份组的两个接口之间通过比较VRRP报文的优先级来确定主备状态。
VRRP协议报文:用来将master设备的优先级和状态通告给同一备份组的所有backup设备,VRRP报文协议封装在IP报文中,发送到VRRP的组播地址224.0.0.18,TTL是255,协议号是112
VRRP状态机:VRRP协议中定义了3种状态机,初始状态(initialize),活动状态(master),备份状态(backup),只有master设备才能转发数据。
VRRP分为两种工作方式:主备备份和负载分担
VRRP优先级取值范围(0-255),值越大,越优先
VRRP所面临的问题:当防火墙上下行端口都配置了VRRP备份组时,由于两个备份组是独立运行的,可能出现上下行两个备份组状态不一致的情况。
例如,主用网关防火墙上内网侧的接口故障,VRRP倒换到备用网关防火墙,因此出去的流量从备用网关防火墙上转发。但是对于外网侧的VRRP,主用网关防火墙上VRRP仍然是主,因此回程的流量仍然会送到主用网关防火墙上,但业务流量无法送回内网,导致业务中断。
可以监测上行链路状态,如在VRRP备份组2中,在AR1上监测上行链路G1/0/1口,发现G1/0/1口故障,就将自己(备份组2)的G1/0/3口的优先级调小,使得master设备切换到AR2上,使得上下行设备主备状态一致。
VGMP:华为私有协议
管理所有VRRP备份组,实现对VRRP备份组的统一管理,解决VRRP备份组状态不一致的问题。
如果VGMP组检测到其中一个VRRP备份组的状态变化,则VGMP组会控制组中的所有VRRP备份组统一进行状态切换,保证各VRRP备份组状态的一致性。
HRP:华为私有协议
为了实现主用备用设备之间平滑切换,必须在主用和备用设备之间备份关键配置命令和会话表状态信息,为此防火墙引入了HRP协议实现防火墙在双机之间动态状态数据和关键配置命令的实时备份。
在双机热备组网中,指定心跳线作为专门的备份通道,用于备份配置命令和状态信息
HRP备份内容:
1.策略:安全策略、NAT策略(包括NAT地址池)、NAT Server、服务器负载均衡、带宽管理、认证策略、审计策略、攻击防范、黑名单、ASPF
2 .对象∶地址、地区、服务、应用、用户、认证服务器、时间段、地址池、URL分类、关键字组、邮件地址组、签名、安全配置文件(反病毒、入侵防御、URL过滤、文件过滤、内容过滤、应用行为控制、邮件过滤、APT防御)、健康检查
3.网络︰新建逻辑接口、安全区域、DNS、静态路由(配置hrp auto-syncconfig static-route后才可以备份)、IPSec、SSL VPN、TSM联动
4.系统︰管理员、虚拟系统(包括虚拟系统创建和虚拟系统内的业务配置命令)、日志配置
心跳线:双机热备组网中,心跳线是两台防火墙交互消息了解对端状态以及备份配置命令和各种表项的通道,心跳线两端的接口通常被称为心跳接口,心跳线主要传输以下信息:
心跳报文(Hello报文):两台FW通过定期(默认周期为1秒)互相发送心跳报文检测对端设备是否存活。
VGMP报文:了解对端设备的VGMP组的状态,确定本端和对端设备当前状态是否稳定,是否要进行故障切换。
配置和表项备份报文:用于两台FW同步配置命令和状态信息。
心跳链路探测报文:用于检测对端设备的心跳口能否正常接收本端设备的报文,确定是否有心跳接口可以使用。
配置一致性检查报文:用于检测两台FW的关键配置是否一致,如安全策略、NAT等。
上述报文均不受FW的安全策略控制。因此,不需要针对这些报文配置安全策略。
心跳线和心跳接口的配置建议:
1.心跳接口的连线方式可以是直连,也可以通过交换机或路由器连接。建议将组成双机热备的两台FW安装在同一个机架或者相邻的机架上,心跳接口使用网线或者光纤直连。
2.建议规划专门的接口作为心跳接口,该接口只用来发送心跳报文、备份报文等双机热备功能相关的报文,不要将业务报文引导到该接口上转发。同时,建议将多个以太网接口绑定成Eth-Trunk接口,使用Eth-Trunk作为心跳接口。这样既提高了链路的可靠性,又可以增加备份通道的带宽。
3.对于USG9000V系列设备,vLPU上的接口均可作为心跳接口。请安装多个vLPU,并将不同接口板上的以太网接口绑定成Eth-Trunk接口,使用该Eth-Trunk接口作为心跳接口。
4.心跳接口需要发送业务相关的表项备份报文,心跳接口的流量大小与业务流量大小有关。心跳接口的带宽建议不低于峰值业务流量的30%。
5.建议至少配置2个心跳接口。一个心跳接口作为主用,另一个心跳接口作为备份。
心跳线和心跳接口的配置注意事项:
1.MGMT接口(GigabitEthernet0/0/0)不能作为心跳接口。
2.配置了vrrp virtual-mac enable命令的接口不能用作心跳接口。
3.两台FW心跳接口的类型、接口编号、链路协议类型必须相同。如果使用Eth-Trunk接口作为心跳接口,Eth-Trunk接口的成员接口也要相同。如果使用VLAN接口(VLANIF)作为心跳接口,实际收发报文的二层物理接口也必须相同。
4.两台FW心跳接口必须加入相同的安全区域。
5.接口MTU值小于1500的接口不能作为心跳接口。配置和表项备份报文的最大长度为1500字节,且报文不支持分片。如果心跳接口MTU值小于1500,会导致报文发送失败。
6.心跳接口通过交换机或路由器连接时,交换机或路由器上转发心跳报文和备份报文的接口的MTU值不能小于1500。
7.如果FW上配置了虚拟系统,心跳接口不能是虚拟系统的接口,必须是根系统的接口。虚拟系统的配置命令和表项也能通过规划在根系统的心跳接口备份到对端设备。
双机热备的系统要求:
介绍双机热备功能对设备硬件、软件以及License的要求。
硬件要求:
组成双机热备的两台FW的型号必须相同,安装的单板类型、数量以及单板安装的位置必须相同。
两台FW的硬盘配置可以不同。例如,一台FW安装硬盘,另一台FW不安装硬盘,不会影响双机热备的运行。但未安装硬盘的FW日志存储量将远低于安装了硬盘的FW,而且部分日志和报表功能不可用。
软件要求:
组成双机热备的两台FW的系统软件版本、系统补丁版本、动态加载的组件包、特征库版本、HASH选择CPU模式以及HASH因子都必须相同。
实际上,在系统软件版本升级或回退的过程中,两台FW可以暂时运行不同版本的系统软件。例如,一台设备的软件版本为V500R001C50,另一台设备的软件版本为V500R001C30SPC300。
License要求:
双机热备功能自身不需要License。但对于其他需要License的功能,如IPS、反病毒等功能,组成双机热备的两台FW需要分别申请和加载License,两台FW之间不能共享License。两台FW的License控制项种类、资源数量、升级服务到期时间都要相同。
双机热备地工作模式:主备备份、负载分担
HRP备份方式:自动备份(默认)、手工批量备份、会话快速备份、设备重启后主备防火墙的配置自动同步
实验:
拓扑图:
FW1配置地址并划分区域:
FW2配置地址并划分区域:
FW1配置VRRP备份组:
FW2配置VRRP备份组:
FW1配置心跳线:
FW2配置心跳线:
FW1配置安全策略:(FW2不用配置,自动备份)
FW1配置NAT转换:(FW2不用配置,自动备份)
AR1配置地址:
FW1配置静态路由使得trust可以访问到pc2(默认),需要加上hrp auto-sync config static-route命令才能同步路由
FW2上有静态路由,成功同步
成功访问
测试:这时将FW1的g1/0/1口shutdown,防火墙主备状态将会切换,FW1切换为backup,FW2切换为master
图形化配置双机热备:
拓扑图:
FW1配置双机热备:
配置VRRP:
FW2配置双机热备:backup设备
配置VRRP备份组1
配置VRRP备份组2
FW2状态正常
FW1状态正常
配置FW1的安全策略
FW1配置NAT策略
黑洞路由表示在内网中,没有用户使用10.1.2.20这个地址做转换的情况下,从外面来了一条路由说自己要访问10.1.2.20这条路由,这时FW1查看自己的路由表,发现没有人使用10.1.2.20这个地址,于是FW1会将这条路由当作缺省路由来转发,会导致这条路由不停的再转发,这时可以开启配置黑洞路由这个选项,这时FW1会将这条路由丢弃
FW2自动同步NAT策略
FW1上配置静态路由
FW2上自动同步静态路由
测试:pc1和pc2可以通信
测试:将FW1的g1/0/1口禁用,此时流量会从FW2走,实现平滑过渡