本文记录了WLAN配置实践的过程,该操作在华为HCIA中属于相对较复杂的实验,记录过程备忘。这里不就WLAN原理解释,仅进行配置实践,可以作为学习原理时候的参考。本文使用华为ENSP进行仿真。实验拓扑图如下:
1.WLAN工作流程
![image-20231209095723691](https://i-blog.csdnimg.cn/blog_migrate/805b18e1dffd697b2fe94a36df5b99bf.png)
2.模拟器实验操作
步骤0 :准备工作
在配置WLAN之前,需要确保基本网络的连通性,这里在ENSP中使用的WLAN拓扑如下,采用瘦AP模式,由路由器上配置DHCP,LSW1进行DHCP中继,AC采用旁挂式。设置两个VLAN,其中VLAN100 控制VLAN 传输CAPWAP协议,VLAN200是业务VLAN。其中LSW2作为二层交换机使用,LSW1作为三层交换机使用。
- ap不用做特别配置,刚上线时候外联端口是hybrid类型,使用POE+标准(802.3at)
![image-20231209102026376](https://i-blog.csdnimg.cn/blog_migrate/a509b2cef98c329bddddefbbd30cb7c8.png)
-
SW2配置
[SW2]vlan batch 100 200 # 创建业务和数据VLAN [SW2]int g0/0/2 [SW2-GigabitEthernet0/0/2]port link-type trunk [SW2-GigabitEthernet0/0/2]port trunk allow-pass vlan 100 200 # AP刚发出的帧是不带标记的,为了让帧能达到VLAN100对应的三层接口, # 需要打上标记,因此配置PVID100 [SW2-GigabitEthernet0/0/2]port trunk pvid vlan 100 # 这里不能配置PVID100,否则AP数据从0/0/1口出来后会被剥离VLAN100标签, # 无法找到VLAN100三层口 [SW2]interface GigabitEthernet0/0/1 [SW2-GigabitEthernet0/0/1] port link-type trunk [SW2-GigabitEthernet0/0/1] port trunk allow-pass vlan 100 200
-
SW1配置
[SW1]vlan batch 100 200 [SW1]interface GigabitEthernet0/0/2 [SW1-GigabitEthernet0/0/2]port link-type trunk [SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all [SW1]interface GigabitEthernet0/0/3 [SW1-GigabitEthernet0/0/3] port link-type trunk [SW1-GigabitEthernet0/0/3] port trunk allow-pass vlan all [SW1]interface GigabitEthernet0/0/1 # 需要配置为aceess,数据通向路由器时候标签被去除,否则路由器不认识包 # 如果要配置为trunk,则需要配置PVID移除标签 [SW1-GigabitEthernet0/0/1]port link-type access [SW1-GigabitEthernet0/0/1]port default vlan 1000
-
AC配置
[AC]vlan batch 100 200 [AC-GigabitEthernet0/0/1] port link-type trunk [AC-GigabitEthernet0/0/1] port trunk allow-pass vlan all
-
配置DHCP中继
-
SW1上配置接口类型
[SW1]interface vlanif100 [SW1-Vlanif100]ip address 10.1.1.2 24 # 交换机与路由器之间建立三层逻辑口,将g0/0/1划入VLAN1000 [SW1]vlan 1000 [SW1]interface GigabitEthernet0/0/1 [SW1-GigabitEthernet0/0/1]port link-type access [SW1-GigabitEthernet0/0/1]port default vlan 1000
-
R1配置相关接口
[AR1]interface GigabitEthernet0/0/0 [AR1-GigabitEthernet0/0/0] ip address 10.1.12.1 255.255.255.0
此时可以在路由器上ping通交换机端口
在SW2 g0/0/1上抓包,可以看到DHCP Discocery广播
但此时交换机不会将该DHCP广播帧泛洪到路由器。因为从SW2 g0/0/1上传递出来的DHCP Discocery报文是打着VLAN100标签,只能到达VLANif100对应目的地,而SW1的g0/0/1属于VLANif 1000,因此必须通过三层转发才行。
但是该广播没法转发到路由器DHCP服务器,需要在SW1上开启DHCP中继。继续在SW1上进行配置:
-
SW1上配置中继
[SW1]dhcp enable [SW1]int vlan 100 [SW1-Vlanif100]dhcp select relay # 配置中继后,广播变成单播 [SW1-Vlanif100]dhcp relay server-ip 10.1.12.1 # 设置DHCP服务器地址
在SW1 g0/0/1上进行抓包,可以看到已经从上面的广播变为单播,但此时只是AP发往路由器,并没有路由器给AP的回复。
-
在路由器上开启DHCP功能
[AR1]dhcp enable # 开启DHCP功能 [AR1]ip pool 1 # 配置DHCP地址池 [AR1-ip-pool-1]network 10.1.1.0 mask 255.255.255.0 [AR1-ip-pool-1]excluded-ip-address 10.1.1.1 # 排除一个地址给AC用 [AR1-ip-pool-1]gateway-list 10.1.1.254 # 配置AP网关地址 [AR1]interface g0/0/0 [AR1-GigabitEthernet0/0/0]dhcp select global # 在接口上开启地址分配
-
R1和SW1上配置路由
- AR
[AR1]ospf router-id 1.1.1.1 [AR1-ospf-1]area 0 # 简化起见,全网通告 [AR1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
- SW1
[SW1]ospf router-id 2.2.2.2 [SW1-ospf-1]area 0 [SW1-ospf-1-area-0.0.0.0]network 0.0.0.0 255.255.255.255
在SW1 g0/0/1上进行抓包,可以看到服务器回复的DHCP Offer:
展开DHCP服务器发给中继的DHCP Offer消息,可以看到以下关键信息:
中继是替客户端AP获取动态地址,因此此处抓到的都是中继和DHCP服务器之间的DHCP交互,而且经过中继后是单播形式。
在AP上查看,现在AP已经获得了DHCP动态分配的IP地址,即上面看到的10.1.1.253/24
-
步骤1:AP上线
FIT AP需完成上线过程,AC才能实现对AP的集中管理和控制,以及业务下发。为了AP能上线,AC需要配置如下内容:
![image-20231210005425571](https://i-blog.csdnimg.cn/blog_migrate/969c049338aef24bef2dfc2d9766764e.png)
AP的上线过程包括如下步骤:
1.1 AP获取IP地址;
这一步的操作在步骤0中已经完成,在实验中可以看到AP1已经获取到了10.1.1.253/24
1.2 AP发现AC并与之建立CAPWAP隧道
在AP通过DHCP得到自己的地址后,就会通过广播发送CAMWAP协议去找AC,此时在SW2 g0/0/1开启抓包,可以看到:
注意:如果AP和AC不在同一个网段,这个时候AP就不可能用广播去寻找AC,而是单播寻找。在R1的DHCP中需要增加option43配置:
[AR1]ip pool 1
[AR1-ip-pool-1]option 43 ip-address AC地址
这一步受限于模拟器无法做出效果,真机中可以。
上面的报文中可以看到AC并未回复,接下来配置AC:
[AC]interface Vlanif 100
[AC-Vlanif100]ip address 10.1.1.1 24
[AC]capwap source interface Vlanif 100 # 配置CAPWAP源地址
1.3 AP接入控制
![image-20231210004828327](https://i-blog.csdnimg.cn/blog_migrate/f46b083bf5413d13e93a344391218beb.png)
AC上配置监视域的模版:
[AC]wlan
[AC-wlan-view]regulatory-domain-profile name ctr # 配置监控域模版,ctr是自定义名字
[AC-wlan-regulate-domain-ctr]country-code cn # 国家码,每个国家发射功率不同
AC上配置AP组,方便需要对多个AP进行分组管控:
[AC]wlan
[AC-wlan-view]ap-group name ctr # 建立AP组,ctr是自定义名字
Info: This operation may take a few seconds. Please wait for a moment.done.
[AC-wlan-ap-group-ctr]regulatory-domain-profile ctr # 将监控域模版挂入需要的AP组
Warning: Modifying the country code will clear channel, power and antenna gain c
onfigurations of the radio and reset the AP. Continue?[Y/N]:y
AC上配置AP信息,可以用AP序列号SN认证,也可以用AP MAC认证,这里用AP MAC认证,查询AP MAC:
在AC上配置
[AC]wlan
[AC-wlan-view]ap-id 1 ap-mac 00e0-fc41-58d0 # 配置AP的MAC
[AC-wlan-ap-1]ap-group ctr # 挂到AP组,让AP上线
查看一下AP是否上线,看到状态nor
为正常上线
此时在AP上也弹出上线消息,命令提示符转换为BSSID:
![image-20231210005107528](https://i-blog.csdnimg.cn/blog_migrate/10af1e49d54c8f26af50e8e37d137577.png)
在在SW2 g0/0/1开启抓包,可以看到,完整的CAMWAP交互报文:
- CAPWAP隧道维持。
![image-20231210005313380](https://i-blog.csdnimg.cn/blog_migrate/c235e3306873392624e72a99662b2161.png)
步骤2 WLAN参数下发
需要在AC上建立如下模版:
![image-20231210010115264](https://i-blog.csdnimg.cn/blog_migrate/7beb73f7493e0ea8c0ef5c2d8e7a73ef.png)
2.1 建立安全模版
[AC]wlan
[AC-wlan-view]security-profile name ctr # ctr是自定义名字
# psk:共享秘钥方式 huawei@123:自定义的秘钥 aes:使用高级加密方式
[AC-wlan-sec-prof-ctr]security wpa-wpa2 psk pass-phrase huawei@123 aes
2.2 建立SSID模版
[AC]wlan
[AC-wlan-view]ssid-profile name ctr
[AC-wlan-ssid-prof-ctr]ssid ctr # ctr为自定义名称
2.3 建立VAP模版
[AC]wlan
[AC-wlan-view]vap-profile name ctr
[AC-wlan-vap-prof-ctr]ssid-profile ctr # 把SSID模版挂上去
Info: This operation may take a few seconds, please wait.done.
[AC-wlan-vap-prof-ctr]security-profile ctr # 把安全模版挂上去
Info: This operation may take a few seconds, please wait.done.
[AC-wlan-vap-prof-ctr]service-vlan vlan-id 200 # 业务VLAN,数据上来后会打上VLAN200标签
Info: This operation may take a few seconds, please wait.done.
2.4 下发参数
[AC]wlan
[AC-wlan-view]ap-group name ctr
[AC-wlan-ap-group-ctr]vap-profile ctr wlan 1 radio all # 下发安全、SSID、射频频段
Info: This operation may take a few seconds, please wait...done.
下发配置后,模拟器中的拓扑图上WLAN区域可以看到变化,不得不说华为的ENSP模拟得挺好。
![image-20231210011154256](https://i-blog.csdnimg.cn/blog_migrate/9d849b35f3d49bf3a0319937c0b9e367.png)
此时在模拟器中添加一个笔记本电脑,连接WLAN,发现地址获取不到:
原因在于业务VLAN200在SW1中没有配置
[SW1]interface Vlanif 200
[SW1-Vlanif200]ip address 192.168.1.254 24
[SW1-Vlanif200]dhcp select interface # 通过接口自动分配DHCP地址
此时笔记本WLAN已经连接上
![image-20231210011845654](https://i-blog.csdnimg.cn/blog_migrate/92457bc80faadb6a480106659433b2af.png)
ping网关能通:
![image-20231210012059953](https://i-blog.csdnimg.cn/blog_migrate/b74a4ce4e817dd8fe4b6a078d7a13db0.png)
此时业务数据不会经过AC(direct-forward),如果所有业务都需要先通过隧道方式到达AC再转发,则需要在AC上如下配置:
[AC]wlan
[AC-wlan-view]vap-profile name ctr
[AC-wlan-vap-prof-ctr]forward-mode tunnel
Warning: This action may cause service interruption. Continue?[Y/N]y
此时在笔记本上ping 192.168.1.254,在SW2 g0/0/1口抓ICMP包,可以看到先找AC后找网关的过程,使用的使IPOverIP技术
步骤3 再增加一个AP,测试漫游功能
查看AP2 MAC
在AC上加入AP2
[AC]wlan
[AC-wlan-view]ap-id 2 ap-mac 00e0-fc87-2990
[AC-wlan-ap-2]ap-group ctr
Warning: This operation may cause AP reset. If the country code changes, it will
clear channel, power and antenna gain configurations of the radio, Whether to c
ontinue? [Y/N]:y
Info: This operation may take a few seconds. Please wait for a moment.. done.
在SW2上做相应配置:
[SW2]interface g0/0/3
[SW2-GigabitEthernet0/0/3]port link-type trunk
SW2-GigabitEthernet0/0/3]port trunk pvid vlan 100
[SW2-GigabitEthernet0/0/3]port trunk allow-pass vlan all
此时在AC上可以看到新增加的AP:
模拟器中AP2也开始发射信号
![image-20231210014555326](https://i-blog.csdnimg.cn/blog_migrate/65fd89781863aec7bd9ed68f173c9be2.png)
在模拟器上将笔记本电脑从AP1区域移动到AP2区域,在笔记本上持续ping 192.168.1.254,可以发现不掉包,即在ESS内,可以不改变SSID进行漫游切换
![image-20231210014958912](https://i-blog.csdnimg.cn/blog_migrate/9b6212086c28ffef793a0a35f4a8f407.png)
![image-20231210015021046](https://i-blog.csdnimg.cn/blog_migrate/6ffa703deb7ae976de3563083fb72435.png)