
1. WLAN基础概念先弄明白无线网络里的三个角色和一条隧道很多人第一次看到WLAN这三个字母觉得它就是Wi-Fi做项目的时候也不当回事。但等你在现场遇到一台AC带几百个AP、几千个终端上网的场景就会发现WLAN背后那些概念——AP、AC、STA、SSID、CAPWAP、转发模式——每一个都是绕不开的坎。我前前后后做过不少园区无线项目也啃过HCIE WLAN的认证内容今天就把这部分最基础也最关键的WLAN概念、配置流程以及VLAN Pool的配置方法拉出来好好捋一遍。1.1 AP、AC和STA无线网络里跑不掉的三兄弟先说AP全称Access Point接入点。它的工作说白了就是把有线网络转成无线信号让手机、笔记本这些终端能通过射频接入网络。AP扛着射频收发、报文加密、终端关联这些活。按工作方式分AP有两种形态一种叫胖APFAT AP它自己就具备完整的接入功能可以独立配置SSID、认证、VLAN像一台小路由器一样适合家里或者小办公室另一种叫瘦APFIT AP它本身不带配置只负责射频信号的收发和报文的转发所有配置都由后端的AC统一下发适合中大型园区。AC全称Access Controller无线接入控制器。它管着整片网络里所有的瘦AP负责给AP下发配置、管理漫游、协调射频资源AP之间要漫游切换也得靠它。为什么要引入AC这样一个角色打个比方胖AP就像每家每户自己开的小卖部进货、定价、盘点都是自己干店一多就乱瘦AP加AC的模式相当于连锁超市总部统一管理每家门店只需要负责摆货收银定价和配货由总部搞定。一个AC管几百台AP你只需要在AC上改一个参数所有AP瞬间同步效率完全不可同日而语。STA全称Station工作站指的就是接入无线网络的终端设备比如手机、Pad、打印机、智能摄像头这些。STA不参与网络管理它做的事情就是扫描SSID、关联、认证、获取IP然后上网。你在配置WLAN的时候脑子里要时刻装着这三层关系STA连APAP连ACAC管配置最后所有流量汇聚到有线网络里做业务承载。1.2 SSID和BSSID用户看到的“网名”和底层“身份证”SSIDService Set Identifier服务集标识符。用户在手机上看到的那个Wi-Fi名字就是SSID。一个AP上可以配置多个SSID比如一个叫“Office-Staff”给员工用另一个叫“Office-Guest”给访客用。你可以在AC上给不同的SSID绑定不同的安全策略、不同的VLAN、不同的限速模板这样一套无线硬件就能隔离出多种业务。BSSIDBasic Service Set Identifier基本服务集标识符。它更像是AP在某个射频上发出来的“身份证”通常是AP的MAC地址。你在手机连接Wi-Fi的详情里看到的那个MAC地址其实就是BSSID。SSID是人能看懂的名字BSSID是设备之间真正用来标识某个无线接入点服务的地址两者是“对外名称”和“对内身份”的对应关系。1.3 CAPWAP协议AC和AP之间的“脐带”AC要管理APAP要上报状态靠的是一个叫CAPWAPControl And Provisioning of Wireless Access Points的协议。AC通过CAPWAP协议发现AP、给AP下发软件版本和配置AP通过CAPWAP隧道把终端的业务流量送回AC或者把控制报文传给AC。CAPWAP工作在UDP之上控制报文走UDP 5246端口数据报文走UDP 5247端口。CAPWAP隧道的建立过程大致可以分为几个阶段首先AP通过DHCP拿到IP地址然后通过广播、DNS或者AC的静态IP列表去发现AC找到AC之后AP和AC互相做认证比如MAC认证通过后AC给AP下发版本如果AP版本不一致还要升级最后建立CAPWAP隧道AP开始正常工作。你在实施中如果发现AP起不来八成就是卡在这几个环节里后面我会在故障排查那一章细讲。1.4 转发模式本地转发还是集中转发得想清楚CAPWAP隧道建立后终端的业务流量怎么走是WLAN设计里一个很关键的决策点。当前主流的转发方式有两种集中转发也叫隧道转发和本地转发也叫直接转发。集中转发模式下终端的业务报文会通过CAPWAP隧道先送到AC由AC解封装后进入有线网络转发。这种方式的好处是AC能对流量做集中控制上线策略、安全过滤都好做适合终端数量不大、AC性能足够、需要精细管控的组网。缺点是所有流量都绕到ACAC的吞吐可能成为瓶颈。本地转发模式下终端的业务报文在AP本地直接被解封装通过AP连接的有线接口直接发到交换机上不需要经过AC。这种方式减少了AC的压力转发时延更低适合流量比较大的场景比如教学楼、办公楼、视频监控这类。代价是AC对业务报文的管控能力变弱很多安全策略得靠接入交换机来做。在实际项目里我用得最多的组合是控制报文走CAPWAP隧道到AC业务报文按场景选择本地转发或集中转发。HCIE WLAN考试里对这个模型也强调得很细理解了转发方式你对后面VLAN、DHCP、网关放哪里会有更清晰的判断。管理VLAN和业务VLAN要分开管理报文走CAPWAP业务报文按转发模式走不同的路径这一条原则贯穿整个配置过程。2. WLAN基础配置从零让一台AP把信号放出去说完了概念我们进入实操环节。这里以华为设备为例给出一个我从项目里整理出来的标准化配置流程。华为WLAN的配置逻辑清晰先建模板再绑定模板最后应用到AP上。2.1 配置前的VLAN规划管理VLAN和业务VLAN必须分开凡是WLAN配置第一步永远不是敲命令而是做规划。经验不足的人上来就新建SSID配完发现AP不上线排查半天发现管理VLAN和业务VLAN混在一起数据全乱了。我建议你用一张表先把自己这段网络画清楚。作用VLAN ID网段网关说明管理VLANVLAN 1010.10.10.0/2410.10.10.1承载CAPWAP控制报文供AP上线业务VLANVLAN 2010.10.20.0/2410.10.20.1承载员工终端业务流量访客VLANVLAN 3010.10.30.0/2410.10.30.1仅供访客上网不做内网访问管理VLAN和业务VLAN分开的好处很明显一是管理流量和业务流量互相不干扰AP即使业务不稳AC也能管理到它二是有利于做安全策略访客只能访问外网员工才能进内网用VLAN一隔离就完事。交换机上要放通VLAN 10、20、30的trunk口接入AP的接口一般配成trunk并设置PVID为管理VLAN。2.2 AP上线三步走源接口、认证、可达性AP上线是整个WLAN配置里最让人头疼的部分我把整个过程拆成三个关键动作。第一步配置AC的源接口。AC需要告诉AP从哪里来也就是CAPWAP源接口通常配置一个LoopBack接口或Vlanif接口IP地址必须保证AP能访问到。命令大致如下system-view capwap source interface vlanif 10注意这里的vlanif 10就是管理VLAN的网关地址。AP通过DHCP拿到管理IP之后要能ping通这个地址这是建立CAPWAP隧道的前提。第二步配置AP认证方式。为了安全性生产环境不能允许任何AP都随意接入AC。常见的做法是MAC认证把AP的MAC地址录入白名单。华为设备上可以手动配置AP也可以在AC上开启自动发现后再手动确认。简化环境通常直接用不认证或者MAC认证生产环境我建议用MAC认证或者证书认证避免有人私接AP进来抓包。第三步确认二层或三层可达。AP和AC可以二层直连也可以跨三层组网。跨三层时要么在网络里配置DHCP option 43把AC地址告诉AP要么配置DNS解析让AP能用域名找到AC。项目里最稳定的做法是配option 43比如dhcp server option 43 sub-option 3 ip-address 10.10.10.1这段命令是告诉DHCP服务器在给AP分配IP时附加一个“AC的IP是10.10.10.1”的选项AP拿到IP之后就知道该去找谁了。2.3 SSID、安全模板和VAP模板三位一体绑定AP上线之后下一步才是配置无线业务。华为的WLAN业务配置是模板化的核心是三个模板SSID模板负责定名字安全模板负责定认证加密方式VAP模板负责把前两者和业务VLAN绑在一起。创建SSID模板wlan ssid-profile name test ssid HCIE-WLAN创建安全模板企业里最常见的组合是WPA2-PSK或者WPA3如果对接Radius那就是WPA2-802.1Xsecurity-profile name test security wpa2 psk passphrase 1234567890 aes创建VAP模板关联SSID模板、安全模板和业务VLANvap-profile name test forward-mode direct service-vlan vlan 20 ssid-profile test security-profile test注意forward-mode direct表示本地转发如果要用集中转发就改成forward-mode tunnel。service-vlan是在VAP模板里指定业务VLAN这一条是后面讲VLAN Pool时最核心的位置。最后把VAP模板应用到AP或AP组ap-group name ap-group1 vap-profile test wlan 1 radio 0这条命令的意思是在AP组ap-group1的射频0上把VAP模板test放出去。一个AP可以有多个射频2.4G和5G你可以分别绑定不同的策略。2.4 验证无线业务从终端视角倒推检查配置完别急着走一定要验证。我最常用的检查路径是先从AC上看AP状态再从终端视角看关联状态最后ping网关看数据转发。AC上查看AP是否正常上线display ap all如果状态显示normal说明AP已经正常注册。然后看终端关联情况display station ssid HCIE-WLAN如果这个命令能看到终端MAC说明STA已经成功关联到无线网络。最后让终端ping一下网关能通就说明业务转发正常。整个过程就是一条链路AC管理通道、AP射频发射、STA关联、业务报文转发环环相扣哪一环断了都能顺着这条链查下去。3. VLAN Pool配置为什么单个VLAN扛不住大规模接入基础WLAN配置搞定以后你大概率会撞上一个现实问题人一多网络就慢IP不够用广播包多到爆炸。这时候就该请出VLAN Pool了。它是华为WLAN里一个非常实用的功能直接解决无线大接入场景下的VLAN瓶颈问题。3.1 单VLAN部署的三大痛点早期我做过一个办公楼项目一个SSID就挂在VLAN 20上整个楼几百个终端全部挤在一个网段里。刚开始没觉得有什么问题后来用户规模上去麻烦一件接一件。第一个痛点是广播域太大。同一个VLAN就是一个二层广播域所有终端都在里面ARP广播、DHCP Discover、NetBIOS报文满天飞AP和交换机要处理大量无用的广播报文无线信道被无效报文占掉不少用户体验自然下降。第二个痛点是IP地址空间不够。一个C类网段最多254个可用地址一个园区某层楼几百号人一人手机加电脑就是两台设备半层楼就能把一个网段吃光。就算你扩成B类大网段广播域更大问题反而更严重。第三个痛点是故障影响面太大。一个网段出问题可能是DHCP冲突、ARP欺骗或者环路整片用户全遭殃。如果能把用户分散到多个VLAN里就算某一个VLAN出了问题也只是其中一部分用户受影响不至于全楼断网。3.2 VLAN Pool的工作原理用Hash把用户“摊”进不同的VLANVLAN Pool的核心思想很简单把多个VLAN放进一个资源池AP在用户接入时通过某种算法把不同的用户分配到池里的不同VLAN中达到隔离广播域、扩展地址空间、分担网关压力的目的。从用户视角看他们连接的是同一个SSID不感知底层VLAN差异但从网络视角看有人被分到VLAN 10有人被分到VLAN 20有人被分到VLAN 30二层广播域被切小了IP地址资源被放大了不同VLAN之间的流量在网关处汇聚后再互相通信。VLAN Pool用得最多的分配方式是Hash算法。AP会拿终端的MAC地址或者IP地址做Hash计算然后把结果映射到池里面的某个VLAN上。华为设备一般支持基于MAC的Hash和基于IP的Hash。MAC Hash的优点是同一台终端每次接入拿到的VLAN基本稳定适合做准入策略IP Hash则要求终端先拿到IP处理流程稍微复杂一些。除了Hash还有按比例分配的算法。你可以给池里的VLAN配权重比如VLAN 10权重占50%VLAN 20权重占30%VLAN 30权重占20%AP按权重决定分配比例。这在遇到某些VLAN用户增长特别快时很有用。3.3 VLAN Pool解决的不只是地址不够的问题很多工程师误以为VLAN Pool就是为了解决IP不够其实它的价值远不止于此。第一个价值是抑制广播风暴。把几百人拆到三个VLAN里每个VLAN的广播域缩小到原来的三分之一ARP和DHCP广播报文的数量大幅下降。无线环境里空口资源本来就紧张少一些无用广播对整体吞吐的提升是肉眼可见的。第二个价值是让DHCP地址分配更灵活。一个SSID绑定多个VLAN以后DHCP服务器只需要在相关VLANIF接口上把地址池配上不同VLAN之间天然就是隔离的。你不需要为一个SSID配置一个大得离谱的子网掩码而是用三个标准子网解决问题分配起来也清爽得多。第三个价值是漫游体验更平滑。在大规模无线网络里VLAN Pool能配合漫游机制尽量减少终端漫游时IP地址变化的概率。当然漫游这件事还有更复杂的学问我放在第五章讲。3.4 VLAN Pool的适用边界不是所有场景都适合VLAN Pool虽然好用但也不是银弹。比如你的认证方式是802.1X对接RadiusRadius下发的授权VLAN和VLAN Pool的分配逻辑会发生冲突必须仔细设计优先关系。又比如某些组播业务像IPTV、视频会议跨VLAN之后组播报文可能要依靠三层组播协议转发复杂度上升很多。还有VLAN Pool本身依赖于DHCP如果某些终端用的是静态IP而非DHCP就会因为拿不到网关信息而出问题。我在选型时的判断标准是纯无线接入、用户量大、业务以Internet访问为主、VLAN间互相访问很少这种场景非常适合VLAN Pool反之如果有大量的二层组播、有基于固定VLAN的终端准入策略、或者终端依赖固定的IP段访问某些服务就要谨慎必要时把指定用户放进固定VLAN。4. VLAN Pool实操华为设备上的完整配置流程概念理解了下面直接上配置。这里用一个典型的中型园区无线项目作为例子AC做网关并发DHCPAP通过本地转发模式接入交换机终端通过VLAN Pool分配到三个业务VLAN。4.1 项目拓扑与VLAN规划组网结构是出口路由器连接核心交换机核心连着一台AC和多台接入交换机接入交换机下面挂AP。AC做无线控制核心兼做业务网关。规划如下角色配置内容管理VLANVLAN 10网段10.10.10.0/24网关10.10.10.1业务VLAN Pool包含VLAN 20、30、40对应网段10.10.20.0/24、10.10.30.0/24、10.10.40.0/24DHCP由AC或核心交换机作为DHCP服务器为管理VLAN和业务VLAN分别分配地址AP管理地址通过接入交换机上的DHCP分配网关为VLAN 10的网关4.2 创建VLAN和VLAN Pool第一步是创建VLAN并给每个业务VLAN配置VLANIF接口地址。在华为设备上这样操作system-view vlan batch 10 20 30 40 interface vlanif 10 ip address 10.10.10.1 255.255.255.0 interface vlanif 20 ip address 10.10.20.1 255.255.255.0 interface vlanif 30 ip address 10.10.30.1 255.255.255.0 interface vlanif 40 ip address 10.10.40.1 255.255.255.0然后创建VLAN Poolvlan pool pool-user vlan 20 30 40这条命令的意思是把VLAN 20、30、40放进名为pool-user的地址池。华为VLAN Pool还支持给不同VLAN设置权重比如想让VLAN 20多分点用户vlan pool pool-user vlan 20 weight 50 vlan 30 weight 30 vlan 40 weight 20权重需要根据实际用户规模去调。设备默认不配置权重时是平均分配但你可以通过display vlan pool看到各VLAN上生成的用户数如果发现某个VLAN快满了再动态调整权重即可。4.3 在WLAN业务中调用VLAN PoolVLAN Pool建好以后最关键的一步是把VLAN Pool和VAP模板绑定。还是在WLAN视图下配置wlan vap-profile name pool-vap forward-mode direct service-vlan vlan-pool pool-user ssid-profile test security-profile test注意service-vlan vlan-pool pool-user这一行就是整个VLAN Pool配置的核心之前的单VLAN写法是service-vlan vlan 20现在换成了vlan-pool pool-user。然后把VAP模板绑定到AP组ap-group name ap-group1 vap-profile pool-vap wlan 1 radio 0到这里AC已经知道VLAN Pool会在VAP模板里生效了。用户在连接这个SSID时AC或AP会根据Hash算法把用户分到VLAN 20、30或40中的一个。4.4 DHCP服务器配置每个VLAN都要有对应地址池VLAN Pool分好VLAN了但用户拿到VLAN ID还不够还得有IP地址。所以在AC或者核心交换机上要为池里的每个业务VLAN配置DHCP地址池。如果DHCP配置在AC上流程是dhcp enable interface vlanif 20 dhcp select interface dhcp server dns-list 8.8.8.8 114.114.114.114 interface vlanif 30 dhcp select interface dhcp server dns-list 8.8.8.8 114.114.114.114 interface vlanif 40 dhcp select interface dhcp server dns-list 8.8.8.8 114.114.114.114这种方式叫接口地址池DHCP服务器会自动把VLANIF接口IP所在的网段作为分配给用户的网段。简单可靠我很推荐。如果你用独立的DHCP服务器则需要在中继或DHCP服务器上配置多段地址池并对应到源VLAN逻辑是一样的。配置完最重要的是检查。AC上可以查看VLAN Pool的实时状态display vlan pool这条命令会显示pool-user里各VLAN当前分配的用户数。如果发现所有用户都堆在VLAN 20上其他VLAN一个用户都没有说明Hash算法或者调用位置有问题。另外还可以在终端侧查看连上Wi-Fi之后打开IP详情看看自己拿到的网段是10.10.20.x还是10.10.30.x不同终端应该分布在不同的网段这就说明VLAN Pool生效了。4.5 本地转发模式下VLAN Pool对接交换机的注意事项如果你的转发模式是本地转发那么VLAN Pool分配出来的VLAN不仅AC要知道接入交换机也得放行。在日常项目中AP上联交换机的接口必须配置成trunk并且放通VLAN Pool里包含的所有业务VLAN。这一点特别容易遗漏。我之前就吃过亏AP上线了SSID也广播了终端也能连上但就是拿不到IP。排查半天最后发现AP上联交换机的trunk口只放通了VLAN 10和VLAN 20VLAN 30和VLAN 40被阻塞了。VLAN Pool把用户分到VLAN 30但交换机没放行用户的DHCP请求根本到不了网关自然拿不到地址。所以记住凡是VLAN Pool里出现的VLAN所有相关交换机的trunk口都放通别在这个地方省事。5. 常见问题与排查技巧实录这部分是干活时最容易踩的坑。我把自己在现场遇到过的、以及帮别人处理过的问题整理成一份速查表每个问题都附上排查思路和解决办法。5.1 AP一直显示未上线版本、时间、源地址三连查AP不上线的问题大概率出在三个地方。第一是AC的capwap source interface没有配置或者配置错误AP根本找不到AC。第二是AP的软件版本和AC自带版本不匹配AC下发版本失败。华为设备里如果AP版本太老AC可能拒绝接入需要先在AC上导入匹配的版本文件。第三是AP时间不对导致证书或认证失败检查AP的时钟源建议配置NTP统一对时。排查顺序我习惯是先在AC上用display ap all看AP状态如果是idle说明还没建立CAPWAP然后看AP侧能不能ping通AC的管理IP再抓包看AP发出的Discovery Request有没有回应。这样一圈下来基本能定位。5.2 终端连上SSID但上不了网先分清是关联问题还是IP问题用户连上Wi-Fi但打不开网页这是最常见的故障。我一般分两步查第一步看终端是不是拿不到IP第二步看拿到IP之后能不能通过网关。如果拿不到IP优先查DHCP。在AC上确认VLAN Pool里的VLAN有没有都配了DHCP确认AP上联交换机有没有放通所有业务VLAN确认网关的地址池是不是建在对应的VLANIF接口上。如果拿到IP但上不了网检查网关能不能ping出去检查出口NAT是否正常再检查AC或核心交换机上有没有配置限制用户访问的策略。5.3 VLAN Pool分配不均Hash算法和权重的调整VLAN Pool上线一段时间后你可能会发现某些VLAN用户特别多某些VLAN几乎没人。这种情况多半是Hash算法的特性决定的。设备默认的Hash算法会导致某些VLAN更容易被选中尤其当终端数量不多时分布看起来很偏。解决办法有两种。一种是把Hash算法从MAC Hash改成IP Hash因为IP地址末尾随机性更强分布会更均匀。另一种是给VLAN配权重人为调节分配比例。华为设备的VLAN Pool支持权重配置比如VLAN 20配50、VLAN 30配30、VLAN 40配20意思就是100个终端里大约有50个分配到VLAN 20。注意权重调整不是立刻对已经上线的用户生效它只影响后面新接入的用户所以调整之后要给终端重新关联才会有明显变化。5.4 漫游时IP不变和变背后的逻辑要搞清无线网络里用户从AP1走到AP2会发生漫游。漫游分两种一种是同一AC下的漫游另一种是跨AC的漫游这里讲同一AC下的情况。终端第一次上线时AC给它分配一个VLAN这个VLAN在用户在线期间一般是固定的所以漫游后IP不会变。但VLAN Pool的分配是基于Hash的如果用户漫游后重新关联触发重新Hash就可能被分到另一个VLAN导致IP地址变化。这种情况在跨三层漫游时更明显因为不同VLAN的网关在不同的VLANIF接口上终端必须重新拿IP业务可能出现短暂中断。要减少这种体验问题项目上常用两种手段。一是合理规划AP组的VLAN Pool让漫游区域内使用同一个VLAN Pool尽量降低重新Hash的概率。二是如果业务要求非常严格的IP不变比如某些打印、投屏场景不要用VLAN Pool给这些SSID单独绑定剩余VLAN牺牲一部分扩展性换稳定性。5.5 安全认证和VLAN Pool的兼容性问题再补充一个比较容易忽略的点。如果SSID用了802.1X认证Radius服务器认证通过后可能会向AC下发一个授权的VLANRadius下发的Filter-Id或Tunnel-Private-Group-ID。这时候就有一个问题是听话用Radius下发的VLAN还是用VLAN Pool算出来的VLAN华为设备的处理方式是如果Radius下发了VLAN优先使用Radius下发的授权VLAN。如果你不想让Radius干扰VLAN Pool的分配需要在Radius侧把该属性留空。还有一种做法是VLAN Pool和认证共同生效比如认证前用户进访客VLAN认证后根据Radius或本地策略进入VLAN Pool中的某个VLAN实现“先隔离、后放行”的效果。这种场景我建议先用小规模测试确认优先级和转发行为完全符合预期再批量上线。最后再分享一点我自己的体会。VLAN Pool这东西刚接触时觉得无非就是把几个VLAN塞到一个池子里但真正用得明白需要对Hash算法、转发模式、DHCP、漫游机制都有整体理解。我前前后后调过不少次最深的感触是VLAN Pool不是配置完就完事它更像个需要持续观察和调参的系统每次扩容、每次新增业务网段都得重新评估权重和VLAN划分是否合理。如果一个池子里某些VLAN长期闲置、某些VLAN天天报警别犹豫回去算算权重或者把Hash算法换一下效果往往立竿见影。