跨个区域WiFi就掉线重连?华为AC跨VLAN三层漫游IP不变业务不断

不少企业的无线网络是按区域划 VLAN 的:一楼办公区一个业务 VLAN,二楼会议区另一个业务 VLAN,各自一个网段。划法本身没错,可代价藏在移动里——员工从一楼走到二楼,终端从一号 AP 切到二号 AP,两次关联分属不同网段,普通切换流程等于断开重连:重新走认证、重新申请 IP,正在进行的视频会议、VPN 会话、文件传输全部中断。人不动的网络没毛病,人一动就露馅。

华为 WLAN 的跨 VLAN 三层漫游就是冲这个场景来的:终端跨区域切换时,AC 让它保留漫游前的 IP 地址不变、所属业务 VLAN 不变,流量通过 AC 与新 AP 之间的隧道延续转发。用户手里的通话不掉、下载不停,感知不到自己已经"跨了网段"。

有两类部署细节官方文档专门做了提醒,漫游网络同样适用。一是组播报文的抑制:纯组播报文在无线空口没有 ACK 机制保障,通常以低速报文形式发送,网络侧若有大量异常组播流量涌入,会造成空口拥堵——本例业务数据采用直接转发,建议在直连 AP 的交换机接口上配置组播报文抑制(若有组播业务,限速值需谨慎确定)。二是端口隔离:直连 AP 的设备接口上建议配置端口隔离,否则直接转发模式下 VLAN 内可能形成大量不必要的广播报文,导致网络阻塞。下面 SwitchA 的配置里,两个 AP 下联口的 port-isolate enable 就是这条建议的落地。

组网与配置

示例采用旁挂三层组网:AC 旁挂在核心层,只管理 AP;STA 的业务流量走直接转发。两个区域各部署一台 AP——area_1 属 ap-group1、业务 VLAN 101,area_2 属 ap-group2、业务 VLAN 102。AC 作为 DHCP 服务器为 AP 分配地址,汇聚交换机 SwitchB 作为 DHCP 服务器为 STA 分配地址,两个区域 STA 的默认网关分别是 10.23.101.2/24 和 10.23.102.2/24,挂在 Router 上。AP 上线的基础配置(AP 组创建、域管理模板、CAPWAP 源接口、离线导入 AP)与常规组网一致,此处聚焦漫游链路的增量配置。

第一步,配置接入交换机 SwitchA:GE0/0/1 接 area_1、放行 VLAN10 和 VLAN101,GE0/0/3 接 area_2、放行 VLAN10 和 VLAN102,两个 AP 下联口配置端口隔离,GE0/0/2 上联放行全部 VLAN:

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] vlan batch 10 101 102
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type trunk
[SwitchA-GigabitEthernet0/0/1] port trunk pvid vlan 10
[SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 101
[SwitchA-GigabitEthernet0/0/1] port-isolate enable
[SwitchA-GigabitEthernet0/0/1] quit
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type trunk
[SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 10 101 102
[SwitchA-GigabitEthernet0/0/2] quit
[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/3] port link-type trunk
[SwitchA-GigabitEthernet0/0/3] port trunk pvid vlan 10
[SwitchA-GigabitEthernet0/0/3] port trunk allow-pass vlan 10 102
[SwitchA-GigabitEthernet0/0/3] port-isolate enable
[SwitchA-GigabitEthernet0/0/3] quit

第二步,配置汇聚交换机 SwitchB 与 Router,把两个业务网段的网关立起来:

<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] vlan batch 10 100 101 102
[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] port link-type trunk
[SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 10 101 102
[SwitchB-GigabitEthernet0/0/1] quit
[SwitchB] interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2] port link-type trunk
[SwitchB-GigabitEthernet0/0/2] port trunk allow-pass vlan 100
[SwitchB-GigabitEthernet0/0/2] quit
[SwitchB] interface gigabitethernet 0/0/3
[SwitchB-GigabitEthernet0/0/3] port link-type trunk
[SwitchB-GigabitEthernet0/0/3] port trunk allow-pass vlan 101 102
[SwitchB-GigabitEthernet0/0/3] quit
[SwitchB] interface vlanif 100
[SwitchB-Vlanif100] ip address 10.23.100.2 24
[SwitchB-Vlanif100] quit
<Huawei> system-view
[Huawei] sysname Router
[Router] vlan batch 101 102
[Router] interface gigabitethernet 1/0/0
[Router-GigabitEthernet1/0/0] port link-type trunk
[Router-GigabitEthernet1/0/0] port trunk allow-pass vlan 101 102
[Router-GigabitEthernet1/0/0] quit
[Router] interface vlanif 101
[Router-Vlanif101] ip address 10.23.101.2 24
[Router-Vlanif101] quit
[Router] interface vlanif 102
[Router-Vlanif102] ip address 10.23.102.2 24
[Router-Vlanif102] quit

第三步,配置 DHCP。SwitchB 上为 AP 所在网段做中继、代理 AC 分配地址,并为两个业务 VLAN 提供 STA 地址:

[SwitchB] dhcp enable
[SwitchB] interface vlanif 10
[SwitchB-Vlanif10] ip address 10.23.10.1 24
[SwitchB-Vlanif10] dhcp select relay
[SwitchB-Vlanif10] dhcp relay server-ip 10.23.100.1
[SwitchB-Vlanif10] quit
[SwitchB] interface vlanif 101
[SwitchB-Vlanif101] ip address 10.23.101.1 24
[SwitchB-Vlanif101] dhcp select interface
[SwitchB-Vlanif101] dhcp server gateway-list 10.23.101.2
[SwitchB-Vlanif101] quit
[SwitchB] interface vlanif 102
[SwitchB-Vlanif102] ip address 10.23.102.1 24
[SwitchB-Vlanif102] dhcp select interface
[SwitchB-Vlanif102] dhcp server gateway-list 10.23.102.2
[SwitchB-Vlanif102] quit

AC 上创建全局地址池为 AP 提供地址:

[AC] dhcp enable
[AC] ip pool huawei
[AC-ip-pool-huawei] network 10.23.10.0 mask 24
[AC-ip-pool-huawei] gateway-list 10.23.10.1
[AC-ip-pool-huawei] option 43 sub-option 3 ascii 10.23.100.1
[AC-ip-pool-huawei] quit
[AC] interface vlanif 100
[AC-Vlanif100] dhcp select global
[AC-Vlanif100] quit

第四步,配置 WLAN 业务参数,这是漫游成立的关键一步。安全模板、SSID 模板两个区域共用一份,VAP 模板则各建一份——wlan-net1 绑 VLAN 101 给 area_1,wlan-net2 绑 VLAN 102 给 area_2,同一 SSID 名称 wlan-net 让终端认为两个区域是同一个网络:

[AC-wlan-view] vap-profile name wlan-net1
[AC-wlan-vap-prof-wlan-net1] service-vlan vlan-id 101
[AC-wlan-vap-prof-wlan-net1] security-profile wlan-net
[AC-wlan-vap-prof-wlan-net1] ssid-profile wlan-net
[AC-wlan-vap-prof-wlan-net1] quit
[AC-wlan-view] vap-profile name wlan-net2
[AC-wlan-vap-prof-wlan-net2] service-vlan vlan-id 102
[AC-wlan-vap-prof-wlan-net2] security-profile wlan-net
[AC-wlan-vap-prof-wlan-net2] ssid-profile wlan-net
[AC-wlan-vap-prof-wlan-net2] quit

再把两份 VAP 模板分别挂到两个 AP 组的射频上:

[AC-wlan-view] ap-group name ap-group1
[AC-wlan-ap-group-ap-group1] vap-profile wlan-net1 wlan 1 radio 0
[AC-wlan-ap-group-ap-group1] vap-profile wlan-net1 wlan 1 radio 1
[AC-wlan-ap-group-ap-group1] quit
[AC-wlan-view] ap-group name ap-group2
[AC-wlan-ap-group-ap-group2] vap-profile wlan-net2 wlan 1 radio 0
[AC-wlan-ap-group-ap-group2] vap-profile wlan-net2 wlan 1 radio 1
[AC-wlan-ap-group-ap-group2] quit

射频信道本例采用射频调优功能自动选择,无需逐台手工指定。

验证

先看 VAP 是否创建成功。执行 display vap ssid wlan-net,当"Status"项显示为"ON"时,表示 AP 对应射频上的 VAP 已创建成功:

[AC-wlan-view] display vap ssid wlan-net
Info: This operation may take a few seconds, please wait.
WID : WLAN ID
--------------------------------------------------------------------------------
AP ID AP name RfID WID     BSSID          Status  Auth type     STA   SSID
--------------------------------------------------------------------------------
0     area_1  0    1       00E0-FC76-E360 ON      WPA/WPA2-PSK  0     wlan-net
0     area_1  1    1       00E0-FC76-E370 ON      WPA/WPA2-PSK  0     wlan-net
1     area_2  0    1       00E0-FC74-9640 ON      WPA/WPA2-PSK  0     wlan-net
1     area_2  1    1       00E0-FC74-9650 ON      WPA/WPA2-PSK  0     wlan-net
-------------------------------------------------------------------------------
Total: 4

STA 接入后,漫游前在 area_1 下的状态:

[AC-wlan-view] display station ssid wlan-net
Rf/WLAN: Radio ID/WLAN ID
Rx/Tx: link receive rate/link transmit rate(Mbps)
---------------------------------------------------------------------------------
STA MAC         AP ID Ap name   Rf/WLAN  Band  Type  Rx/Tx      RSSI  VLAN  IP address
---------------------------------------------------------------------------------
00e0-fcc7-1e08  0     area_1    1/1      5G    11n   46/59      -68   101   10.23.101.254
---------------------------------------------------------------------------------
Total: 1 2.4G: 0 5G: 1

当 STA 从 AP1 的覆盖范围移动到 AP2 的覆盖范围时,再查接入信息,可以看到 STA 关联到了 AP2:

[AC-wlan-view] display station ssid wlan-net
Rf/WLAN: Radio ID/WLAN ID                                                     
Rx/Tx: link receive rate/link transmit rate(Mbps)                             
----------------------------------------------------------------------------------------
STA MAC          AP ID Ap name  Rf/WLAN  Band  Type  Rx/Tx      RSSI  VLAN  IP address     
----------------------------------------------------------------------------------------
00e0-fcc7-1e08   1     area_2   1/1      5G    11n   46/59      -58   101   10.23.101.254
----------------------------------------------------------------------------------------
Total: 1 2.4G: 0 5G: 1

重点看最后三列:AP 已经变成 area_2——那里本是 VLAN 102 的地盘,但 STA 的 VLAN 仍是 101,IP 仍是 10.23.101.254,一字未动。这就是三层漫游在起作用:地址不重取、会话不重建。最后看漫游轨迹,确认这是一次 L3 漫游:

[AC-wlan-view] display station roam-track sta-mac 00e0-fcc7-1e08
Access SSID:wlan-net    
Rx/Tx:link receive rate/link transmit rate(Mbps) 
c:PMK Cache Roam r:802.11r Roam s:Same Frequency Network
------------------------------------------------------------------------------
L2/L3           AC IP                  AP name              Radio ID
BSSID           TIME                   In/Out RSSI          Out Rx/Tx
------------------------------------------------------------------------------
--              10.23.100.1            area_1               1
00E0-FC76-E370  2016/01/12 16:52:58    -51/-48              46/13
L3              10.23.100.1            area_2               1
00E0-FC74-9650  2016/01/12 16:55:45    -58/-                -/-
------------------------------------------------------------------------------
Number: 1

轨迹里第一条记录的 L2/L3 列为"–“表示初始接入,第二条明确标出 L3——跨 VLAN 的三层漫游成立,全程同一台 AC 管理。部署时有一条经验值得记:两个区域必须能同时被终端扫描到同一个 SSID,且两台 AP 归同一 AC 管理,漫游才有承接方。

人员流动大的办公环境,无线网络的设计要跟着人的动线走。贵州诚鑫致达科技做多楼层无线覆盖时,会先把高流动性区域圈出来单独规划漫游链路,再落 VLAN 与 DHCP 方案。你的网络里跨区域切换掉不掉线,欢迎留言聊聊遇到的现象。