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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/212828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【electron】外语函数接口 FFI

▒ 目录 ▒ 🛫 导读需求开发环境 1️⃣ FFI概念优点注意事项 2️⃣ 【废弃】node-ffi3️⃣ node-ffi-napi安装(windows系统下)示例:MessageBoxA、NtSuspendProcess 4️⃣ node-win32-api安装示例:查找窗口并设置窗口标…

UE5数据传递-纹理贴图

期待结果: 流程 1. 通过C写入数据到纹理贴图 2. 在材质中通过采样能正确读取写入的数值 踩坑: 1. UE5之后,需要设置采样类型,才能达到上图效果,默认采样类型做了插值计算 FColor中写入 PF_B8G8R8A8 UTexture2D* Conve…

第四题:憧憬(JavaPythonC++实现)【第六届传智杯-新增场次-程序设计挑战赛解题分析详解复盘】

本文仅为【2023传智杯-第二场】第六届传智杯程序设计挑战赛-题目解题分析详解的解题个人笔记,个人解题分析记录。 本文包含:第六届传智杯程序设计挑战赛题目、解题思路分析、解题代码、解题代码详解(Java&Python&C++实现) 文章目录 更新进度记录第四题:憧憬(Java…

AI 绘画 | Stable Diffusion 艺术二维码制作

前言 这篇文章教会你如果用Stable Diffusion WEB UI制作艺术二维码,什么是艺术二维码呢?就是普通二维码和艺术图片融合后的二维码图片,如下图所示。主要原理还是使用controlNet的control_v1p_sd15_qrcode_monster模型和光影模型control_v1p_sd15_brightness。 教程 准备…

【论文阅读笔记】NeRF+Mip-NeRF+Instant-NGP

目录 前言NeRF神经辐射场体渲染连续体渲染体渲染离散化 方法位置编码分层采样体渲染推导公式(1)到公式(2)部分代码解读相机变换(重要!) Mip-NerfTo do Instant-NGPTo do 前言 NeRF是NeRF系列的…

DIP——边缘提取与分割

1.使用canny算法进行边缘提取 本实验比较简单,基本思路是对原图像进行一个高斯模糊处理,用于去噪,之后转换为灰度图,直接调用cv库中的canny记性边缘提取。若想直接得到彩色边缘,则通过按位与操作,将原始彩色…

SQLMap进阶使用

预计更新SQL注入概述 1.1 SQL注入攻击概述 1.2 SQL注入漏洞分类 1.3 SQL注入攻击的危害 SQLMap介绍 2.1 SQLMap简介 2.2 SQLMap安装与配置 2.3 SQLMap基本用法 SQLMap进阶使用 3.1 SQLMap高级用法 3.2 SQLMap配置文件详解 3.3 SQLMap插件的使用 SQL注入漏洞检测 4.1 SQL注入…

ingress介绍和ingress通过LoadBalancer暴露服务配置

目录 一.ingress基本原理介绍 1.将原有用于暴露服务和负载均衡的服务的三四层负载均衡变为一个七层负载均衡 2.controller和ingress 3.通过下面这个图可能会有更直观的理解 二.为什么会出现ingress 1.NodePort存在缺点 2.LoadBalancer存在缺点 三.ingress三种暴露服务的…

7-6 通讯录排序

输入n个朋友的信息&#xff0c;包括姓名、生日、电话号码&#xff0c;本题要求编写程序&#xff0c;按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。 输入格式: 输入第一行给出正整数n&#xff08;<10&#xff09;。随后n行&#xff0c;每行按照“…

基于JavaWeb+SSM+Vue微信小程序的科创微应用平台系统的设计和实现

基于JavaWebSSMVue微信小程序的科创微应用平台系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关技术…

Linux Component概述和高通component的使用

1 Linux为什么要引入Component框架&#xff1f; 为了让subsystem按照一定顺序初始化设备才提出来的。 subsystem中由很多设备模块&#xff0c;内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video …

kubebuilder开发operator

安装kubebuilder前 需要有kubernetes环境和golang环境 官网&#xff1a;https://go.kubebuilder.io/ 安装kubebuilder #下载 wget https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH) #改名kubebuilder后加权限 chmod x kubebuilder #放到环境变量里 mv k…

【C语言程序设计】编写简单的C程序

目录 前言 一、程序设计 二、程序改错 三、程序完善 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如…

unity 2d 入门 飞翔小鸟 死亡 显示GameOver(十四)

1、添加Img create->ui->img 把图片拖进去 2、和分数一样、调整位置 3、修改角色脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Fly : MonoBehaviour {//获取小鸟&#xff08;刚体&#xff09;private Rigidbod…

【Apipost】批量删除我的51CTO文章

文章目录 一、序二、API分析三、Apipost测试四、脚本五、Apipost中完成 一、序 去年开始再51CTO同步更新文章&#xff0c;一年多过去了&#xff0c;只涨了3个粉丝。看了下这个平台就是卖课、搞培训的&#xff0c;退出了。决定把文章也删除了&#xff08;有人私信我说专门注册了…

ToolkenGPT:用大量工具增强LLM

深度学习自然语言处理 原创作者&#xff1a;cola 用外部工具增强大型语言模型(LLM)已经成为解决复杂问题的一种方法。然而&#xff0c;用样例数据对LLM进行微调的传统方法&#xff0c;可能既昂贵又局限于一组预定义的工具。最近的上下文学习范式缓解了这一问题&#xff0c;但有…

Shell 常用命令详解-上

Shell 常用命令详解-上 1.目录查阅相关命令2.文件操作相关命令 1.目录查阅相关命令 ll 命令 命令描述&#xff1a;ll命令用于显示指定工作目录下的内容。 命令格式&#xff1a;ll [参数] [目录名]。 参数说明&#xff1a; 参数说明-a显示所有文件及目录&#xff08;包括隐藏文…

【机器学习】041_模型开发迭代过程

一、模型开发的一般步骤 1. 明确研究问题 确定问题的组成和结果&#xff0c;明晰问题是分类问题还是回归问题 2. 决定系统总体架构 ①理解数据&#xff1a;采集&#xff08;爬取&#xff09;数据&#xff0c;生成&#xff08;导入&#xff09;数据&#xff0c;进行数据清洗…

代码随想录二刷 |二叉树 |101. 对称二叉树

代码随想录二刷 &#xff5c;二叉树 &#xff5c;101. 对称二叉树 题目描述解题思路 & 代码实现递归法迭代法使用队列使用栈 题目描述 101.对称二叉树 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,…

zcms企业官网建站系统源码搭建-支持页面自定义

1.支持mysql&#xff0c;sqlite&#xff0c;access三种数据库。 2.模板和标签与asp版的zzzcms通用。 3.asp版的zzzcms的access数据库可直接使用。 4.支持手机站。 &#xff08;增删改查不做描述&#xff09;&#xff1a; 网站信息 名称&#xff0c;logo&#xff0c;微信&…