双机热备各场景应用
主备备份和负载分担应用场景:
主备备份和负载分担配置简介:
配置流程:
配置流程图:
三大配置原则:
- 在双机热备组网中,在配置其他业务之前必须在主备设备上先完成双机热备的所有配置,并保证双机状态正常。
- 在主备组网中,关键业务在主设备上完成配置即可,备用设备可以同步主设备的配置命令,建议割接前对比主备设备配置文件,保证双机配置一致。
- 在负载分担组网中,两个设备处于互为主备的状态,所以业务特性要在两个设备上分别配置。
hrp配置命令
1 | hrp auto-sync config //开启支持备份的配置命令(静态路由除外)的自动备份功能 |
各场景配置示例
防火墙工作在三层,上下接交换机场景(主备方式):
配置思路:
1 | 第一步:基本配置(心跳线一定要通) |
注意:如果是主备方式,默认只能在主的设备上配置。
如果需要在备的设备上配置,需要配置:hrp standby config enable。启用允许备设备配置。
vrrp 状态:
hrp的状态:
防火墙主备切换后,为什么当前的主用防火墙上有带remote标志的会话?
带remote标志的会话是由原主用防火墙备份过来的。防火墙主备切换后,原先备份过来的会话表项还是会带有remote标志,直到该会话老化。
防火墙上下接交换机(负载分担模式):
负载分担配置思路:
1 | 第一步:配置VRRP |
会话自动备份和会话快速备份有什么区别,为什么来回路径不一致必须启用会话快速备份?
会话快速备份和传统的会话实时备份的区别是:
- 会话快速备份是在会话建立的时候立即备份到备用防火墙上;会话实时备份只有当会话老化线程扫描到会话、且此会话需要备份,才会备份到备用防火墙上。
- 会话快速备份能备份TCP半连接会话。
来回路径不一致时,由于要保证两台防火墙的会话表完全相同,因此必须启用会话快速备份。
注意:当配置为负载分担时,此时防火墙显示的主备,仅仅是配置的主备。
负载分担模式HRP_A 和 HRP_S不代表主备,表示同步配置的主和配置的备。
配置负载分担时谁先成为主设备。谁就是HRP_A。当主设备down掉时,会变为HRP_S,备设备。当坏掉的主设备恢复时,不会抢占为HRP_A。
在V500版本中,在负载分担组网下,设备名称(sysname)的ASCⅡ码较小的FW会成为配置主设备。例如,FW_A与FW_B形成负载分担,FW_A会成为配置主设备。如果两条设备名称(sysname)相同,执行hrp enable命令时的时钟小为主,执行hrp enable命令时的时钟大为备。
hrp mirror session enable。开启快速备份。实时备份。
hrp auto-sync和hrp sync有什么区别?
hrp auto-sync是自动备份,默认启用,表示后续配置和状态表项将备份到备用防火墙上。该命令对当前已存在的配置和状态表项没有影响。
hrp sync则把主用防火墙当前的配置和状态表项立即备份到备用防火墙上。该命令立即生效,对后续配置和状态表项没有影响。
NAT问题讨论:
- 双机热备与NAT结合使用时,主备设备的上下行业务接口必须为三层接口。
- 负载分担场景下,当两台NGFW上都需要配置NAT地址池时,会出现NAT地址池的端口冲突问题。
- 负载分担场景下、配置地址池方式的源NAT策略时,如果只配置一个NAT地址池且不允许端口转化,两台FW可能将不同主机发来的流量的源IP地址转换成同一个IP地址,导致冲突。(解决方案为内网不同的地址范围(网关不同)转到不同的地址池)
- 静态转化(转化到直连)只有hrp active会做代理arp解析,也就是依然为主备工作模式。
- 静态转化(转化到非直连)可以使用等价多路径路由实现负载均衡。
总结:如果映射的地址关系是固定的就没有问题,动态的就需要小心处理。
防火墙工作在三层,上下接路由器(主备备份):
配置思路:
1 | 第一步:配置接口地址和hrp监控以及主备 |
防火墙工作在三层,上下接路由器(负载分担):
和主备配置的区别,主要是在每个接口监控两个组。关机ospf cost自动调整。
配置hrp mirror session enable(实时备份)。通过路由的负载分担,而实现防火墙的负载分担。
防火墙上接路由器,下接交换机(主备备份):
配置思路:
1 | 第一步:基本通信(保证直连通信) |
安全策略配置情况:
双机热备与DFD或IP-Link联动:
BFD和IP-Link就是保证链路可靠性的两种技术:
- BFD是一种轻负荷的快速故障检测机制,能实现毫秒级别的设备与相邻设备间的链路缺陷检测。由于其实现了双向检测,且检测报文体积小,只需占用少量网络资源就可以实现快速循环发送,所以故障感应更加灵敏。BFD与双机热备联动就是通过VGMP管理组监控静态BFD会话,使VGMP管理组优先级随着BFD会话的状态而变化,从而实现对远端接口故障的监控,及时触发设备的主备状态切换。
- IP-Link是指设备可以对网络中任一IP地址的可达性进行实时的侦测,当该IP地址由可达变为不可达时,可以认为通往该IP地址的链路发生故障,以此通知设备调整路由或主备状态,将业务流量切换至健康的备份链路中。IP-Link与双机热备联动就是通过VGMP管理组监控到与FW不直接相连的接口或链路状态,使VGMP管理组优先级随着IP-Link的状态而变化,从而实现对远端接口故障的监控,及时触发设备的主备状态切换。
IP-LINK(IP链路追踪)
默认方式 icmp ,还有ARP
与ip-link联动
双机热备
静态路由
策略路由
DHCP客户端
注意: ip-link如果是单播报文,需要放行安全策略
BFD:
BFD详细原理可参考:双向转发检测-BFD
检测模式:
异步模式:异步模式是BFD的主要操作模式。在这种模式下,BFD会话建立起来后,两个系统之间相互周期性地发送BFD控制报文,如果某个系统在检测时间内没有收到对端发来的报文,就认为此BFD会话的状态是Down。(默认模式)查询模式:查询模式是BFD的第二种操作模式。当一个系统中存在大量BFD会话时,为防止周期性发送BFD控制报文的开销影响到系统的正常运行,可以采用查询模式。在查询模式下,一旦BFD会话建立,系统就不再周期性发送BFD控制报文,而是通过其他与BFD无关的机制检测连通性(比如路由协议的Hello机制、硬件检测机制等),从而减少BFD会话带来的开销。
A. SDH
B. 慢HELLO机制
C. 其它检测BFD会话
四个状态
down ——init —–up —admindown两种方式:
静态BFD
动态BFD(自动生成)BFD报文:
控制报文 UDP 3784回声报文
静态BFD配置:
1 | bfd |
注意放行安全策略(单播UDP报文)
与BFD联动
双机热备
静态路由
策略路由
DHCP客户端
动态路由(OSPF ISIS BGP)
防火墙上接路由器,下接交换机(负载分担):
配置思路:
1 | 第一步:基本通信(保证直连通信) |
防火墙工作在二层,下线接路由器(负载分担):
注意:这种场景下,不建议配置主备备份。
原因:动态协议OSPF要建立邻居,路由收敛需要时间,会引发业务中断。
在FW业务接口工作在二层、上下行连接路由器的组网下,FW支持主备备份和负载分担组网,但是这种主备备份组网,不是通过hrp standby-device选取备机,而是需要在上下行路由器上合理配置OSPF路由开销值,让流量只通过一台FW转发来实现。
因为如果通过hrp standby-device来选取备机,备用FW上的VLAN被禁用,它的上下行路由器就无法进行通信,无法建立路由。这样主备切换时,备用FW就无法及时接替主用FW处理业务,导致业务中断。
配置思路:
1 | 第一步:完成基本配置 |
防火墙工作在二层,上下连接交换机(主备模式):
注意:此种常见下,不支持配置负载分担,因为相当于将四个交换机串联,会形成环路。
配置思路:
1 | 第一步:完成基本配置 |
双机热备的细节问题
与NAT配置时的问题:
双机热备与NAT结合使用时,主备设备的上下行业务接口必须为三层接口。
在主备模式下的nat问题:
如果是easy_ip 问题:
在双机热备场景中,不能使用Easy-ip。由于Easy-ip是直接使用接口的公网地址作为转换后的地址,所以在双机热备场景中,如果使用Easy-ip,NAT转换后的地址是主机的接口IP地址。因为备机上没有主机的接口IP地址,所以主机的会话备份到备机后是不可用的。上行设备进行ARP学习时,学到的是主机MAC地址,并没有学习到备机MAC地址。因此,在双机热备场景中是不能使用Easy-ip的。
双机热备时,NAT Server时需加VRRP参数(老USG防火墙)—-淘汰技术
当双机热备配置Nat-server或源nat且nat的global地址和vrrp虚地址在同一网段时,要配置nat与vrrp备份组的绑定,否则当arp请求NAT的global地址时,主备设备都会以自己的实际MAC地址回应,会导致数据包一会儿走主一会走备造成业务中断,NGFW默认已经绑定了的。
负载分担下的nat问题:
地址冲突问题:
负载分担场景下,配置地址池方式为源 NAT 策略时,如果只配置一个 NAT 地址池且不允许端口转换,两台 FW 可能会将不同主机发来的流量的源IP地址转换成同一个 IP 地址,导致冲突。(解决方案为内网不同地址范围(网关不同)转到到不同地址池)
端口冲突问题:
双机热备场景下,NAT地址池不允许包含主机、备机接口的IP地址。如果NAT地址池包含了接口的IP地址,上行设备请求该地址池IP的ARP的时候,主机和备机都会回应,导致ARP冲突。
双机热备中的Eth-trunk问题:
1. 做心跳线 (可以):
如果用Eth-Trunk接口作为心跳口,一定记得在Eth-Trunk接口下配置load-balance packet-all配置Eth-Trunk接口的负载分担模式为逐包负载分担。
原因:如果Eth-Trunk接口采用逐流负载分担,因为心跳报文的源和目的地址都是固定的,报文始终是从某一个物理接口发送,达不到多个物理接口共同分担流量的目的。
1 | 配置: |
2. 配置VRRP采用Eth-trunk :
查阅V500R001C30的文档,得到hrp track interface命令监控的是接口的物理状态,而配置hrp track interface eth-trunk 1命令后,成员端口down,eth-trunk端口状态还是up的,双机仍然出现了切换。说明该命令在监控eth-trunk的同时,监控了成员端口。查看监控eth-trunk的技术细节描述时得到:如果在系统视图下配置了hrp track Eth-Trunk接口的命令,当Eth-Trunk接口的成员接口发生故障时,即使Eth-Trunk接口本身仍然是UP状态,也会触发HRP主备倒换。如果关闭了HRP监控Trunk成员接口状态的功能(undo hrp track trunk-member enable),只要Eth-Trunk接口本身还是UP状态,则不会触发HRP主备倒换。缺省情况下,开启HRP监控Trunk成员接口状态的功能,并且对所有的Eth-Trunk接口生效。
1 | 执行undo hrp track trunk-member enable后,进行成员端口关闭测试,双机系统未发生切换,配置满足需求 |
3. IP-Link的下一跳是Eth-trunk:
IP-Link的下一跳为Eth-trunk时,也必须改为逐包。
或者每个成员的接口。
虚拟MAC到底开启还是不开启:
缺省情况下,NGFW禁用虚拟MAC地址功能。
配置VRRP的虚拟IP地址后,设备将会生成一个虚拟MAC地址。虚拟MAC地址是设备根据VRID生成的MAC地址,格式为:00-00-5E-00-01-{VRID}。一个VRID对应一个虚拟MAC地址。
双机热备份状态形成后,NGFW在发送VRRP报文时,以及主备状态切换后NGFW发送免费ARP报文时,将会使用虚拟MAC地址对报文进行封装。当NGFW对用户业务报文进行三层转发时,将会使用接口的实际MAC地址对报文进行封装。
由于NGFW使用接口的实际MAC地址对用户业务报文进行封装,在某些场景中将会导致问题。例如,NGFW的上下行设备存在四层交换机时,由于四层交换机上也会建立类似会话表的连接状态表,连接状态表中会记录从NGFW发送过来的报文的源MAC地址,也就是NGFW接口的实际MAC地址。当四层交换机发送报文时,直接根据状态记录表中的MAC地址(NGFW接口的实际MAC地址)来填充报文的目的MAC,然后将报文发送出去。
主备状态发生切换时,四层交换机不会自动更新状态记录表中的MAC地址,因此还会将报文发送至原来的主用设备,导致业务中断。
在上述场景中,可以在接口上启用虚拟MAC功能,使NGFW接口发送的报文都使用虚拟MAC地址来封装,四层交换机上记录的也是虚拟MAC地址。这样在主备状态切换时,业务报文的源MAC地址不会发生变化,从四层交换机发送的报文也会被正确的转发至新的主用设备上,业务不会中断。
双机热备中日志发送的机制:
双机热备状态形成后,输出会话日志时遵循的原则是会话在哪台FW上创建,就由哪台FW输出会话日志。当两台FW工作在主备状态时,主用FW输出会话日志,备用FW接收备份过来的会话信息,不输出会话日志;当两台FW工作在负载分担状态时,两台FW上只要新创建了会话,会话老化后都会输出会话日志。
双机热备和其他特性结合使用时的注意事项
与DHCP结合使用的限制:
双机热备负载分担场景下,FW不能作为DHCP服务器。
双机热备场景下,只有主备状态和VRRP备份组状态均为Active的设备才会响应客户端的DHCP请求,为客户端分配IP地址。但负载分担组网下,存在两台设备的主备状态和VRRP备份组均为Avtive的情况。此时,两台设备均会响应DHCP客户端的请求报文,由于两台设备使用相同的DHCP地址池,所以可能发生同一IP被分配给不同的DHCP客户端导致地址冲突的情况。
与IP Sec结合使用的限制:
- 在双机热备的主备备份场景中,通过ipsec policy policy-name命令将安全策略组应用在指定接口上。在命令备份时,该命令将会从主机备份到备机;在双机热备的负载分担场景中,通过ipsec policy policy-name { alone | master | slave }命令将安全策略组应用在指定接口上。在命令备份时,该命令不会被备份。
- 如果设备作为IPSec隧道发起方,则必须要执行命令tunnel local ip-address,设置本端发起协商的地址为VRRP备份组的虚拟IP地址。如果不配置该命令,则本身发起协商的地址默认为接口的IP地址,双机主备倒换后,会导致IPSec业务中断。
- 双机热备组网下,如果主机出现故障重启会触发主备倒换,IPSec业务切换到备机上承载。待主机重启完成后,备机的IPSec SA会批量备份到主机,但IPSec SA批量备份需要一定的时间。如果设备开启了VGMP管理组的抢占功能,则当IPSec SA数量较大(超过10000)时,会出现主机完成了抢占,但IPSec SA还未完全从备机备份到主机的情况发生 ,导致IPSec业务异常。因此,当IPSec SA数量较大时,建议将抢占延迟配置为一个较大的值(推荐配置抢占延迟时间为300秒)或关闭抢占功能。
- 在IPSec双机热备组网场景下,不能使用hrp switch命令手动切换双机的主备状态。若切换后的主设备重启,备机在没有从主机备份IPSec隧道信息的情况下直接成为主机,会造成IPSec业务中断。
- 在LTE IPSec场景下,建议使用re-authentication interval命令将IKEv2协商的老化时间(进行重认证的时间间隔)配置为比基站老化时间大15%。避免设备在主备备份期间因收到基站的重协商报文而执行主备倒换,若备机未完全同步主机配置,可能会造成IPSec业务中断。
与SSL VPN结合使用的限制和注意事项:
- 双机热备与SSL VPN结合使用时,主备设备虚拟网关的本地证书必须是同一本证书,否则主备切换时,SSL VPN业务不能正常切换。
- 双机负载分担场景下不支持SSL VPN功能。
- 双机主备倒换后,SSL VPN当前访问的业务会中断,需要重新发起业务访问。
与NAT结合使用的限制:
- 双机热备组网下,不支持NAT地址池探测功能。
- 双机热备的负载分担场景下,当NAT方式是NAPT模式时,必须在一台FW上配置hrp nat resource primary-group命令,另外一台FW上配置hrp nat resource secondary-group命令,将地址池中地址的端口分为前后两端,保证NAT地址池端口不冲突。
- 双机热备的负载分担场景下,当NAT方式是NAT NO-PAT模式时,必须执行nat resource load-balance enable命令,将地址和端口的分配转移到同一台设备上执行,保证两台设备分配到的地址和端口不冲突。 开启该命令后,心跳口的流量会有所增加(增加大小视现网业务大小而定,一般为首包流量大小),需要确定心跳口的带宽是否足够。
- 双机热备场景下,NAT地址池不允许包含主机、备机接口的IP地址。如果NAT地址池包含了接口的IP地址,上行设备请求该地址池IP的ARP的时候,主机和备机都会回应,导致ARP冲突。
- 在负载分担方式的双机热备组网中,地址池模式不能为三元组模式(包括静态映射),只能为PAT模式(包括端口预分配)和NO-PAT模式。
- 在双机热备场景中,不能使用Easy-ip。由于Easy-ip是直接使用接口的公网地址作为转换后的地址,所以在双机热备场景中,如果使用Easy-ip,NAT转换后的地址是主机的接口IP地址。因为备机上没有主机的接口IP地址,所以主机的会话备份到备机后是不可用的。上行设备进行ARP学习时,学到的是主机MAC地址,并没有学习到备机MAC地址。因此,在双机热备场景中是不能使用Easy-ip的。
参考文档:华为HedEx文档,V500R004C00