eve-ng中模拟飞塔HA测试实验及理论

本文涉及的产品
云防火墙,500元 1000GB
简介: eve-ng中模拟飞塔HA测试实验及理论

HA工作模式


Active-Passive(A-P)模式集群中的所有防火墙必须工作在同一个模式下。可以对运行中的HA集群进行模式的修改,但会造成一定的延时,因为集群需要重新协商并选取新的主设备。A-P模式提供了备机保护。HA集群中由一台主设备,和一台以上到从设备组成。从设备与主设备一样连接到网络,但不处理任何的数据包,从设备处于备用状态。从设备会自动同步主设备的配置,并时刻监视主设备到运行状态。整个失效保护的过程是透明的,一旦主设备失效,从设备会自动接替其工作。如果设备的接口或链路出现故障,集群内会更新链路状态数据库,重新选举新的主设备。


Active-Active(A-A)模式


A-A模式下会对占用资源较多的进程进行在各个设备中进行分担。需要处理协议识别、病毒扫描、ips、网页过滤、邮件过滤、数据防泄露、应用程序控制、voip内容扫描、协议保护

(HTTP,HTTPS,FTP,IMAP,IMAPS,POP3,SMTP,SMTPS,IM,NNTP,SIP,SIMPLE),SCCP协议控制等。通过对如上内容的负载均担,A-A模式可以提供更高的UTM性能。安全策略中的终端控制,流控,用户认证功能,在A-A模式下没有什么提高效果。其他非UTM功能不会进行负载分担,将由主设备进行处理。除了UTM功能外,还可以实现对TCP会话进行分担。  AA模式下,集群中的主设备负责对所有通信会话的处理,然后将部分负载分发到所有从设备上。从设备可以说是活动的,因为要处理UTM的相关会话。但从设备只处理由主设备分配的数据,不会响应arp等。其他方面AA模式和AP模式是相同的。

单机配置同步、单机会话同步模式


从5.0版本开始,全新NGFW下一代防火墙 支持 单机配置同步、会话同步功能,在一些应用场景中它可以代替双机HA功能,实现控制异步流量的目的


HA配置要求


进行 HA配置, 硬件和 软件版本 需满足如下要求:1) 防火墙硬件型号相同;2) 同型号硬件要求硬件版本,内存容量,CPU 型号,硬盘容量等相同 ;3) 相同的软件版本 ;4) 设备的所有接口不能工作在DHCP,PPPOE 模式下。没有使用的接口IP地址模式也需要选择为"自定义";假如HA的两台FGT存在上述不一致的情况,那么做为备机的FGT将会被Shutdown主动关闭。串口下将会打印shutdown并提示原因:slave and master have differenthdisk status. Cannot work with HA master. Shutdown the box!Thesystem is going down NOThesystem is halted.


HA选举主备的方法


一、主设备选举顺序


防火墙在组成集群到时候,需要选举一台主设备。主设备的选举根据下图所示进行,主设备之外的设备则成为从设备。主设备硬件故障或者被监控的端口链路故障都会重新进行主设备的选举。防火墙按照如下顺序进行比较,进行主设备的选举。这些因素分别是:监控端口中的有效接口数量,设备运行时间,HA优先级,设备的序列号。

 640.png


二、有效地被监控端口数量


配置了需要被监控的业务端口之后,具有最多数量的有效监控端口的设备会成为主设备。通常情况下当一个HA集群建立起来的时候,所有到被监控的端口都是连接好并工作正常的,所以这个时候监控端口的数量不会成为影响到主设备选举的决定性因素。当一个被监控的端口出现故障或者链路失效,就会出发协商进行主设备选举,同样这些故障端口恢复到时候也会触发协商。当主设备的某个端口或链路出现故障,而其他设备相关端口和链路都是正常的就会从新选举出一个新的主设备。如port3,port4为被监控端口,当主设备的port3状态down,则其监控端口有效数量减少,从设备此时有效接口数量不变会成为主设备,继续工作。如果从设备上的监控端口出现故障,也会进行协商选举,选举结果是主设备不变,因为从设备上监控端口数量较少,自然不会成为主设备。如果不同设备的不同接口现了不同的端口故障,则每次都会进行一次选举。FGT# config system haFGT(ha)# set monitor "port3" "port4"FGT(ha)# end链路故障切换功能到目的就是要保证具有最多有效端口,最少故障点的那台设备成为主设备。


三、设备运行时间


运行时间较长到设备会成为主设备。该时间参数是以从上一次设备出现故障以来所正常运行的时间,当然设备重新启动后该时间值也会复位为0。当集群内设备同时启动时,每台设备运行时间是相同的。当设备上的监控端口发生设备故障时,有效运行时间复位,会低于集群内其他设备,与此同时因为拥有有效监控端口数少于其他设备。当出现故障的监控端口恢复时,虽然与未发生故障到设备具有相同的监控端口数,由于运行时间被复位后小于其他设备,也无法成为主设备。在大多数情况下,集群通过age参数减少了选举新的主设备所需要的时间,使集群更加稳定,因为选举过程有可能会中断数据传输。注:设备重新启动后age复位为0;接口失效后设备age复位为0.


集群启动时间差


有时集群内的某些主机需要更多的启动时间,启动时间的不同会导致一系列的问题出现,但不会影响集群的操作。为了确保后启动的主机可以成为主设备,FGCP协议默认为忽略5分钟的运行时间的差异,在大多数情况下该时间差的忽略可以帮助用户更容易实现自己预期的配置。在下列情况下运行时间差会造成不可以预料的结果:1 在升级固件版本的时候,默认情况下uninterruptable-upgrade enabled参数是开启的,集群会在所有的主机都升级完成后选举新的主设备。但由于主机之间升级后造成的运行时间的差异会小于5分钟,该差异会被忽略,其他的设备会成为新的主机。2 在测试失效切换的时候,由于反复切换,造成集群内主机运行时间的差小于5分钟。在通常情况下,失效切换后,失效的主机重新加入集群,他的运行时间要短于其他机,因而不会被选举为主设备。但如果失效的机器加入集群后他与其他主机之间的运行时间差小于5分钟,就有可能被选举为新的主机。


更改差值


用户可以通过如下命令来修改该参数:FGT# config system haFGT(ha)# set ha-uptime-diff-margin 60FGT(ha)# end这个命令设置时间差为60秒,运行范围为1-65535秒,默认为300秒。如果你不想等待5分钟的时间以便进行测试,你可以减少差值;在非中断升级防火墙OS的过程中减少差值;或者当集群内机器启动时间差加大的时候增加该差值 。

四、HA优先级

当具有相同监控端口数,且同时启动运行的防火墙,具有较高优先级的设备优先成为主设备。防火墙默认的优先级为128,可以通过配置优先级参数使某台设备优先成为主设备。该参数同主机名一样,不会在HA成员之间同步。当安装一组新的设备的时候,有效接口相同和运行时间相同,则优先级高会成为选主设备选举的因素。当一个台具有高优先级新设备加入一个现有的HA集群的时候,并不会触发从新协商,直到机群再次协商的时候该设备会由从设备被选举成为主设备。可以通过图形界面,或者如下的命令对优先级参数进行修改。FGT# config system haFGT(ha)# set priority 200FGT(ha)# end可以通过execute ha manage 命令对机群中的从设备进行优先级的修改。修改该参数后进行重新选举。


五、SN序列号


当集群中的设备具相同的有效接口数,运行时间和优先级的时候,设备的序号会成为最后比较的参数,因为不同的设备具有不同的序列号。具有较大数值的SN number的会成为主设备。


六、Override参数


在HA的配置中,override参数会影响到主设备的选举过程FGT# config system haFGT(ha)# set override disable/enableFGT(ha)# end该参数默认需要通过CLI命令行进行配置,默认值为disable.当overide参数开启后,主设备的选举方法发生改变,优先级参数 成为比运行时间 更优先 比较的参数:


640.png

如果一个设备的优先级较高,同时开启了overide选项,则在有效接口相同的情况下,该设备将始终作为主设备工作。由于该参数的这个特性,在实际操作中可能因为误操作 造成设备配置的丢失。如下面的例子:

1.A设备优先级200, override enable, B设备优先级100, override disable;

2.A设备故障,B设备成为主设备;

3.更换新的A设备,新设配仅设置HA参数,优先级200, override enable,但未做任何的业务配置;

4.新设备所有线路连接好后开启设备,由于新的设备和B设备具有相同的有效接口数量,同时具有较高优先级,选举成主设备;

5.原来主设备B设备的配置文件被同步成为新设备的空配置,数据丢失。

规避方法:检查override是否开启,检查优先级参数,或者新的设备接入的时候,不连接任何监控端口的线缆,使其具有少的有效端口数。

当防火墙开启虚拟机群virtual cluster2的时候,cluster2的该参数是默认为enbale,便于虚拟集群的控制。

FGT# config system ha
FGT(ha)# set vcluster2 enable
       config secondary-vcluster
       set override disable              //默认关闭
       set vdom "ts"
   end

测试拓扑

640.png

web界面打开(左边的飞塔)

配置为HA的主设备


640.jpg


640.jpg

两台防火墙配置一样

查看现象:


640.jpg

相关文章
|
7月前
|
人工智能 自然语言处理 安全
【网安AIGC专题10.19】论文3代码生成:ChatGPT+自协作代码生成+角色扮演(分析员、程序员、测试员)+消融实验、用于MBPP+HumanEval数据集
【网安AIGC专题10.19】论文3代码生成:ChatGPT+自协作代码生成+角色扮演(分析员、程序员、测试员)+消融实验、用于MBPP+HumanEval数据集
131 0
|
7月前
|
机器学习/深度学习 分布式计算 算法
基于通用LLM的一次测试用例自动生成的实验
基于通用LLM的一次测试用例自动生成的实验
1029 0
|
1月前
|
异构计算
FPGA片内ROM测试实验(二)
FPGA片内ROM测试实验
33 1
|
6天前
|
存储 分布式计算 监控
分布式系统详解--框架(Hadoop-HDFS的HA搭建及测试)
分布式系统详解--框架(Hadoop-HDFS的HA搭建及测试)
18 0
|
1月前
|
存储 数据格式 异构计算
FPGA片内ROM测试实验(一)
FPGA片内ROM测试实验
40 1
|
11月前
|
存储 Web App开发 负载均衡
软件测试实验七 Web应用测试
软件测试实验七 Web应用测试
440 0
|
11月前
|
JSON 测试技术 数据格式
软件测试实验三 性能测试参考案例(下)
软件测试实验三 性能测试参考案例(下)
144 0
|
7月前
|
自然语言处理 测试技术 Python
通过Chain Prompts方式将LLM的能力引入测试平台:正交实验测试用例生成
通过Chain Prompts方式将LLM的能力引入测试平台:正交实验测试用例生成
172 0
|
9月前
|
异构计算
FPGA片内RAM读写测试实验 2
FPGA片内RAM读写测试实验
144 0
|
9月前
|
存储 异构计算
FPGA片内RAM读写测试实验 1
FPGA片内RAM读写测试实验
222 0