Hillstone-HCSP之路:StoneOS HA
HCSP之路:StoneOS HA
目录
1 基础知识
电信级99.999%高可靠性:系统可靠、板卡可靠、硬件可靠、模块可靠、软件可靠
1.1 StoneOS 实现HA设备要求
StoneOS 实现HA功能要求以下信息要一致:
- 设备型号
- 软件版本
- VRouter
- 功能许可证
- 功能状态
1.2 StoneOS HA工作模式
- 主控卡HA(SCM HA)
- Master处理ARP请求、SSH、Telnet等
- Slave:备份
- 主备角色通过硬件选举
- 设备级HA(Device HA):
- 主备模式(A/P):
- 类似VRRP,实际只有一个设备在负责转发
- 双主模式(A/A):
- Common HA:由网关负责选路,每个流量只能在其中一台设备上转发。
- Peer Mode:通过会话同步实现流量来回包穿越不同设备时依然可以实现转发,当网关到其中一台防火墙之间链路断开时,利用HA数据链路将流量迁移到对端防火墙设备。
- 主备模式(A/P):
- 数据中心级HA-Twin Mode:如利用Overlay大二层技术,实现数据中心级设备HA
1.3 主备防火墙区别
- 主:
- 对HA集群进行配置管理
- 接口可以正常收发报文
- ARP应答
- 处理业务流量
- 业务接口使用virtual MAC通信
- 备:
- 只能进行local项配置
- 只能收发mgmt报文
- 只响应mgmt IP的ARP
- 不处理业务流量
- 所有接口都使用真实MAC地址
1.4 HA 术语
-
HA簇(HA Cluster):
- HA簇是实现HA功能的设备的组合。对于外部网络设备而言,一个HA簇是一个单一的设备,处理网络流量和提供安全服务。HA簇通过簇ID进行标识。为设备指定HA簇ID后,设备进入HA状态,执行HA功能。目前版本支持用户创建8个HA Cluster(1-8)
-
HA组(HA Group)
- StoneOS 会对HA簇中相同HA组ID的设备,按照HCMP协议,根据设备的HA配置,进行主备选举。主设备处于活动状态处理网络流量,而当主设备出现故障时,其它设备代替主设备继续工作。当为安全设备设置簇ID时,组ID为0的HA组会自动创建。在Active-Passive(A/P)模式中,设备仅具有HA组0。在Active-Active(A/A)模式中,目前的版本支持用户创建2个HA组,组0和组1。
-
HA Link接口
- Control Link:心跳,配置,会话
- Data Link:承载流量
- 当数据流量过大时,建议Control Link与Data Link分开
-
虚拟MAC(vMAC):
- VMAC地址由簇ID、HA组ID以及物理接口索引确定:前缀为
001c.54ff.xxxx
- VMAC地址由簇ID、HA组ID以及物理接口索引确定:前缀为
-
HA 配置参数说明
priority:值小优先级高,默认100 Hello interval:HA心跳间隔 Hello threshold:心跳超时次数 Monitor track:引用track状态,track失败后进行HA切换 Preempt:配置是否抢占以及抢占延迟时间
-
HA 状态
Init Hello Backup Master Failed Standalone(非HA)
-
HA 同步信息:
同步的信息类型有三种:配置信息、文件以及RDO(Runtime Dynamic Object),内容主要包括: 会话信息 IPSec VPN信息 SCVPN信息 DNS缓存映射条目 ARP表 PKI信息 DHCP信息 MAC表 Web认证信息
1.5 引发HA切换情况
1. 抢占
2. Track失败
3. 主设备重启
4. 高端设备中SSM/IOM拔出或重启
1.6 HA故障切换过程
- 原主设备down/up物理接口,促使外围交换机清空mac转发表
- 新主设备发送免费ARP刷新外围交换机的mac转发表,牵引流量
2 HA实现
2.1 A/P
2.1.1 A/P实现步骤
- 配置防火墙基本功能
- 配置HA监控对象
- 配置HA组:HA组的配置包括指定设备优先级(选举使用)以及设备HA报文相关参数等。
- 配置HA连接:包括HA连接接口和连接接口IP的配置。用于设备同步以及传输HA报文。
- 配置HA簇:为设备指定HA簇ID,并且开启设备的HA功能。
2.1.2 Master
# 基础配置
interface ethernet0/1
zone "untrust"
ip address 200.0.0.10 255.255.255.0
exit
interface ethernet0/2
zone "trust"
ip address 192.168.10.1 255.255.255.0
manage ip 192.168.10.2
manage ping
manage ssh
exit
ip vrouter "trust-vr"
ip route 0.0.0.0/0 200.0.0.254
snatrule from Any to Any service Any eif ethernet0/1 trans-to eif-ip mode dynamicport
exit
policy-global
rule from any to any service any permit
exit
# track配置
track "tk_link"
interface ethernet0/1
interface ethernet0/2
exit
# HA配置
ha group 0
priority 50
# 实际环境中抢占尽量不要采用,避免来回切换
preempt
monitor track tk_link
exit
# HA link
ha link interface ethernet0/9
# 多条 HA link 直接添加接口就行
ha link interface ethernet0/8
ha link ip 1.1.1.1/30
# 启用HA
ha cluster 1
2.1.3 Backup
# 管理IP配置
interface ethernet0/1
zone "trust"
manage ip 192.168.10.3
manage ping
manage ssh
exit
# HA配置
ha group 0
priority 150
# 实际环境中抢占尽量不要采用,避免来回切换
monitor track tk_link
exit
# HA link
ha link interface ethernet0/9
# 多条 HA link 直接添加接口就行
ha link interface ethernet0/8
ha link ip 1.1.1.2/30
# 启用HA
ha cluster 1
2.1.4 注意事项
- 虽然在配置HA时设置了优先级分别为50与150,主备切换后,WEB界面上可以查看到优先级自动变为主100,备150。
- 在去环境中使用真实的MAC,HA的IP不能随意分配,C/D link一般是同一根线。
2.2 A/A
2.2.1 A/A实现步骤
- 配置防火墙基本功能
- 配置HA监控对象
- 配置0、1两个HA组:HA组的配置包括指定设备优先级(选举使用)以及设备HA报文相关参数等。
- 配置HA组的接口。
- 配置HA连接:包括HA连接接口和连接接口IP的配
- 置,用于设备同步以及传输HA报文。
- 配置HA簇:为设备指定HA簇ID,并且开启设备的HA功能。
2.2.2 M0B1
# 基础功能配置
interface ethernet0/1
zone "untrust"
ip address 200.0.0.1 255.255.255.0
exit
interface ethernet0/2
zone "trust"
ip address 192.168.10.1 255.255.255.0
exit
interface ethernet0/1:1
zone "untrust"
ip address 200.0.0.2 255.255.255.0
exit
interface ethernet0/2:1
zone "trust"
ip address 192.168.10.2 255.255.255.0
exit
ip vrouter "trust-vr"
snatrule id 1 from Any to Any service Any eif ethernet0/1 trans-to eif-ip mode dynamicport
snatrule id 2 from Any to Any service Any eif ethernet0/1:1 trans-to eif-ip mode dynamicport group 1
ip route 0.0.0.0/0 200.0.0.254
ip route 0.0.0.0/0 "ethernet0/1:1" 200.0.0.254
exit
policy-global
rule from any to any service any permit
exit
# track 配置
track "tk_link"
interface ethernet0/1
interface ethernet0/2
exit
track "tk_link:1"
interface ethernet0/1
interface ethernet0/2
exit
# MOB1
ha group 0
priority 50
monitor track "tk_link"
exit
ha group 1
monitor track "tk_link:1"
exit
ha link interface ethernet0/9
ha link ip 1.1.1.1 255.255.255.252
# 开启HA
ha cluster 1
2.2.3 B0M1
interface ethernet0/2
zone "trust"
ip add 192.168.10.1/24
manage ip 192.168.10.4
manage ssh
exit
# track 配置
track "tk_link"
interface ethernet0/1
interface ethernet0/2
exit
track "tk_link:1"
interface ethernet0/1
interface ethernet0/2
exit
# B0M1
ha group 0
priority 150
monitor track "tk_link"
exit
ha group 1
priority 50
monitor track "tk_link:1"
exit
ha link interface ethernet0/9
ha link ip 1.1.1.2/30
# 开启HA
ha cluster 1
3 HA 状态检测命令
show version
: 查看两台HA设备版本、硬件型号和license是否一致show ha group 0
: 在两台HA设备上校验ha group基本信息,查看HA优先级、监控、抢占和Peer信息是否正确和完整show ha link status
: 查看 HA心跳线信息show ha flow statistics
: 查看HA主备包转发情况show ha protocol statistic
: 查看两台HA设备心跳包接收和发送情况ping对端心跳线IP
: 查看心跳是否正常show ha sync statistic
: 查看HA设备通过状况show interface
: 查看HA接口MAC是否正确show ha cluster
: 看两台设备的HA cluster是否一致debug ha
: 查看HA状态机、协商状况和文件同步状况show session generic
: 查看session同步状况 (在两台设备上同时执行并进行对比)- 查看上下游交换机或路由器的MAC和端口学习情况
- 抓包分析免费arp的发送情况