【Ensp pro模拟实验】华为FW防火墙双机热备-HRP-1

双机热备(概念)

随着移动办公、网上购物、即时通讯、互联网金融、互联网教育等业务蓬勃发展,网络承载的业务越来越多,越来越重要。所以如何保证网络的不间断传输成为网络发展过程中急需解决的一个问题。

如图1中的左图所示,FW部署在企业网络出口处,内外网之间的业务都会通过FW转发。如果FW出现故障,便会导致内外网之间的业务全部中断。由此可见,在这种网络关键位置上如果只使用一台设备的话,无论其可靠性多高,都存在因设备单点故障而导致网络中断的风险。

于是,在做网络架构设计时,通常会在网络的关键位置部署两台网络设备,以提升网络的可靠性。如图1中的右图所示,当一台FW出现故障时,流量会通过另外一台FW所在的链路转发,保证内外网之间业务正常运行。
图1 双机部署提升网络可靠性
如果是传统的网络设备(如路由器、三层交换机),只需要在两台设备上做好路由的备份就可以保证业务的可靠性,即当一台设备出现故障时,另一台设备能够接替故障设备处理业务,保证业务不中断。

而FW是状态检测设备,他会对一条流量的首包(第一个报文)进行完整的检测,并建立会话来记录报文的状态信息(包括报文的源IP、源端口、目的IP、目的端口、协议等)。而这条流量的后续报文只有匹配会话才能够通过FW并且完成报文转发,如果后续报文不能匹配会话则会被FW丢弃。所以当FW双机部署时还需要考虑两台FW之间的会话等状态信息的备份。

FW的双机热备功能可以完美的解决以上问题。

如图2所示,FW的双机热备功能会提供一条专门的备份通道,用于两台FW之间协商主备状态,以及会话等状态信息和配置命令的备份。

双机热备主要包括主备备份和负载分担两种方式。

如图2所示,主备备份是指正常情况下仅由主用设备处理业务,备用设备空闲;当主用设备接口、链路或整机故障时,备用设备切换为主用设备,接替主用设备处理业务。

图2 双机热备保证业务不中断

ensp pro部署环境

设备版厄本
vitualboxvirtualbox7.08
ensp proeNSP Pro V100R001C00
USGUSG V100R022C00
CEV100R022C00

以上virtual box与ensp pro必须安装,USG/CE设备可以在沙箱中拉取,此处主要为验证ENSP的HRP功能

进入沙箱创建拓扑

1、创建沙箱
沙箱创建
使用过老版的ensp的知道比较相似与老版本的添加拓扑,这里的沙箱会默认保存,同时支持沙箱的导入导出功能,比较类似老版ensp的拓扑迁移

2、添加沙箱USG设备,用添加连线将其互联
USG添加拓扑构建
受到设备性能的影响,16G内存在Ensp pro中只打开了3-4设备就会出现卡顿,建议大家根据自身电脑的性能去调试拓扑中网元数目,设备启动期间我们规划下设备配置

USG基线规划

网络设备本地接口对端接口对端设备
USG-MasterG0/0/0G0/0/0USG-Slaver
Core交换机GE1/0/1GE0/0/1USG-Maste
GE1/0/2GE0/0/1USG-Slaver

Core交换机用来和USG设备互联,USG防火墙使用eth-trunk接口和Core核心交换机对接

USG&Switch地址分配

网络设备本地接口对端接口对端设备地址划分链路作用
USG-MasterG0/0/0G0/0/0USG-Slaver1.1.1.1-2/30HRP心跳
Core交换机GE1/0/1GE0/0/1USG-Maste192.168.11.11-12/24互联地址
Core交换机GE1/0/2GE0/0/1USG-Slaver192.168.11.14-15/24互联地址

配置交换机心跳口接口

进入USG-Master中

interface GE0/0/0
 ip address 1.1.1.1 255.255.255.252
 service-manage ping permit      //防火墙默认关闭接口的ping服务需要手动开启
 service-manage ssh permit 
 service-manage https permit  //一般来说配置service permit服务在安全策略允许的情况下会对外开放

进入至USG-Slaver中

interface GE0/0/0
 ip address 1.1.1.2255.255.255.252
  service-manage ping permit      //防火墙默认关闭接口的ping服务需要手动开启

验证直连接口的联通性

进入任意一台USG中ping本地接口(1.1.1.1)和对端接口(1.1.1.2)的地址

[USG-Master-GE0/0/0]ping 1.1.1.1 
  PING 1.1.1.1: 56  data bytes, press CTRL_C to break
    Reply from 1.1.1.1: bytes=56 Sequence=1 ttl=255 time=28 ms
    Reply from 1.1.1.1: bytes=56 Sequence=2 ttl=255 time=1 ms
    Reply from 1.1.1.1: bytes=56 Sequence=3 ttl=255 time=1 ms

  --- 1.1.1.1 ping statistics ---
    3 packet(s) transmitted
    3 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 1/10/28 ms

其本地ping测试正常,验证直连的对端地址1.1.1.2

[USG-Master-GE0/0/0]ping 1.1.1.2 
  PING 1.1.1.2: 56  data bytes, press CTRL_C to break
    Request time out
    Request time out

  --- 1.1.1.2 ping statistics ---
    2 packet(s) transmitted
    0 packet(s) received

直连对端地址不通,因为ARP表项中已经学习到对端的ip及mac地址信息,分析是由防火墙的安全策略导致的,

USG上配置策略

USG-Master上配置

[USG-Master]firewall zone dmz            //进入视图,USG上有 local/trust/dmz/untrust 以及自定义区域
[USG-Master-zone-dmz] add interface GE0/0/0                //将互联接口划入指定的区域
[USG-Master-zone-dmz]quit
[USG-Master]security-policy                               //进入安全策略视图
[USG-Master-policy-security]rule name permit-hrp         //配置安全策略名称permit-HRP
[USG-Master-policy-security-rule-permit-hrp]source-zone dmz       //策略允许的源区域
[USG-Master-policy-security-rule-permit-hrp]source-zone local       
[USG-Master-policy-security-rule-permit-hrp]source-zone trust
[USG-Master-policy-security-rule-permit-hrp]destination-zone dmz  //策略允许访问的目的区域
[USG-Master-policy-security-rule-permit-hrp]source-address 1.1.1.1 mask 255.255.255.255     //允许的源地址
[USG-Master-policy-security-rule-permit-hrp]destination-address 1.1.1.2 mask 255.255.255.255    //允许访问的目的地址
[USG-Master-policy-security-rule-permit-hrp]service any         //配置该命令为放行HRP心跳报文的端口
[USG-Master-policy-security-rule-permit-hrp]action permit        //动作放行

USG-Slaver上配置

[USG-Slaver]security-policy 
[USG-Slaver-policy-security]rule name permit-hrp
[USG-Slaver-policy-security-rule-permit-hrp]source-zone dmz
[USG-Slaver-policy-security-rule-permit-hrp]source-zone local
[USG-Slaver-policy-security-rule-permit-hrp]source-zone trust
[USG-Slaver-policy-security-rule-permit-hrp]destination-zone dmz
[USG-Slaver-policy-security-rule-permit-hrp]source-address 1.1.1.2 mask 255.255.255.255
[USG-Slaver-policy-security-rule-permit-hrp]destination-address 1.1.1.1 mask 255.255.255.255
[USG-Slaver-policy-security-rule-permit-hrp]service any         //配置该命令为放行HRP心跳报文的端口
[USG-Slaver-policy-security-rule-permit-hrp]action permit

验证其连通性,查看安全策略命中情况

登录USG-Master ping直连对端的心跳地址

[USG-Master]ping 1.1.1.2 
  PING 1.1.1.2: 56  data bytes, press CTRL_C to break
    Reply from 1.1.1.2: bytes=56 Sequence=1 ttl=255 time=63 ms
    Reply from 1.1.1.2: bytes=56 Sequence=2 ttl=255 time=69 ms
    Reply from 1.1.1.2: bytes=56 Sequence=3 ttl=255 time=64 ms
    Reply from 1.1.1.2: bytes=56 Sequence=4 ttl=255 time=67 ms
    Reply from 1.1.1.2: bytes=56 Sequence=5 ttl=255 time=82 ms

  --- 1.1.1.2 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 63/69/82 ms

查看Security policy的命中

[USG-Master]display security-policy rule all 
2023-11-09 10:05:44.404 
 
Total:2 
RULE ID  RULE NAME                         STATE      ACTION       HITS        
------------------------------------------------------------------------------- 
1        permit-hrp                        enable     permit       2            
0        default                           enable     deny         0           
-------------------------------------------------------------------------------

查看到配置的permit-hrp策略动作(action)为 permit放行的,命中的记录HITS是有记录值的

配置HRP

HRP配置信息

Master设备配置

[USG-Master]hrp authentication-key xxxxxxxx       //HRP的认证密钥用于验证设备之间的通信,以确保通信的安全性和完整性
[USG-Master]hrp enable
[USG-Master]hrp standby config enable                //打开standby设备的配置保存,如下
[USG-Master]hrp interface GE0/0/0  remote 1.1.1.2    //配置心跳接口,对端地址,参照地址分配表

Slaver设备配置

[USG-Slaver]hrp authentication-key xxxxxxxx       //HRP的认证密钥用于验证设备之间的通信,以确保通信的安全性和完整性
[USG-Slaver]hrp enable
[USG-Slaver]hrp standby config enable                //打开standby设备的配置保存,如下
[USG-Slaver]hrp interface GE0/0/0  remote 1.1.1.1    //配置心跳接口,对端地址,参照地址分配表

配置完成后FW的视图将变化为
HRP_M[USG-Master]
HRP_S[USG-Slaver]
即增加了视图的 HRP_* 前缀,M/S代表主备关系,登录设备发现出现M/S前缀,验证主从关系

验证:查看HRP状态信息

登录Master设备

HRP_M[USG-Master]display hrp state          
2023-11-10 08:20:48.450 
 Local role: Active, Peer role: Standby
 Local priority: 4:0, Peer priority: 5:0
 Connection state: succeeded
 Stable time: 0 day, 0 hour, 33 minutes
 Last state change information: 2023-11-10 15:47:12 The HRP core state changed due to "Peer priority changed". (old_state=standby, new_state=active, local_fault_indicator=4, local_robustness_indicator=0, peer_fault_indicator=5, peer_robustness_indicator=0)

以上信息看到 local-role:Active是主用设备,peer:Standby 是备用设备,包含了本地和对端的优先级数,HRP的维持时间,以及对后一次状态改变时间,备份设备同理。

FAQ问题答疑

一、Master-Slaver 主备设备的选举是设备自行选举么?是否可以手动指定?选举的标准是什么?

答:选举是可以自动可以手动的,但是产品不建议手动指定主备,ensp pro配置来看配置指定后,设备默认自身为Slaver设备,会影响备份设备在主设备宕机后的抢占行为,但也可能是ensp pro本身的问题(模拟器环境)HRP-2实验将会介绍手动指定和主备切换的命令,从自动选举的标准是根据优先级,原理是对比,系统或设备的模块故障和鲁棒性(Robustness)统计表根据数值决定主备关系

二、模拟器中是否存在bug导致HRP的主从影响主从关系协商?如何避免?

答:有可能,HRP配置比较简单,心跳口能通HRP关系就能正常建立,衡量标准是查看HRP的状态,只要display hrp state的命令回显,local 和peer中任意有一个Active和Standby就说明协商成功,本次模拟我出现过 local 本段状态 Standby 对端 unknow 情况,可视心跳口是可以通信的,解决办法重新创建沙箱,重新配置

三、对于安全策略即Security-policy的配置原理是什么?默认策略是什么,是什么导致了心跳线路连接后是默认deny掉了数据包?

答:防火墙相粗略的理解集成了路由器功能后的安全设备。

1、默认是划区,华为设备默认有 信任区域,非信任区域,本地区域,DMZ区域,区域之间配置了默认的优先级,高优先级可以访问低优先级的区域,反之不行。

2、防火墙的接口默认不可以访问ping、telnet、ssh、hhtps等,如果需要则要手动开启,综上安全策略 像是对不同流向的数据包接管进来,分析,墙认为安全可行的就给与放行,默认deny掉。

以上两点即理解了不做配置心跳链路是被拒绝的,对于HRP邻居故障详情华为HRP邻居故障排查

四、以上内容只讲述了FW的HRP功能,其实现过程,HRP占用的UDP端口,心跳口建立的会话,以及策略放行不够直观,能否加深该实验的验证,以及更深层的模拟实验

答:将在后续HRP-2实验中验证HRP会话,报文经过的区域,接口,所涉及到的安全策略,同时结合Ensp pro的功能讲述下ensp pro是否比ensp更好用,以及占用的主机资源

Slaver设备无法保存配置

由于Master设备承担着实际的网络流量处理任务,因此它通常需要保存配置更改。这是为了确保在Master设备重启后,配置更改仍然有效,并且网络可以继续正常运行。

相比之下,Slave设备处于备份状态,它的配置通常是由Master设备动态同步的。Slave设备的主要目标是保持与Master设备的配置同步,以便在需要时无缝接管网络流量。因此,默认情况下,Slave设备不保存配置更改,而是依赖于Master设备的配置同步。

这种配置策略确保了在HRP环境中的Master设备和Slave设备之间的一致性。当Master设备发生故障时,Slave设备可以接管并继续正常运行,而不会出现配置不一致的情况。

(当然在模拟环境下还是需要保存的,功能下模拟器不会对Slaver设备保存配置)

1、HRP配置后Slaver设备CLI保存配置

HRP_S<HRP-Slaver>save 
Error: This device is in hrp standby mode now, please enable standby configuration function first.

2、手动开启Maser设备中备设备的配置操作

HRP_M[HRP-Master]hrp standby config enable 

3、登录Slaver设备验证

HRP_S<USG-Slaver>save 
Warning: The current configuration will be written to the device. Continue? [Y/N]:y
Now saving the current configuration to the slot 0 .
Info: Save the configuration successfully.

已经可以保存设备的配置,非模拟器情况下HRP能同步给备设备配置信息,模拟器需手动

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值