当前位置: 首页 > news >正文

WLAN配置实验

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

image-20231210011047594

1.WLAN工作流程

image-20231209095723691

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
  • 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通交换机端口

      image-20231209111758998

      在SW2 g0/0/1上抓包,可以看到DHCP Discocery广播

      image-20231208194020913

      但此时交换机不会将该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的回复。

      image-20231209232153199

    • 在路由器上开启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:

      image-20231209235615503

      展开DHCP服务器发给中继的DHCP Offer消息,可以看到以下关键信息:

      image-20231210000040740

      中继是替客户端AP获取动态地址,因此此处抓到的都是中继和DHCP服务器之间的DHCP交互,而且经过中继后是单播形式。

      在AP上查看,现在AP已经获得了DHCP动态分配的IP地址,即上面看到的10.1.1.253/24

      image-20231210000444267

步骤1:AP上线

FIT AP需完成上线过程,AC才能实现对AP的集中管理和控制,以及业务下发。为了AP能上线,AC需要配置如下内容:

image-20231210005425571

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开启抓包,可以看到:

image-20231210001250710

注意:如果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

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:

image-20231210004022701

在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为正常上线

image-20231210004426991

此时在AP上也弹出上线消息,命令提示符转换为BSSID:

image-20231210005107528

在在SW2 g0/0/1开启抓包,可以看到,完整的CAMWAP交互报文:

image-20231210004804907

  • CAPWAP隧道维持。
image-20231210005313380
步骤2 WLAN参数下发

需要在AC上建立如下模版:

image-20231210010115264
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

此时在模拟器中添加一个笔记本电脑,连接WLAN,发现地址获取不到:

image-20231210011418319

原因在于业务VLAN200在SW1中没有配置

[SW1]interface Vlanif 200
[SW1-Vlanif200]ip address 192.168.1.254 24
[SW1-Vlanif200]dhcp select interface  # 通过接口自动分配DHCP地址

此时笔记本WLAN已经连接上

image-20231210011845654

ping网关能通:

image-20231210012059953

此时业务数据不会经过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技术

image-20231210013443824

步骤3 再增加一个AP,测试漫游功能

查看AP2 MAC

image-20231210013724099

在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:

image-20231210014528810

模拟器中AP2也开始发射信号

image-20231210014555326

在模拟器上将笔记本电脑从AP1区域移动到AP2区域,在笔记本上持续ping 192.168.1.254,可以发现不掉包,即在ESS内,可以不改变SSID进行漫游切换

image-20231210014958912 image-20231210015021046

相关文章:

WLAN配置实验

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

java_web接收前端传的excel文件读取数据

#本次做一个将患者数据导入到某个模块的功能&#xff0c;前期集成的代码时不时出现异常&#xff0c;本次进行修改记录 //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是一种用于数据获取、转换和整理的功能强大的工具&#xff0c;它是Microsoft Excel和Power BI中的一个组件。Power Query可以帮助用户从各种数据源中获取数据&#xff0c;并进行数据清洗、转换和整理&#xff0c;以便进一步分析和可视化。 使用Power Query&#xf…...

在k8s中部署nfs-client-provisioner

1、部署过程 1.1、环境依赖 在部署nfs-client-provisioner之前&#xff0c;需要先部署nfs服务。 因为&#xff0c;nfs-client-provisioner创建的pv都是要在nfs服务器中搭建的。 本示例中的nfs server的地址如下&#xff1a; [rootnode1 /]# showmount -e Export list for …...

23.12.10日总结

周总结 这周三的晚自习&#xff0c;学姐讲了一下git的合作开发&#xff0c;还有懒加载&#xff0c;防抖&#xff0c;节流 答辩的时候问了几个问题&#xff1a; 为什么在js中0.10.2!0.3? 在js中进行属性运算时&#xff0c;会出现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方式上传制品&#xff08;maven类型的制品&#xff09;文件 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的详细信息&#xff0c;点链接里看就行了。 修改了下动手深度强化学习对应的代码。 然后这里 J ( θ ) J(\theta) J(θ)梯度上升更新的公式是用的不严谨的&#xff0c;这个和王树森书里讲的严谨公式有点区别。 代码 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卷)

题目描述&#xff1a; 给一个正整数列 nums&#xff0c;一个跳数 jump&#xff0c;及幸存数量 left。运算过程为&#xff1a;从索引为0的位置开始向后跳&#xff0c;中间跳过 J 个数字&#xff0c;命中索引为J1的数字&#xff0c;该数被敲出&#xff0c;并从该点起跳&#xff…...

python pyaudio实时读取音频数据并展示波形图

python pyaudio实时读取音频数据并展示波形图 下面代码可以驱动电脑接受声音数据&#xff0c;并实时展示音波图&#xff1a; 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

源码下载地址&#xff08;SDL version 2.0.14&#xff09;&#xff1a;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 工程&#xff0c;以及 vue ui 图形化界面搭建 vue 开发环境&#xff0c;这是这个系列的第二章&#xff0c;有什么问题请留言&#xff0c;请点赞收藏&#xff01;&#xff01;&#xff01; 文章目录 1、安装vue-cli脚手架2、vue ui创建…...

【3】密评-物理和环境安全测评

0x01 依据 GB/T 39786 -2021《信息安全技术 信息系统密码应用基本要求》针对等保三级系统要求&#xff1a; 物理和环境层面&#xff1a; a&#xff09;宜采用密码技术进行物理访问身份鉴别,保证重要区域进入人员身份的真实性&#xff1b; b&#xff09;宜采用密码技术保证电子门…...

笨爸爸工房,我们在校园|“小鲁班”,铸未来

为了响应国家号召&#xff0c;将劳动教育课程真正实现融入校园生活&#xff0c;笨爸爸工房已与洛阳市西下池小学、洛阳市第一实验小学西工校区、洛阳市西工区第二实验小学、洛阳第二外国语学校&#xff08;兰溪校区&#xff09;、洛阳市睿源幼儿园&#xff0c;这4所学校及1家幼…...

RPC 集群,gRPC 广播和组播

一、集群抽象&#xff1a;cluster 它是指我们在调用远程的时候&#xff0c;尝试解决&#xff1a; 1、failover:即引入重试功能&#xff0c;但是重试的时候会换一个新节点 2、failfast: 立刻失败&#xff0c;不需要重试 3、广播&#xff1a;将请求发送到所有的节点上 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 解决方法&#xff1a;git config --global http.sslVerify “false” 参考链接&#xff1a; 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 &#xff08;3&#xff09; 注入 Resource StringRedisTemplate stringRedisTemplate; 这里如果用Autowi…...

HarmonyOS鸿蒙操作系统架构开发

什么是HarmonyOS鸿蒙操作系统&#xff1f; HarmonyOS是华为公司开发的一种全场景分布式操作系统。它可以在各种智能设备&#xff08;如手机、电视、汽车、智能穿戴设备等&#xff09;上运行&#xff0c;具有高效、安全、低延迟等优势。 目录 HarmonyOS 一、HarmonyOS 与其他操…...

共创共赢|美创科技获江苏移动2023DICT生态合作“产品共创奖”

12月6日&#xff0c;以“5G江山蓝 算网融百业 数智创未来”为主题的中国移动江苏公司2023DICT合作伙伴大会在南京成功举办。来自行业领军企业、科研院所等DICT产业核心力量的百余家单位代表参加本次大会&#xff0c;共话数实融合新趋势&#xff0c;共拓合作发展新空间。 作为生…...

深度学习——第3章 Python程序设计语言(3.5 Python类和对象)

3.5 Python类和对象 目录 1. 面向对象的基本概念 2. 类和对象的关系 3. 类的声明 4. 对象的创建和使用 5. 类对象属性 6. 类对象方法 7. 面向对象的三个基本特征 8. 综合案例&#xff1a;汉诺塔图形化移动 1.1 面向对象的基本概念 1.1.1 对象&#xff08;object&#x…...

【原创】【一类问题的通法】【真题+李6卷6+李4卷4(+李6卷5)分析】合同矩阵A B有PTAP=B,求可逆阵P的策略

【铺垫】二次型做的变换与相应二次型矩阵的对应&#xff1a;二次型f&#xff08;x1&#xff0c;x2&#xff0c;x3&#xff09;xTAx&#xff0c;g&#xff08;y1&#xff0c;y2&#xff0c;y3&#xff09;yTBy ①若f在可逆变换xPy下化为g&#xff0c;即P为可逆阵&#xff0c;有P…...

代码随想录算法训练营第六十天 | 84.柱状图中最大的矩形

84.柱状图中最大的矩形 题目链接&#xff1a;84. 柱状图中最大的矩形 本题与接雨水相近。按列来看&#xff0c;是要找到每一个柱子左右第一个比它矮的柱子&#xff0c;即对于该柱子来说所能组成的最大面积&#xff0c;将每个柱子所能得到的最大面积进行对比最终得到最大矩形。 …...

C#结合JavaScript实现多文件上传

目录 需求 引入 关键代码 操作界面 ​JavaScript包程序 服务端 ashx 程序 服务端上传后处理程序 小结 需求 在许多应用场景里&#xff0c;多文件上传是一项比较实用的功能。实际应用中&#xff0c;多文件上传可以考虑如下需求&#xff1a; 1、对上传文件的类型、大小…...

STM32——继电器

继电器工作原理 单片机供电 VCC GND 接单片机&#xff0c; VCC 需要接 3.3V &#xff0c; 5V 不行&#xff01; 最大负载电路交流 250V/10A &#xff0c;直流 30V/10A 引脚 IN 接收到 低电平 时&#xff0c;开关闭合。...

性能监控体系:InfluxDB Grafana Prometheus

InfluxDB 简介 什么是 InfluxDB &#xff1f; InfluxDB 是一个由 InfluxData 开发的&#xff0c;开源的时序型数据库。它由 Go 语言写成&#xff0c;着力于高性能地查询与存储时序型数据。 InfluxDB 被广泛应用于存储系统的监控数据、IoT 行业的实时数据等场景。 可配合 Te…...

CS106L2023 and CS106B 环境配置(详细教程)

1.问题&#xff1a; &#xff08;1&#xff09;CS106L 运行./setup.sh 脚本时出错 &#xff08;windows 请下载git&#xff0c;在git bash 打开运行&#xff09; &#xff08;2&#xff09;CS106B&#xff0c;QT构建 构建错误&#xff1a;一般构建错误&#xff0c;例如 Erro…...

Docker-多容器应用

一、概述 到目前为止&#xff0c;你一直在使用单个容器应用。但是&#xff0c;现在您将 MySQL 添加到 应用程序堆栈。经常会出现以下问题 - “MySQL将在哪里运行&#xff1f;将其安装在同一个 容器还是单独运行&#xff1f;一般来说&#xff0c;每个容器都应该做一件事&#x…...