场景三:客户规划将现有的1台路由器更换为2台工业防火墙,在不改变网络拓扑的情况下增加安全性,同时2台二层交换机位置和配置均保持不变,此种组网方式下双机热备(HA)应该如何部署?
场景四:客户规划在现有的2台二层交换机之间部署2台工业防火墙,在不改变网络拓扑的情况下增加安全性,同时2台二层交换机位置和配置均保持不变,此种组网方式下双机热备(HA)应该如何部署?
场景五:客户规划在现有的2台三层交换机之间部署2台工业防火墙,在不改变网络拓扑的情况下增加安全性,同时2台三层交换机位置和配置均保持不变,此种组网方式下双机热备(HA)应该如何部署?
双机,是相对于单机来说的。单机容易形成单点故障,用两台设备来进行可用性的服务能力建设,也称为双机高可用。双机高可用的初衷是业务不间断运行,现在也用来应对高并发业务处理等服务。
热备,是相对于冷备来说的。冷备恢复业务需要手动修改IP,甚至是重新连线。恢复过程类似于网络割接,业务恢复时间依赖于人的手速。
HA(High Availability)高可用,初衷是为了满足业务不间断运行方面的服务能力的建设,可用性99%(年停机时间3.65天),可用性99.9%(年停机时间8.76小时),可用性99.99(年停机时间52.56分钟)。工业现场对可用性的要求是100%,可以有计划的正常业务暂停,但不能出现非预期的异常业务中断。否则极易导致经济损失及人员伤亡,造成的损失可能难以估量或无法承受。
① 需求:将2台路由器更换为2台工业防火墙,不改变网络拓扑及现有设备配置,进行双机热备(HA)部署。
② 方案
方案1:工业防火墙采用路由模式部署,双机热备(HA)采用主备备份方式。
方案2:工业防火墙采用路由模式部署,双机热备(HA)采用主主负载方式。
③ 原理
方案1:主备备份方式,FW1将VRRP11和22的优先级都设置为100,FW2将VRRP11和22的优先级都设置为50,优先级为100的FW1成为VRRP11和12的主,所有流量都流经FW1处理。
方案2:主主负载方式,FW1将VRRP11优先级设置为100,VRRP22优先级设置为50。FW2将VRRP11优先级设置50,VRRP22优先级设置为100。
当上位机1访问PLC1时,走VRRP22优先级为100的FW2,流量从PLC1返回的时,走VRRP11优先级为100的FW1,此时流量就同时分担到了FW1和FW2。
① 需求:将2台路由器更换为2台工业防火墙,不改变网络拓扑及现有设备配置,进行双机热备(HA)部署。
② 方案
方案1:工业防火墙采用路由模式部署,与交换机之间运行OPSF,双机热备(HA)采用主备备份方式。
方案2:工业防火墙采用路由模式部署,与交换机之间运行OPSF,双机热备(HA)采用主主负载方式。
③ 原理
方案1:主备备份方式,此时备墙不建立OSPF邻居,主墙故障时备墙重新建立OSPF邻居。
方案2:主主负载方式,此时两台墙的负载分担完全由OSPF接管,按照动态路由协议流转。
① 需求:将1台路由器更换为2台工业防火墙,不改变网络拓扑及现有设备配置,进行双机热备(HA)部署。
② 方案:工业防火墙采用路由模式部署,FW1与FW2业务口的IP地址相同,双机热备(HA)只能采用主备备份方式,某些厂商也把这种模式称为镜像模式。称为镜像模式的原因是,因为除了心跳口地址外,其他配置几乎一模一样,可以把两台墙看成是一台墙。为了便于大家理解,我就不引入新的概念了,全文依然是只有主备备份方式和主主负载方式。
③ 原理:主备备份方式,此时FW1与FW2同一时间,只有一台工业防火墙在工作。双机热备(HA)形成之后,所有配置(包括地址、路由、策略等)都只需在一台工业防火墙上配置,然后配置会自动备份给另外一台工业防火墙。
① 需求:在2台交换机之间部署2台工业防火墙,不改变网络拓扑及现有设备配置,进行双机热备(HA)部署。
② 方案:工业防火墙采用透明桥模式部署,双机热备(HA)采用主备备份方式。
③ 原理:主备备份配置时,备墙不参与RSTP计算,也不透传BPDU,交换机没有阻塞接口,防环机制由备墙承担。因为备墙不进行业务转发,所以最终效果是主备备份效果。
主主负载配置时,备墙不参与RSTP计算,但是透传BPDU,交换机有阻塞接口,防环机制由交换机管理。因为连接交换机阻塞接口的墙不转发业务,所以效果也是主备备份效果。
① 需求:在2台交换机之间部署2台工业防火墙,不改变网络拓扑及现有设备配置,进行双机热备(HA)部署。
② 方案:工业防火墙采用透明桥模式部署,双机热备(HA)采用主主负载方式。
③ 原理:工业防火墙工作在透明桥模式,数据通过相关检查后,会直接进行透传转发。业务的负载分担主要是由链路捆绑技术来控制,可以配置基于源/目的+IP/MAC的组合方式将流量分散到不同的链路上,避免流量都走同一条路径造成流量的拥塞;双机热备(HA)起到了辅助配合的效果,比如通过会话快速备份保证来回路径不一致时业务仍正常持续转发。
在2台二层交换机之间部署工业防火墙,上位机与PLC位于不同网段,不改变网络拓扑及现有设备配置,工业防火墙采用路由模式部署。
方案1:工业防火墙采用路由模式部署,双机热备(HA)采用主备备份方式。
方案2:工业防火墙采用路由模式部署,双机热备(HA)采用主主负载方式。
FW1双机热备(HA)配置:
FW2双机热备(HA)配置:
FW1双机热备(HA)配置:
FW2双机热备(HA)配置:
3、验证说明
① 方案1:主备备份方式,ICMP(ping)验证,故障切换ping不丢包分别在FW1与FW2抓包:正常时业务都走FW1
其中,10.2.2.10是上位机1,10.1.1.10是PLC1
FW1故障时业务流量平滑切换到FW2,在21:15:46时FW1的流量结束,21:15:47时流量已切换到FW2上,此切换过程在1s以内完成了。
故障切换时验证TCP(ssh/telnet)业务同样不会出现中断。
上位机1(10.2.2.10)ssh PLC1(10.1.1.10),FW1故障,连接不中断。
上位机1(10.2.2.10)telnet PLC2(10.1.1.20),FW1故障,连接不中断。
② 方案2:主主负载方式,ICMP(ping)验证,故障切换ping不丢包
在FW1与FW2抓包:正常时request走FW2,reply走FW1
其中,上位机1是10.2.2.10,PLC1是10.1.1.10
FW1故障时业务流量平滑切换到FW2,在18:47:11时FW1的流量结束,18:47:12时流量已切换到FW2上,此切换过程在1s以内完成了
故障切换时验证TCP(ssh/telnet)业务同样不会出现中断
上位机1(10.2.2.10)ssh PLC1(10.1.1.10),FW1故障,连接不中断
上位机1(10.2.2.10)telnet PLC2(10.1.1.20),FW1故障,连接不中断
4、主备备份方式和主主负载方式 ,产品设计和实现应该注意什么?主备备份方式,应该注意工业防火墙上VRRP同步切换的问题,即在同一台工业防火墙上所有VRRP应该保持状态一致。假如工业防火墙上的VRRP未进行状态同步切换,当FW1的G0/0/2接口故障时,VRRP11发生状态切换。FW1的VRRP11状态切换成Fault状态,同时FW2的VRRP11切换成Active状态。
这样FW2成为VRRP11中的主,并向SW3发送免费ARP报文,刷新SW3中的MAC表项。此时PLC1访问上位机1的报文就通过FW2转发了。但是由于FW1与SW4之间的链路是正常的,所以VRRP22的状态是不变的,FW1仍然是VRRP22的主,而FW2是VRRP22的备。
因此上位机1返回给PLC1的回程报文依然会转发给FW1,而FW1的下行接口GE0/0/2是故障的,所以FW1只能丢弃此回程报文,这将导致业务流量中断。
主主负载方式,相对与主备备份方式,我觉得在产品设计上最容易被忽视的是会话快速备份,会话快速 备份功能可以解决来回路径不一致场景时,可能把第一个回包丢弃的问题,如下图所示:
5、熟悉传统墙的小伙伴,也许会想到一种比较老的负载方法,这里说一下新老负载分担的区别新负载分担,FW1有2个VRRP(VRRP11网关1.254和VRRP22网关2.254),每个区域只需要设置1个网关(PLC1和PLC2网关都是1.254)就可以有负载分担效果。
老负载分担,FW1有4个VRRP(VRRP11网关1.254、VRRP1网关1.253、VRRP22网关2.254、VRRP2网关2.253),每区域需要设置2个网关(PLC1网关为1.254、PLC2网关为1.253)才可以有负载分担效果。
老负载分担是有一定局限性的,区域内的主机有2个网关,意味着一部分PLC设置网关A,一部分PLC设置网关B,这在工业场景几乎是不可以接受的。如果是新规划的客户环境,应该会有一定的实施空间,但后面的扩展性非常不佳,所以不太适合工业场景。
在2台三层交换机之间部署工业防火墙,上位机与PLC位于不同网段,不改变网络拓扑及现有设备配置,工业防火墙采用路由模式部署。
方案1:工业防火墙采用路由模式部署,与交换机之间运行OPSF,双机热备(HA)采用准备备份方式。
方案2:工业防火墙采用路由模式部署,与交换机之间运行OPSF,双机热备(HA)采用主主负载方式。
FW1双机热备(HA)配置:
FW2双机热备(HA)配置:
FW1双机热备(HA)配置:
FW2双机热备(HA)配置:
① 两台墙的心跳口采用直连的形式对接,避免备份报文从其他设备转发,也起到一定程度的防重放攻击;这也是有些厂商支持心跳口不直连(加一层UDP封装),但仍会强烈建议心跳口直连的原因。
② 由于心跳口不需要跑业务,所以心跳口无需配置度量值,也不要运行OSPF等路由协议。
① 当两台墙性能有差距,应在性能较优的墙上配置抢占,保证业务始终在高性能设备上转发。实际这种情况是很少发生的,因为双机热备(HA)各厂商基本都会要求两台设备一模一样(也包括性能)。
② 当两台墙性能一样时,谁作为主墙都没有转发瓶颈时,可以不配置抢占,因为切换次数少对保持业务稳定有一定好处的。实际对业务的影响也并不会太大,调优的时候可以作为一个参考项。
在2台三层交换机之间部署工业防火墙,上位机与PLC位于不同网段,尽量不改变现有的网络拓扑和配置,工业防火墙采用路由模式部署。
方案:工业防火墙采用路由模式部署,FW1与FW2业务口的IP地址相同,双机热备(HA)只能采用主备备份方式。
FW1双机热备(HA)配置:
FW2双机热备(HA)配置:
① 主备备份方式,ICMP(ping)验证,故障切换ping丢1个包(延迟4s)分别在FW1与FW2抓包:正常时业务都走FW1
其中,10.2.2.10是上位机1,10.1.1.10是PLC1
FW1故障时业务流量平滑切换到FW2,在11:29:39时FW1的流量结束,11:29:44时流量已切换到FW2上,此切换过程在5s以内完成了(ping丢1个包)
故障切换时验证TCP(ssh/telnet)业务同样不会出现中断。
上位机1(10.2.2.10)ssh PLC1(10.1.1.10),FW1故障,连接不中断。
上位机1(10.2.2.10)telnet PLC2(10.1.1.20),FW1故障,连接不中断。
必须是,因为要求太苛刻了。准确来说同厂商的不同型号也不行,因为可能硬件型号、接口编号等有变化,或者软件版本、配置命令等有变化。所以,不同厂商互相做双机热备(HA)就更是不可能了。
5、如果故障切换后,客户业务异常(业务中断or业务变慢),可能是什么原因导致的?
六方云专家建议从下面3个方面分析:
① 检查状态切换是否成功。旧备墙接替旧主墙成为新主,说明状态切换成功。状态切换失败的可能原因有:没有配置心跳口、心跳口故障、心跳链路不通、心跳口所在接口卡故障、CPU或Memory负载严重、心跳口流量超过带宽等。
业务相关的配置和状态完整,说明信息同步成功。信息同步失败的可能原因有:未开启会话快速备份功能、硬件配置不一致、软件版本不一致、关键配置不一致等。
接口能抓到业务相关的报文,说明流量引导成功。上下行是二层交换机场景,流量引导失败的可能原因有:主机网关配置为墙地址(应为VRRP的vIP),或交换机启用了防ARP欺骗(例ARP表项固化等特性应关闭)等。
上下行是三层交换机场景,流量引导失败的可能原因有:路由协议收敛慢导致(例OSPF应调整hello-interval和dead-interval)等。
06.
典型案例-场景四
1、任务说明
在2台二层交换机之间部署工业防火墙,上位机与PLC位于相同网段,尽量不改变现有的网络拓扑和配置,工业防火墙采用透明桥模式部署。
方案:工业防火墙采用透明桥模式部署,双机热备(HA)采用主备备份方式。
FW1双机热备(HA)配置:
FW2双机热备(HA)配置:
① 主备备份方式,ICMP(ping)验证,故障切换ping丢1个包(抓包延迟4s)正常时的主备备份效果:所有业务都走FW2
其中,10.1.1.20是上位机1,10.1.1.10是PLC1
异常时的主备备份效果:所有业务平滑切换到FW1,10.2.2.20是上位机1,10.1.1.10是PLC1,在21:53:29时FW1的流量结束,21:53:34开始流量已平滑切换到FW1上,此切换过程在5s以内完成了。
故障切换时验证TCP(ssh/telnet)业务同样业务不会出现中断。
上位机1(10.1.1.20)ssh PLC1(10.1.1.10),FW2故障,连接不中断。
上位机2(10.2.2.20)telnet PLC2(10.2.2.10),FW2故障,连接不中断。
① 不支持,准确来说是配置了主主也没有负载分担效果因为即使是主主负载方式配置,RSTP也会阻塞交换机的一个端口(阻塞SW4的G1/2)
所以无论是主备备份方式还是主主负载方式,同一时刻都只有一台墙在转发业务。
5、主备备份方式中,如何保证主备切换时业务不中断?① 做好配置信息同步,即配置的各种策略(安全策略、NAT策略、ACL策略等)
② 做好会话信息同步,即各种状态化信息(建立的、后续的、返回的、额外的等)
07.
典型案例-场景五
在2台二层交换机之间部署工业防火墙,上位机与PLC位于不同网段,不改变网络拓扑及现有设备配置,工业防火墙采用路由模式部署。
方案:工业防火墙采用透明桥模式部署,双机热备(HA)采用主主负载方式。
FW1双机热备(HA)配置:
FW2双机热备(HA)配置:
① 主主负载方式,ICMP(ping)验证,故障切换ping不丢包分别在SW4的1口和2口抓包:正常时上位机1的业务走FW1,上位机2的业务走FW2
SW4的1口抓到:上位机1(10.2.2.10)到PLC1(10.1.1.10)
SW4的2口抓到:上位机2(10.2.2.11)到PLC1(10.1.1.10)
FW1故障时业务流量平滑切换到FW2,在11:59:12时FW1的流量结束,11:59:13时流量已切换到FW2上,此切换过程在1s以内完成。
故障切换时验证TCP(ssh/telnet)业务同样不会出现中断。
上位机1(10.2.2.10)ssh PLC1(10.1.1.10),FW1故障,连接不中断。
上位机1(10.2.2.10)telnet PLC2(10.1.1.20),FW1故障,连接不中断。
4、工业防火墙透明桥模式时,上下三层交换机运行OSPF,可以使用主备备份方式吗?
① 此场景不支持主备备份方式,只支持主主负载方式(负载分担)。
② 如果墙工作于主备备份方式,备墙上的接口将被禁用,连接交换机的接口就无法进行通信,无法建立OSPF路由。这样当主备切换时,新的主墙(原备墙)的接口被启用,它的上下行交换机才开始新建OSPF路由,而OSPF路由的新建需要一定的时间,所以会导致业务的暂时中断,工业场景中不太容易被接受。
5、大家经常纠结的问题是,应该选择主备备份方式还是主主负载方式,有什么参考依据吗?
① 如果两种方式都能正常承担业务流量,且客户又没有特殊需求,一般推荐部署主备备份方式。
② 如果客户组网的其他部分(核心交换机和接入交换机)部署了负载分担,那么客户一般也会要求工业防火墙部署成主主负载方式。
③ 如果工业防火墙承担业务转发时,资源(CPU、Memory、Disk)和规格(性能指标)经常达到了70%以上,建议调整成主主负载方式。
④ 当工业防火墙启用APP、IPS、AV等内容安全功能后,性能会有所下降。如果一台墙的转发性能下降到低于业务总容量时,则必须调整成主主负载方式。
六方云专家总结:
双机热备(HA)作为“万无一失”的方案选项,除了要考虑各种场景的支持,机制本身的可靠性需要得到更高的重视。当工业防火墙产品内部出现错误,导致不转发业务等情况时,必须能够做出故障切换。这里说的内部错误可以包括,但不限于:内存泄漏、死循环、管理平面或数据平面异常、软件狗或硬件狗饿死、芯片错误等等。
双机热备(HA)组网部署,要使用缺省配置开始操作,避免因配置不一致导致错误。同时,在实施完毕后要做故障切换,验证备墙有能力接替业务转发工作。故障模拟可以包括down掉接口、拔掉网线、整机重启等,在验证过程中业务流量能平滑引导到备墙。故障恢复后主墙可以成功进行抢占,切回来的业务仍能稳定运行。
如此重视实施部署时的故障切换,是因为后续没有机会再切换试效果了。为避免真出现问题时出现互相扯皮现象,在离开客户现场前做故障切换至关重要,此时仍处于设备上线的网络割接时间段内,可以有相对充足的时间进行验证,能为后续现网出现问题时铺平道路,也能让大家做到心里有底。