第139篇:AC 双机热备与 AP 逃生
关键词:AC 双机热备、VRRP、AP 逃生、CSS/iStack、主备切换、VRRPv3、CAPWAP 故障切换、华为 AC HA
一、引言
在第138篇中,我们了解到瘦 AP 完全依赖 AC 进行管理和配置下发。如果 AC 故障,所有关联的瘦 AP 将失去管理能力,WiFi 网络全面中断。对于企业级 WLAN 部署,AC 的高可用性(HA)是必须考虑的关键问题。
AC 双机热备通过主备两台 AC 设备实现冗余,当主 AC 故障时,备 AC 自动接管所有 AP 的管理。同时,AP 逃生(AP Fallback)作为最后一道防线,在 AC 全部不可达时让 AP 以独立模式继续提供基本的无线接入服务。
二、核心概念
2.1 AC 双机热备架构

| 组件 | 说明 |
|---|---|
| 主 AC(Active) | 正常状态下管理所有 AP,处理所有 CAPWAP 隧道 |
| 备 AC(Standby) | 实时同步主 AC 的 AP 配置和状态,准备接管 |
| VRRP | 虚拟路由器冗余协议,提供虚拟 IP(VIP) |
| 心跳线 | 主备 AC 之间传输状态同步数据 |
| AP 无感切换 | 切换过程中 AP 自动重新连接到新主 AC |
2.2 双机热备模式
| 模式 | 说明 | 切换时间 | 资源利用率 |
|---|---|---|---|
| 主备模式(Active-Standby) | 一台 AC 工作,一台 AC 待命 | 3-10 秒 | 备 AC 资源空闲 |
| 主主模式(Active-Active) | 两台 AC 分担 AP 管理 | 10-30 秒 | 充分利用 |
| N+1 模式 | N 台 AC 分担,1 台 AC 备用 | 取决于场景 | 灵活 |
2.3 AP 逃生(AP Fallback)
当 AC 主备全部不可达时,AP 自动进入逃生模式:

三、技术细节
3.1 VRRP 虚拟 IP 机制
AP 连接到 AC 的虚拟 IP(VIP),而不是 AC 的物理 IP。当主 AC 故障时,VIP 漂移到备 AC,AP 自动切换到备 AC。
| 参数 | 说明 |
|---|---|
| VRID | VRRP 组 ID(1-255) |
| VIP | 虚拟 IP 地址(AP 连接的 AC 地址) |
| 优先级 | 0-255,优先级高的成为 Master |
| 抢占模式 | 主 AC 恢复后是否重新抢占 |
| 通告间隔 | 主 AC 定期发送 VRRP 通告(默认 1 秒) |
3.2 主备 AC 同步内容
| 同步内容 | 说明 |
|---|---|
| AP 配置 | SSID、射频参数、安全策略等 |
| AP 在线状态 | AP MAC、IP、关联状态 |
| STA 信息 | 终端 MAC、关联 AP、PMK 缓存 |
| 射频参数 | 当前信道、功率、干扰信息 |
3.3 AP 逃生模式行为
| 行为 | 说明 |
|---|---|
| 本地配置 | AP 使用最后一次 AC 下发的配置 |
| 独立运行 | AP 以胖 AP 模式工作 |
| 定时探测 | 定期尝试重新连接 AC |
| 配置回传 | AC 恢复后,AP 将本地配置回传给 AC |
四、实战配置/案例分析
4.1 AC 双机热备(VRRP 主备模式)
# ========== 主 AC 配置 ==========
# Step 1: 配置 VRRP
[AC-MAIN] interface Vlanif 100
[AC-MAIN-Vlanif100] ip address 10.10.100.1 24
[AC-MAIN-Vlanif100] vrrp vrid 1 virtual-ip 10.10.100.254
[AC-MAIN-Vlanif100] vrrp vrid 1 priority 120 # 主 AC 优先级高
[AC-MAIN-Vlanif100] vrrp vrid 1 preempt mode timer delay 30
[AC-MAIN-Vlanif100] vrrp vrid 1 track interface GigabitEthernet 0/0/1 reduced 30
# Step 2: 配置心跳接口(直连)
[AC-MAIN] interface GigabitEthernet 0/0/2
[AC-MAIN-GigabitEthernet0/0/2] ip address 10.255.0.1 30
# Step 3: 配置 AP 管理源 IP
[AC-MAIN] wlan
[AC-MAIN-wlan-view] ap-mgmt source-ip 10.10.100.1
# Step 4: 配置双机热备
[AC-MAIN-wlan-view] ap-mgmt backup enable
[AC-MAIN-wlan-view] ap-mgmt backup peer-ip 10.10.100.2
[AC-MAIN-wlan-view] ap-mgmt backup peer-vlan 100
[AC-MAIN-wlan-view] ap-mgmt backup heartbeat interface GigabitEthernet 0/0/2
[AC-MAIN-wlan-view] quit
# ========== 备 AC 配置 ==========
# Step 1: 配置 VRRP
[AC-BACKUP] interface Vlanif 100
[AC-BACKUP-Vlanif100] ip address 10.10.100.2 24
[AC-BACKUP-Vlanif100] vrrp vrid 1 virtual-ip 10.10.100.254
[AC-BACKUP-Vlanif100] vrrp vrid 1 priority 100 # 备 AC 优先级低
[AC-BACKUP-Vlanif100] vrrp vrid 1 preempt mode timer delay 30
# Step 2: 配置心跳接口
[AC-BACKUP] interface GigabitEthernet 0/0/2
[AC-BACKUP-GigabitEthernet0/0/2] ip address 10.255.0.2 30
# Step 3: 配置 AP 管理源 IP
[AC-BACKUP] wlan
[AC-BACKUP-wlan-view] ap-mgmt source-ip 10.10.100.2
# Step 4: 配置双机热备
[AC-BACKUP-wlan-view] ap-mgmt backup enable
[AC-BACKUP-wlan-view] ap-mgmt backup peer-ip 10.10.100.1
[AC-BACKUP-wlan-view] ap-mgmt backup peer-vlan 100
[AC-BACKUP-wlan-view] ap-mgmt backup heartbeat interface GigabitEthernet 0/0/2
[AC-BACKUP-wlan-view] quit
# ========== AP 侧:连接 VIP ==========
# AP 通过 DHCP Option 43 获取 VIP(10.10.100.254)
# 无论主备 AC 切换,AP 始终连接到 VIP
# ========== 验证 ==========
[AC-MAIN] display vrrp brief
[AC-MAIN] display ap-mgmt backup status
[AC-MAIN] display ap all
4.2 AP 逃生模式配置
# ========== 配置 AP 逃生 ==========
# AC 侧配置
[AC] wlan
[AC-wlan-view] ap-mgmt fallback enable
[AC-wlan-view] ap-mgmt fallback fat-mode enable
[AC-wlan-view] ap-mgmt fallback fat-mode profile fallback-config
[AC-wlan-view] ap-mgmt fallback interval 30 # 逃生探测间隔 30 秒
[AC-wlan-view] ap-mgmt fallback retry 6 # 重试 6 次后进入逃生
[AC-wlan-view] quit
# 配置逃生模板
[AC] wlan
[AC-wlan-view] fat-ap-template fallback-config
[AC-wlan-fat-ap-template-fallback-config] ssid emergency-wifi
[AC-wlan-fat-ap-template-fallback-config] security wpa2 psk pass-phrase Emergency@123 cipher aes
[AC-wlan-fat-ap-template-fallback-config] channel 2ghz fixed 1
[AC-wlan-fat-ap-template-fallback-config] channel 5ghz fixed 36
[AC-wlan-fat-ap-template-fallback-config] txpower 2ghz fixed 17
[AC-wlan-fat-ap-template-fallback-config] txpower 5ghz fixed 20
[AC-wlan-fat-ap-template-fallback-config] dhcp enable
[AC-wlan-fat-ap-template-fallback-config] quit
[AC-wlan-view] quit
# 验证
[AC] display ap-mgmt fallback
[AC] display fat-ap-template name fallback-config
4.3 故障案例:主 AC 故障后的切换过程
场景:主 AC 的电源模块故障,整机掉电。备 AC 需要接管所有 AP。
切换过程:
时间线:
T+0s 主 AC 掉电
T+1s 备 AC 未收到 VRRP 通告(3 秒超时前)
T+3s 备 AC 检测到主 AC 故障,VIP 漂移
T+5s AP 检测到 CAPWAP 隧道中断
T+8s AP 使用 DHCP Option 43 中的 VIP 重连(指向备 AC)
T+10s 备 AC 接受 AP 的 Join Request
T+12s 备 AC 从同步的配置中恢复 AP 配置
T+15s AP 重新上线,射频启动
T+20s 终端重新关联(PMK 缓存复用,快速重认证)
排查:
# 切换后在备 AC 上验证
[AC-BACKUP] display vrrp brief
# VRRP State: Master(备 AC 已成为主)
[AC-BACKUP] display ap all
# 所有 AP 状态从 Offline 变为 Normal
# 检查 AP 上线日志
[AC-BACKUP] display logbuffer | include AP_JOIN
4.4 故障案例:心跳线中断导致双主
场景:某企业 AC 双机热备运行正常,但运维人员更换机房配线时误拔了心跳线。
排查:
# 在主 AC 上检查
[AC-MAIN] display ap-mgmt backup status
# Backup Status: Fault
# Heartbeat: Down
# 在备 AC 上检查
[AC-BACKUP] display ap-mgmt backup status
# Backup Status: Fault
# Heartbeat: Down
# 两台 AC 都认为自己是主(Split-Brain / 脑裂)
# AP 被分配到两台 AC,部分 AP 配置不一致
根因:心跳线中断导致主备 AC 无法通信,双方都认为对端故障,各自成为主 AC(脑裂)。
处理: 1. 恢复心跳线连接 2. 检查 AP 分配情况,手动调整不合理的 AP 分配 3. 长期方案:配置双心跳线(冗余心跳链路)
# 配置双心跳链路
[AC-MAIN] wlan
[AC-MAIN-wlan-view] ap-mgmt backup heartbeat interface GigabitEthernet 0/0/2
[AC-MAIN-wlan-view] ap-mgmt backup heartbeat interface GigabitEthernet 0/0/3
五、总结
| 项目 | 说明 |
|---|---|
| AC 双机热备 | 主备模式,VRRP 提供虚拟 IP |
| 切换时间 | 10-20 秒(AP 重连 + 配置恢复) |
| 同步内容 | AP 配置、STA 信息、PMK 缓存 |
| AP 逃生 | AC 全部不可达时 AP 以胖 AP 模式继续服务 |
| 逃生探测 | 定期尝试重连 AC,恢复后自动切回 |
| 脑裂风险 | 心跳线中断导致双主,需配置冗余心跳 |
| VRRP 配置 | 主 AC 优先级 120,备 AC 优先级 100 |
| 华为实现 | ap-mgmt backup + VRRP + Fallback Fat-Mode |
思考
-
AC 主备切换过程中,AP 会短暂断线(10-20 秒)。对于正在通话的 VoWiFi 用户,这个断线时间是否可接受?如何通过 802.11r 和 PMK 缓存缩短重认证时间?
-
VRRP 通过虚拟 IP 实现 AP 无感切换。但如果备 AC 的配置与主 AC 不完全一致(如手动修改了备 AC 的某个参数),切换后会不会出现配置冲突?
-
AP 逃生模式下,AP 使用最后一次 AC 下发的配置。但如果逃生时 AP 正在使用的信道与附近其他 AP 冲突(RRM 无法协调),会不会导致严重的干扰问题?
下篇预告:第140篇:园区网整网架构设计:接入→汇聚→核心