Hillstone-HCSP之路:StoneOS HA

HCSP之路:StoneOS HA

1 基础知识

电信级99.999%高可靠性:系统可靠、板卡可靠、硬件可靠、模块可靠、软件可靠

1.1 StoneOS 实现HA设备要求

StoneOS 实现HA功能要求以下信息要一致:

  • 设备型号
  • 软件版本
  • VRouter
  • 功能许可证
  • 功能状态

1.2 StoneOS HA工作模式

  1. 主控卡HA(SCM HA)
    • Master处理ARP请求、SSH、Telnet等
    • Slave:备份
    • 主备角色通过硬件选举
  2. 设备级HA(Device HA):
    1. 主备模式(A/P):
      1. 类似VRRP,实际只有一个设备在负责转发
    2. 双主模式(A/A):
      1. Common HA:由网关负责选路,每个流量只能在其中一台设备上转发。
      2. Peer Mode:通过会话同步实现流量来回包穿越不同设备时依然可以实现转发,当网关到其中一台防火墙之间链路断开时,利用HA数据链路将流量迁移到对端防火墙设备。
  3. 数据中心级HA-Twin Mode:如利用Overlay大二层技术,实现数据中心级设备HA

1.3 主备防火墙区别

  • 主:
    1. 对HA集群进行配置管理
    2. 接口可以正常收发报文
    3. ARP应答
    4. 处理业务流量
    5. 业务接口使用virtual MAC通信
  • 备:
    1. 只能进行local项配置
    2. 只能收发mgmt报文
    3. 只响应mgmt IP的ARP
    4. 不处理业务流量
    5. 所有接口都使用真实MAC地址

1.4 HA 术语

  1. HA簇(HA Cluster):

    • HA簇是实现HA功能的设备的组合。对于外部网络设备而言,一个HA簇是一个单一的设备,处理网络流量和提供安全服务。HA簇通过簇ID进行标识。为设备指定HA簇ID后,设备进入HA状态,执行HA功能。目前版本支持用户创建8个HA Cluster(1-8)
  2. 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。
  3. HA Link接口

    • Control Link:心跳,配置,会话
    • Data Link:承载流量
    • 当数据流量过大时,建议Control Link与Data Link分开
  4. 虚拟MAC(vMAC):

    • VMAC地址由簇ID、HA组ID以及物理接口索引确定:前缀为001c.54ff.xxxx
  5. HA 配置参数说明

    priority:值小优先级高,默认100
    Hello interval:HA心跳间隔
    Hello threshold:心跳超时次数
    Monitor track:引用track状态,track失败后进行HA切换
    Preempt:配置是否抢占以及抢占延迟时间
    
  6. HA 状态

    Init 
    Hello 
    Backup
    Master 
    Failed
    Standalone(非HA)
    
  7. 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故障切换过程

  1. 原主设备down/up物理接口,促使外围交换机清空mac转发表
  2. 新主设备发送免费ARP刷新外围交换机的mac转发表,牵引流量

2 HA实现

2.1 A/P

image-20220614144839057

2.1.1 A/P实现步骤

  1. 配置防火墙基本功能
  2. 配置HA监控对象
  3. 配置HA组:HA组的配置包括指定设备优先级(选举使用)以及设备HA报文相关参数等。
  4. 配置HA连接:包括HA连接接口和连接接口IP的配置。用于设备同步以及传输HA报文。
  5. 配置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 注意事项

  1. 虽然在配置HA时设置了优先级分别为50与150,主备切换后,WEB界面上可以查看到优先级自动变为主100,备150。
  2. 在去环境中使用真实的MAC,HA的IP不能随意分配,C/D link一般是同一根线。

2.2 A/A

image-20220614163650875

2.2.1 A/A实现步骤

  1. 配置防火墙基本功能
  2. 配置HA监控对象
  3. 配置0、1两个HA组:HA组的配置包括指定设备优先级(选举使用)以及设备HA报文相关参数等。
  4. 配置HA组的接口。
  5. 配置HA连接:包括HA连接接口和连接接口IP的配
  6. 置,用于设备同步以及传输HA报文。
  7. 配置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的发送情况
posted @ 2023-06-29 10:04  f_carey  阅读(270)  评论(0编辑  收藏  举报