ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

双机热备旁挂核心组网详解:AC主备切换与配置实战

双机热备旁挂核心组网详解:AC主备切换与配置实战 双机热备在旁挂场景里出现的频率其实非常高尤其是AC旁挂核心、防火墙旁挂核心这类组网。很多刚接触网络设备的兄弟一听到“双机热备”就以为是什么神秘技术搭配一个“旁挂”就更加云里雾里。实际上拆开来看这就是一套“两个设备对外提供同一个业务IP一台干活一台盯着主挂了备立刻顶上”的机制难点不在概念而在旁挂组网下的细节设计和回程路径处理。这篇文章以最典型的WX2520X-LI双机热备旁挂核心交换机为例把设备选型、组网设计、命令行配置、状态验证、故障排查一条龙讲清楚。如果你手头是别的品牌设备比如锐捷、华为原理完全一致照着思路微调接口和命令就行。适合正在做园区网项目、刚接手运维想搞清楚主备切换逻辑、或者准备考数通认证但对热备机制还似懂非懂的人。1. 场景定位双机热备为什么用旁挂组网1.1 旁挂和串接的本质区别很多人第一次听到“旁挂”这个词会懵先把这个讲明白。所谓旁挂就是设备不像路由器、防火墙那样串在业务链路中间而是从核心交换机拉一根线接到设备上业务流量默认不经过它只有在需要处理时才被引导过来。拿AC旁挂核心来举例。AP的CAPWAP隧道终结在AC上但AP管理VLAN和用户业务VLAN都在核心交换机上处理。核心交换机负责用户的IP地址分配和数据转发AC只负责管理AP、下发配置、处理漫游和认证。这样的好处非常直接AC挂了不影响已经上线的AP转发流量用户上网不中断。AC的吞吐压力大幅下降不需要做硬件转发。扩容弹性大AC性能不够时换一台大的组网拓扑不用动。我见过不少刚入行的朋友一听说要做双机热备第一反应就是把两台设备都串到链路上做成“A主B备”的串接结果业务链路被切成了三段调试的时候自己都绕晕了。旁挂从设计上就避开了这个问题主备两台AC用同一个虚拟IP对接核心核心根本不需要感知谁是主。1.2 哪种场景真正需要双机热备双机热备不是万金油它解决的是“控制平面高可用”的问题。对AC这个角色来说AP与AC之间的CAPWAP隧道需要稳定存在用户漫游需要AC持续参与认证报文要AC响应一旦AC宕机表现为新建用户无法上线、漫游用户掉线重认证、部分AP重新寻找AC并丢配置。如果业务规模小二三十个APAC宕机十分钟影响有限那上不上双机热备见仁见智。但如果是高校、酒店、写字楼这种上百AP的场景AC宕机一次IT部门电话就被打爆了。双机热备能做到秒级切换备AC无缝接管业务用户体感几乎无变化这个价值在业务侧是非常明确的。对旁挂防火墙做双机热备也是一个常见变体。防火墙旁挂在核心上南北向流量被策略路由引到防火墙做安全过滤。双机热备确保防火墙上会话表能实时同步主墙宕机时备墙直接接管会话内网用户在下载大文件、视频会议时不会出现断流重连。2. 双机热备核心机制拆解2.1 备份通道与主备状态机两台设备之间需要一条专门的心跳链路术语上叫备份通道。心跳链路的目的就是让两台设备实时交换状态信息。拿H3C的AC举例心跳报文里承载着设备的优先级、运行状态、AP表项、用户表项、会话表等内容。主备角色的确立靠两个东西优先级Priority数值越大越优先。运行状态Active/Standby。两台AC的优先级都配置为默认值时先完成启动并抢占成功的成为Active。这里有个容易被忽略的点双机热备支持抢占模式和故障回切生产环境里我建议把抢占关闭让主设备故障恢复后保持Standby角色避免一次故障导致两次切换业务反而多抖动一回。如果你需要精确控制回切时机可以开启抢占并配置延迟时间让主设备稳定运行一段时间后再重新夺回Active角色。2.2 旁挂场景下业务流量转发路径旁挂场景的双机热备流量路径和串接完全不同。还是拿AC旁挂核心举例子AP上线时通过Option 43或DNS解析找到AC的虚拟IP建立CAPWAP隧道。正常状态下隧道只终结在Active AC上。核心交换机上配置的AC虚拟IPVRRP地址绑定在Active AC的业务接口上。Active AC宕机Standby AC通过心跳感知到主失效立刻在自身业务接口上启用虚拟IP接管所有隧道和会话。这个接管过程里最核心的动作是“虚拟IP在主备之间漂移”。对外表现出来就是AP重新连接时发现AC的IP依然是同一个CAPWAP隧道重协商后业务恢复。整个过程中VLAN、网关、DHCP等都在核心交换机上它们完全无感知。这就是旁挂双机热备最巧妙的地方故障隔离在AC这一层核心网络纹丝不动。2.3 主备切换与回程路径的隐藏坑双机热备配置里最容易翻车的坑有两个一个是AP二层漫游丢表项一个是业务回程路径不对称。先讲漫游。用户在两个AP之间漫游时新AP会向AC上报用户信息AC更新用户表项并同步给Standby。一旦主备切换发生在漫游瞬间用户表项如果同步不及时就可能出现用户能拿到IP但AC不认识他导致认证被拒绝或者流量被丢弃。解决的办法有两个层面一是确保心跳链路带宽充足不要跟业务流量抢带宽二是打开会话备份的实时同步开关H3C设备上对应的是hot-backup命令里的session同步参数。再讲业务回程。旁挂AC场景下有一种数据转发模式叫集中转发用户的业务流量也会经过AC转发。这种情况下AC就相当于半个网关它的路由设计必须考虑到主备切换后的路径变化。如果核心交换机到AC的互联地址、回程路由做的是静态指定而没有跟着虚拟IP漂移走切换后备AC收到的业务报文可能不知道往哪里送。遇到集中转发模式建议在核心和AC之间跑动态路由OSPF或者静态路由绑Track保证虚拟IP漂移到哪路由的下一跳就指向哪。3. 配置实操两台AC双机热备旁挂核心3.1 网络规划从一份能落地到机房的表开始我看过太多人上来就敲命令敲到一半发现VLAN没规划、IP段冲突、心跳口没预留全部推倒重来。老老实实先把规划表做出来这一步省下的时间远比想象中多。以WX2520X-LI双机热备旁挂核心的典型场景为例规划如下参数项主ACAC1备ACAC2说明型号WX2520X-LIWX2520X-LI双机热备建议同型号管理VLANVLAN 10VLAN 10连接核心交换机用于设备管理管理IP10.1.10.11/2410.1.10.12/24各自独立管理地址VRRP虚拟IP10.1.10.10/2410.1.10.10/24对外业务地址AP和核心都通过这个地址访问AC心跳VLANVLAN 99VLAN 99专用心跳链路的VLAN心跳口IP192.168.99.1/30192.168.99.2/30一对直连地址走30位掩码不占额外网段VRRP VridVrid 1Vrid 1同一VRIDVRRP优先级120100优先级120的是默认主抢占模式关闭关闭建议保持默认这里解释几个规划的细节。管理地址和虚拟IP一定要分属不同地址管理地址用于SSH登录和网管巡检虚拟IP纯粹对外提供服务两者混用会导致切换时管理地址漂移运维排查时反而分不清连的是哪台。心跳地址用30位掩码一对接口占用一个点对点网段干净利落。如果预算允许心跳口建议用两个接口做链路聚合物理层面多一重保障。3.2 基础配置接口、VLAN、路由三板斧底子打好了后面才稳。VLAN和接口的配置看起来简单但有几个容易漏的点AC上连核心的接口必须配置为Trunk放通管理VLAN和业务VLAN心跳接口单独划在一个VLAN里不要跟管理VLAN混在一起。主AC的基础配置如下# 创建VLAN vlan 10 description Manage_VLAN quit vlan 99 description Heartbeat_VLAN quit # 上联核心的接口Trunk放行管理VLAN和业务VLAN interface GigabitEthernet 1/0/1 port link-type trunk port trunk permit vlan 10 20 30 99 quit # 心跳接口只用一条直连线互联两台AC interface GigabitEthernet 1/0/2 port link-type access port access vlan 99 quit # 管理VLAN接口 interface Vlan-interface 10 ip address 10.1.10.11 255.255.255.0 quit # 心跳VLAN接口 interface Vlan-interface 99 ip address 192.168.99.1 255.255.255.252 quit # 默认路由指向核心交换机 ip route-static 0.0.0.0 0 10.1.10.254备AC的配置与主AC几乎相同区别仅在于管理VLAN接口的IP换成10.1.10.12心跳接口IP换成192.168.99.2。其余照抄这没什么技术含量但极易复制出错建议配完立刻用display ip interface brief命令核对地址。有一点必须提醒AC默认情况下所有VLAN接口之间是三层互通的关系如果你没做任何策略备AC的管理地址也能直达业务VLAN。生产中我见过备AC被误登录然后在备机上误操作清空配置导致热备失效的案例。建议在所有VLAN接口上配置包过滤只允许特定网管IP访问管理接口业务VLAN只对虚拟IP开放。3.3 双机热备关键配置命令不多但每一条都有讲究H3C设备上双机热备涉及三个核心配置块双机热备组参数、业务接口加入热备组、VRRP联动。先看双机热备组的配置# 创建双机热备组组ID要和VRID保持一致减少记忆负担 hot-backup group 1 backup-mode hot local-ip 192.168.99.1 remote-ip 192.168.99.2 device-role primary priority 120 preempt-mode disable quit这条配置里有几个参数需要拆开讲backup-mode hot热备模式实时备份。对应还有一种负载分担模式把AP列表分成两半分别由两台AC管理但两台AC的优先级对等。对于WX2520X-LI这种小型AC热备模式用得更多逻辑更简单切换彻底。local-ip和remote-ip分别对应当前设备心跳口的IP和对端心跳口的IP。这两个地址写反了会导致备机反复上报状态异常排查时要先看这个。device-role primary/priority 120指定主设备。这里有个隐藏逻辑故障回切时只有当备机持续收不到主设备的心跳才会升主主备角色变化完全由心跳状态驱动。preempt-mode disable关闭抢占上面已经解释过为什么不建议默认开启抢占。然后是业务接口加入热备组。WX2520X-LI上需要把管理VLAN接口和业务VLAN接口都加入组1并开启VRRP联动interface Vlan-interface 10 ip address 10.1.10.11 255.255.255.0 vrrp vrid 1 virtual-ip 10.1.10.10 vrrp vrid 1 priority 120 vrrp vrid 1 preempt-mode disable hot-backup group 1 bind vlan-interface 10 quit最后是业务侧的会话同步。AC上需要开启CAPWAP隧道备份和用户会话备份# AP和用户表项的实时备份 hot-backup group 1 backup capwap backup user-session quit这三条命令是整个双机热备配置的灵魂。backup capwap负责把AP与AC之间的隧道状态实时同步到备机主AC宕机后备机可以无缝接管所有CAPWAP隧道AP不需要重新发现AC。backup user-session负责用户的在线状态不然主备切换的瞬间用户会踢下线重认证。这两个开完之后整机的状态同步量会大幅上升所以心跳链路的带宽建议至少达到千兆。备AC上的配置与主AC对称device-role改成standby优先级改成100VRRP priority改成100其他参数完全一致。注意备机上也要配置hot-backup group的remote-ip和local-ip并且和主机的对应关系正好相反。3.4 业务侧联动配置让核心交换机知道你的AC是活的双机热备里最容易被忽略的是核心交换机侧的联动。WX2520X-LI的虚拟IP通过VRRP对外通告实际上核心交换机并不需要知道VRRP的存在它只需要把去往AP管理网的流量送到虚拟IP地址就行而虚拟IP在主备切换时会跟随VRRP状态漂移。但二层旁挂场景里要考虑一个细节AP和核心交换机之间是通过二层VLAN互联的AP发广播找AC时如果AC和AP不在一楼二层广播域内需要配置DHCP Option 43或者DNS解析指定AC地址。这里直接给出核心交换机上需要确认的配置# 核心交换机的DHCP配置里必须指定Option 43内容是AC的虚拟IP dhcp server ip-pool AP_Pool network 10.1.20.0 mask 255.255.255.0 gateway-list 10.1.20.254 option 43 hex 010A010A0A quitOption 43的hex怎么算以AC虚拟IP为10.1.10.10为例直接按十六进制转01开头代表子选项类型后面跟IP的四个八位组结果是010A010A0A。这个细节在纸上算清楚再写进配置别靠感觉蒙。有些厂商的设备支持直接写ASCII格式的IP地址但H3C的老版本更认hex统一用hex最省心。另外如果AP通过二层直连AC不需要跨三层那么上述Option 43可以省掉。但旁挂场景百分之九十九是跨三层的别省。3.5 状态验证与切换演练配置敲完不是结束验证才是重头戏。我每次配完双机热备都要做一次完整的验证流程这套流程常规文档不会写但实战里真的保命。第一步检查VRRP状态。两台AC上分别执行display vrrp主AC上VRRP状态应该显示Master备AC上显示Backup。如果两台都显示Master说明心跳链路没通立刻回去检查心跳口的VLAN和IP配置。第二步检查双机热备组状态display hot-backup group 1正常状态下主备设备上都会显示Peer AliveMode为Hot如果能看到Last Backup Time字段还在不断刷新说明数据实时同步正在进行。如果状态是Peer Dead要么心跳坏了要么对端设备整机宕机这时候业务其实已经降级了要尽快处理。第三步验证AP注册情况。主AC上执行display wlan ap all确认所有AP处于R/M状态Run/Master。正常情况下AP应该显示在Active AC上。然后模拟主AC宕机把主AC直接断电解网观察备AC上display wlan ap all是否能在几十秒内接管所有AP且状态全部转为R/M。我实测下来WX2520X-LI这套配置从主AC断电到所有AP回到R/M状态时间大约在20到40秒与心跳间隔和CAPWAP隧道重协商时间有关。如果你的AC接管时间超过一分半钟就要考虑是心跳链路质量差还是隧道备份没生效。第四步测试用户业务连续性。在主AC宕机的同时让一台终端持续ping网关和公网地址观察丢包情况。热备切换过程中理论上会有短暂丢包但不应超过CAPWAP隧道重建的时间窗口。如果丢包时间很长或者直接断网重点排查用户会话备份是否开启。4. 常见问题与排查技巧实录4.1 主备状态不切换或切换异常这是双机热备咨询率最高的问题。我先列一个排查清单按顺序检查排查步骤检查项典型原因1display vrrp 主备状态心跳断了两端都认为自己是Master2ping心跳对端IP心跳口IP配反或心跳VLAN不通3display hot-backup group 1组状态非Peer Alivelocal/remote IP错误4检查AC的syslog是否有VRRP状态抖动日志5检查两端热备组的backup-mode是否一致一端是hot另一端是load-balance会导致状态协商失败我最常遇到的情况是“两台AC都显示Master”。根因九成是心跳口配置错误。巡线排查时先看心跳口对应的物理链路指示灯是否正常再检查端口是否划入正确的VLAN。最容易犯的错是两台AC的心跳口VLAN一个划的是VLAN 99另一个划成了VLAN 100VLAN不匹配怎么ping都不通。还有一次排查了很久才发现原来备AC的心跳口被人在业务调试时临时改成了access VLAN 10之后忘记改回来。所以配置完热备建议直接把心跳口的描述信息打上比如port description to-AC2-heartbeat一眼就能看出该口用途。4.2 切换后业务中断AP没有自动重新上线备AC接管后如果AP全部离线问题大概率出在“AP找不到AC”。排查思路分两步走。第一步确认AP的DHCP Option 43是否指向虚拟IP。如果Option 43配的是主AC的管理地址而不是虚拟IP切换发生时AP仍会尝试连接已经宕机的主AC自然无法上线。这里再强调一次无论主备AC对外发布的CAPWAP地址必须是虚拟IP不能是各自的管理地址。第二步确认核心交换机到AC虚拟IP的路径是否依然可达。主AC宕机后VRRP虚拟IP都漂移到备AC上但备AC的业务接口上如果没有加入热备组虚拟IP就不会在备机上生效。检查备AC上display vrrp如果状态是Backup而虚拟IP没有出现在接口上很可能是业务接口没有绑定VRRP或者没有bind到hot-backup组。如果一切正常需要在备AC上手动检查AP状态命令如下display wlan ap all看到AP处于I/MIdle/Master状态说明AP已经找到AC但还在初始化等着就行。如果一直是D/MDownload/Master检查AC上是否有足够的AP LicenseWX2520X-LI的License不够会导致AP数量超过许可后无法注册这个坑我踩过上线前一定确认License容量覆盖现有AP数量还有余量。4.3 心跳链路不稳定频繁误切换心跳链路质量差的表现是明明主AC运行正常但备AC不断上报Peer Dead随后自动升主等主AC恢复心跳后又回切来回折腾导致AP和用户反复漂移。这种问题的根源几乎都在物理链路上。心跳链路最好采用直连光纤或者短距离六类网线不要经过核心交换机、不要走中继链路。我见过一台AC的中继链路拥塞心跳报文频繁超时结果每五分钟就误切换一次业务根本没法用。后来把心跳口改为千兆直连问题立刻消失。如果物理链路条件无法改变必须跨设备走中继可以把心跳报文的发送间隔适当调大降低对链路抖动的敏感度。H3C设备上对应的命令是hot-backup group 1 backup-interval 2000 quitbackup-interval的单位是毫秒默认通常是1000。调到2000意味着心跳判断的超时窗口变大不易误判。但也要注意间隔过大会导致真实故障时的切换变慢建议不超过3000毫秒。4.4 主备切换正常但安全认证业务异常如果AC旁同时接了Portal认证或者RADIUS主备切换后认证异常是最难排查的一类。用户的上网行为通过虚拟IP终结在AC上但RADIUS服务器的源IP地址如果指向了主AC的管理地址切换后认证报文就会从备AC的管理地址发出RADIUS服务器如果做了源IP白名单控制很可能直接丢弃报文。这种场景下的解决思路是让AC与RADIUS服务器交互时报文的源IP统一使用虚拟IP。RADIUS配置模板里指定源地址radius scheme radius1 primary authentication 10.1.30.1 primary accounting 10.1.30.1 source-ip 10.1.10.10 key authentication cipher $c$3$... quitsource-ip后面跟的IP就是虚拟IP。这样可以保证主备切换过程中RADIUS交互的源地址不变认证不被中断。同理如果AC向外部Portal服务器做重定向也要确认HTTP报文的源地址一致性方法类似。4.5 常见问题速查表从现象到根因的快速定位现象可能原因解决方法两台AC都显示Master心跳链路中断/心跳IP配置错误检查心跳口VLAN和IP检查物理链路和端口描述主AC宕机后AP全部离线Option 43指向了主AC管理地址而非虚拟IPDHCP Option 43改为虚拟IP主备切换成功但用户全部掉线重认证用户会话备份未开启hot-backup组里加backup user-session心跳频繁误切换心跳链路走中继拥塞、间隔过短改直连backup-interval调整到2000ms以上备AC接管后VRRP状态正常但AP无法上线业务接口未加入热备组/AC License不足确认bind配置检查display wlan license切换后Portal认证失败RADIUS/Portal源IP非虚拟IPradius scheme和portal模板里配置source-ip为虚拟IP5. 几个实操心得我配过不少次双机热备这套配置逻辑已经比较熟练了但还是有几个地方每次都要特别留意。心跳链路优先级最高。这句话我在各种场合反复强调但每次排查还是能遇到有人把心跳口跟业务口混在一起。心跳口不承载业务流量只承载状态同步必须物理独立、VLAN独立、带宽充足。如果条件允许心跳链路用两条线做链路聚合一条断了另一条还能维持心跳故障概率直接降一个量级。版本一致性容易被忽视。双机热备要求两台AC的软件版本必须一致小版本不同可能导致热备组协商失败或者状态同步异常。上线前先在两台设备上都执行display version确认软件版本完全一致。升级AC时也记得两台一起升不要只升主AC否则热备失效属于必然结果。关于主备切换后的巡检我个人的习惯是每次演练完都做一次display logbuffer查看是否有VRRP State Change和Hot Backup Switch的记录。这些日志会明确记录切换时间和触发原因长期保留可以作为设备运行质量的重要参考。最后再分享一个小技巧所有热备组成员设备上配置都要统一从一份基线导出这也包括接口描述、VLAN命名和ACL编号规划。别指望备AC的配置靠人肉同步哪怕改一条命令也要记得两台一起改。我前几年因为只在主AC上加了一条静态路由忘了同步到备机结果一次切换后业务直接断了半小时。从那以后每次变更我的验收清单里都会加一项双机状态检查核心业务连通性检查。这套流程看着繁琐但它就是双机热备省心运行的底气所在。
返回列表