WLAN配置实验
本文记录了WLAN配置实践的过程,该操作在华为HCIA中属于相对较复杂的实验,记录过程备忘。这里不就WLAN原理解释,仅进行配置实践,可以作为学习原理时候的参考。本文使用华为ENSP进行仿真。实验拓扑图如下:

1.WLAN工作流程
2.模拟器实验操作
步骤0 :准备工作
在配置WLAN之前,需要确保基本网络的连通性,这里在ENSP中使用的WLAN拓扑如下,采用瘦AP模式,由路由器上配置DHCP,LSW1进行DHCP中继,AC采用旁挂式。设置两个VLAN,其中VLAN100 控制VLAN 传输CAPWAP协议,VLAN200是业务VLAN。其中LSW2作为二层交换机使用,LSW1作为三层交换机使用。
- ap不用做特别配置,刚上线时候外联端口是hybrid类型,使用POE+标准(802.3at)
-
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需要配置如下内容:
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接入控制
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:
在在SW2 g0/0/1开启抓包,可以看到,完整的CAMWAP交互报文:

- CAPWAP隧道维持。
步骤2 WLAN参数下发
需要在AC上建立如下模版:
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模拟得挺好。
此时在模拟器中添加一个笔记本电脑,连接WLAN,发现地址获取不到:

原因在于业务VLAN200在SW1中没有配置
[SW1]interface Vlanif 200
[SW1-Vlanif200]ip address 192.168.1.254 24
[SW1-Vlanif200]dhcp select interface # 通过接口自动分配DHCP地址
此时笔记本WLAN已经连接上
ping网关能通:
此时业务数据不会经过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 willclear 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也开始发射信号
在模拟器上将笔记本电脑从AP1区域移动到AP2区域,在笔记本上持续ping 192.168.1.254,可以发现不掉包,即在ESS内,可以不改变SSID进行漫游切换

相关文章:
WLAN配置实验
本文记录了WLAN配置实践的过程,该操作在华为HCIA中属于相对较复杂的实验,记录过程备忘。这里不就WLAN原理解释,仅进行配置实践,可以作为学习原理时候的参考。本文使用华为ENSP进行仿真。实验拓扑图如下: 1.WLAN工作流程…...
java_web接收前端传的excel文件读取数据
#本次做一个将患者数据导入到某个模块的功能,前期集成的代码时不时出现异常,本次进行修改记录 //controller层/*** 导入患者数据*/RejectReplayRequestPostMapping("/importData")public Result<?> importData(HttpServletRequest req…...
在Vue开发中v-if指令和v-show指令的使用介绍和区别及使用场景
一、条件渲染 v-if v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回真值时才被渲染。 <h1 v-if"awesome">Vue is awesome!</h1>v-else 你也可以使用 v-else 为 v-if 添加一个“else 区块”。 <h1 v-if"awesome"&g…...
Power Query是啥
Power Query是一种用于数据获取、转换和整理的功能强大的工具,它是Microsoft Excel和Power BI中的一个组件。Power Query可以帮助用户从各种数据源中获取数据,并进行数据清洗、转换和整理,以便进一步分析和可视化。 使用Power Query…...
在k8s中部署nfs-client-provisioner
1、部署过程 1.1、环境依赖 在部署nfs-client-provisioner之前,需要先部署nfs服务。 因为,nfs-client-provisioner创建的pv都是要在nfs服务器中搭建的。 本示例中的nfs server的地址如下: [rootnode1 /]# showmount -e Export list for …...
23.12.10日总结
周总结 这周三的晚自习,学姐讲了一下git的合作开发,还有懒加载,防抖,节流 答辩的时候问了几个问题: 为什么在js中0.10.2!0.3? 在js中进行属性运算时,会出现0.10.20.300000000000000004js遵循IEEE754标…...
持续集成交付CICD:通过API方式上传Nexus制品
目录 一、实验 1.通过API方式上传Nexus制品 二、问题 1.如何通过API方式上传PNG图片 2.如何通过API方式上传tar.gz 与 ZIP文件 3.如何通过API方式上传Jar file文件 4.如何通过API方式上传制品(maven类型的制品)文件 5.如何下载制品 一、实验 1.通…...
Hadoop学习笔记(HDP)-Part.14 安装YARN+MR
目录 Part.01 关于HDP Part.02 核心组件原理 Part.03 资源规划 Part.04 基础环境配置 Part.05 Yum源配置 Part.06 安装OracleJDK Part.07 安装MySQL Part.08 部署Ambari集群 Part.09 安装OpenLDAP Part.10 创建集群 Part.11 安装Kerberos Part.12 安装HDFS Part.13 安装Ranger …...
reinforce 跑 CartPole-v1
gym版本是0.26.1 CartPole-v1的详细信息,点链接里看就行了。 修改了下动手深度强化学习对应的代码。 然后这里 J ( θ ) J(\theta) J(θ)梯度上升更新的公式是用的不严谨的,这个和王树森书里讲的严谨公式有点区别。 代码 import gym import torch from …...
【VRTK】【VR开发】【Unity】13-攀爬
课程配套学习资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概述】 VRTK提供两个预制件实现攀爬 Climbing Controller,用于控制Player的物理义体Climbable Interactable,用于设置可攀爬对象【设置Climbing Controller…...
华为OD机试真题-求幸存数之和-2023年OD统一考试(C卷)
题目描述: 给一个正整数列 nums,一个跳数 jump,及幸存数量 left。运算过程为:从索引为0的位置开始向后跳,中间跳过 J 个数字,命中索引为J1的数字,该数被敲出,并从该点起跳ÿ…...
python pyaudio实时读取音频数据并展示波形图
python pyaudio实时读取音频数据并展示波形图 下面代码可以驱动电脑接受声音数据,并实时展示音波图: import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation import pyaudio import wave import os import op…...
【算法系列篇】递归、搜索和回溯(二)
文章目录 前言1. 两两交换链表中的节点1.1 题目要求1.2 做题思路1.3 代码实现 2. Pow(X,N)2.1 题目要求2.2 做题思路2.3 代码实现 3. 计算布尔二叉树的值3.1 题目要求3.2 做题思路3.3 代码实现 4. 求根节点到叶结点数字之和4.1 题目要求4.2 做题思路4.3 代码实现 前言 前面为大…...
Ubuntu下安装SDL
源码下载地址(SDL version 2.0.14):https://www.libsdl.org/release/SDL2-2.0.14.tar.gz 将源码包拷贝到系统里 使用命令解压 tar -zxvf SDL2-2.0.14.tar.gz 解压得到文件夹 SDL2-2.0.14 进入文件夹 执行命令 ./configure 执行命令 make…...
创建vue项目:vue脚手架安装、vue-cli安装,vue ui界面创建vue工程(vue2/vue3),安装vue、搭建vue项目开发环境(保姆级教程二)
今天讲解 Windows 如何利用脚手架创建 vue 工程,以及 vue ui 图形化界面搭建 vue 开发环境,这是这个系列的第二章,有什么问题请留言,请点赞收藏!!! 文章目录 1、安装vue-cli脚手架2、vue ui创建…...
【3】密评-物理和环境安全测评
0x01 依据 GB/T 39786 -2021《信息安全技术 信息系统密码应用基本要求》针对等保三级系统要求: 物理和环境层面: a)宜采用密码技术进行物理访问身份鉴别,保证重要区域进入人员身份的真实性; b)宜采用密码技术保证电子门…...
笨爸爸工房,我们在校园|“小鲁班”,铸未来
为了响应国家号召,将劳动教育课程真正实现融入校园生活,笨爸爸工房已与洛阳市西下池小学、洛阳市第一实验小学西工校区、洛阳市西工区第二实验小学、洛阳第二外国语学校(兰溪校区)、洛阳市睿源幼儿园,这4所学校及1家幼…...
RPC 集群,gRPC 广播和组播
一、集群抽象:cluster 它是指我们在调用远程的时候,尝试解决: 1、failover:即引入重试功能,但是重试的时候会换一个新节点 2、failfast: 立刻失败,不需要重试 3、广播:将请求发送到所有的节点上 4、组…...
OpenSSL SSL_read: Connection was reset, errno 10054
fatal: unable to access ‘https://github.com/vangleer/es-big-screen.git/’: OpenSSL SSL_read: Connection was reset, errno 10054 解决方法:git config --global http.sslVerify “false” 参考链接: https://github.com/Kong/insomnia/issues/2…...
【springboot】整合redis和定制化
1.前提条件:docker安装好了redis,确定redis可以访问 可选软件: 2.测试代码 (1)redis依赖 org.springframework.boot spring-boot-starter-data-redis (2)配置redis (3) 注入 Resource StringRedisTemplate stringRedisTemplate; 这里如果用Autowi…...
AI多模型协同架构:破解单点依赖与技术主权困局
1. 这不是科幻讨论,而是今天必须面对的产业现实 “AI未来:一个巨无霸,还是多个巨头?”——这个标题乍看像科技媒体的年终圆桌话题,但在我过去十年跟踪AI基础设施、模型服务与企业落地的实操中,它早已不是假…...
Unity科幻隧道系统:模块化语法与三层材质架构
1. 这不是“贴图模型”的资源包,而是一套可复用的科幻空间语法系统你有没有试过在Unity里搭一个像《银翼杀手2049》里那种泛着冷光、布满管线与全息界面的通道?我去年做一款赛博朋克风格的VR导览项目时,就卡在这一步——买了三套号称“科幻隧…...
明日方舟智能基建管理终极指南:Arknights-Mower 完整使用教程
明日方舟智能基建管理终极指南:Arknights-Mower 完整使用教程 【免费下载链接】arknights-mower 《明日方舟》长草助手 项目地址: https://gitcode.com/gh_mirrors/ar/arknights-mower 还在为《明日方舟》每日繁琐的基建操作而烦恼吗?Arknights-M…...
知识图谱与推荐系统实战
一、传统推荐系统的“天花板”协同过滤的困境你刷电商、看视频时,推荐系统总在猜你喜欢什么。最经典的协同过滤思路是“物以类聚、人以群分”:你买过A,那么买过A的人也常买B,于是把B推给你。这套方法简单有效,但也有硬…...
在自动化工作流中集成大模型,利用Taotoken统一API调用与管理
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在自动化工作流中集成大模型,利用Taotoken统一API调用与管理 将大模型能力集成到自动化工作流中,例如CI/CD…...
AI Agent 上线后,别只看成功率:你需要一套可观测性指标
很多团队做 AI Agent,上线前会问一个问题: “成功率多少?” 这当然要看。 但只看成功率,很容易误判。 因为 AI Agent 的问题不是简单的成功或失败。 它可能成功调用了工具,但参数是错的。 它可能生成了回复,…...
TrollInstallerX终极指南:iOS 14.0-16.6.1一键安装TrollStore的完整教程
TrollInstallerX终极指南:iOS 14.0-16.6.1一键安装TrollStore的完整教程 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否厌倦了iOS系统的种种限制&…...
ConstraintLayout的‘隐藏技巧’:用百分比、比例和GoneMargin搞定复杂UI适配
ConstraintLayout高级适配技巧:百分比、比例与动态隐藏视图的完美解决方案 在Android开发中,ConstraintLayout已经成为构建复杂界面的首选布局方式。但许多开发者仅仅停留在基础使用层面,未能充分发挥其强大的适配能力。本文将深入探讨三个关…...
信通院:人工智能模数共振体系研究报告(2026年)
这份由中国信通院与中车工业研究院 2026 年 5 月发布的《人工智能模数共振体系研究报告(2026 年)》,聚焦数据与模型双向共振,系统阐释模数共振体系内涵、核心要素、能力支撑、协同机制并给出落地建议,为 AI 与实体经济…...
5步实现《鸣潮》游戏体验全面升级:WuWa-Mod模组高效部署指南
5步实现《鸣潮》游戏体验全面升级:WuWa-Mod模组高效部署指南 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod 还在为《鸣潮》游戏中的技能冷却、体力限制和繁琐操作而烦恼吗?WuW…...
