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

网络运维与网络安全 学习笔记2023.11.30

网络运维与网络安全 学习笔记 第三十一天
在这里插入图片描述

今日目标

实现AP自动注册、配置WLAN业务参数、无线终端通过wifi互访

实现AP自动注册

项目背景

在这里插入图片描述
企业内网的大量AP已经通过DHCP的方式获得IP地址
为了实现后期大量AP的统一管理,希望通过AC实现集中控制
在AC设备上,为了便于设备管理,按照统一的命名格式

项目分析

需要确保AP知道AC服务器的IP地址
需要确保AP可以与AC保持IP层面的连通性
需要确保在AC上提前添加了AP的相关信息,实现顺利注册

解决方案

需要确保AP知道AC服务器的IP地址
因为AP的地址信息全部来自于DHCP服务器,所以我们需要调整DHCP服务器的配置内容,在AP所在的VLAN的地址池中,指定AC服务器的IP地址
需要确保AP可以与AC保持IP层面的连通性
需要确保在AC上提前添加了AP的相关信息,实现顺利注册
配置思路
①修改DHCP服务器的地址池,添加AC服务器的IP地址
②配置AC接口地址和路由,实现AC与AP的网关设备之间的互通
③配置AC服务器,进行AP的自动注册
创建VLAN pool,用于无线终端用户使用的vlan
创建AP组,将需要使用相同配置的AP加入到同一个AP组,实现统一配置
配置AC的系统参数,包括国家代码、AC服务器与AP通信时使用的接口地址
配置AP的上线方式并离线导入AP,实现AP正常上线
配置命令
确保AP知道AC服务器的IP地址
[DHCP]ip pool VLAN100
[DHCP-ip-pool-VLAN100]option 43 sub-option 3 ascii 192.168.200.1
[DHCP-ip-pool-VLAN100]quit
确保AP与AC之间的互通
[SW2]vlan 200
[SW2-vlan200]quit

[SW2]interface GigabitEthernet0/0/10
[SW2-GigabitEthernet0/0/10]port link-type access
[SW2-GigabitEthernet0/0/10]port default vlan 200
[SW2-GigabitEthernet0/0/10]quit

[SW2]interface Vlanif 200
[SW2-Vlanif200]ip address 192.168.200.254 24
[SW2-Vlanif200]quit
确保AP与AC之间的互通
[AC6605]vlan 200
[AC6605-vlan200]quit

[AC6605]interface GigabitEthernet0/0/10
[AC6605-GigabitEthernet0/0/10]port link-type access
[AC6605-GigabitEthernet0/0/10]port default vlan 200
[AC6605-GigabitEthernet0/0/10]quit

[AC6605]interface Vlanif 200
[AC6605-Vlanif200]ip address 192.168.200.1 24
[AC6605-Vlanif200]quit

[AC6605]ip route-static 0.0.0.0 0 192.168.200.254
配置AC,创建VLAN pool ,为无线终端用户提供服务
[AC6605]vlan pool pool1
[AC6605-vlan-pool-pool1]vlan 101 102
[AC6605-vlan-pool-pool1]quit

[AC6605]vlan pool pool2
[AC6605-vlan-pool-pool2]vlan 103 104
[AC6605-vlan-pool-pool2]quit
[AC6605]
配置AC,创建AP组,以及国家代码和AC与AP的通信接口地址
[AC6605]wlan
[AC6605-wlan-view]ap-group name neibu
[AC6605-wlan-ap-group-neibu]quit

[AC6605-wlan-view]ap-group name wailai
[AC6605-wlan-ap-goup-wailai]quit

[AC6605-wlan-view]regulatory-domain-profile name domain1
[AC6605-wlan-regulate-domain-domian1]country-code cn
[AC6605-wlan-regulate-domain-domian1]quit
[AC6605-wlan-view]ap-group name neibu
[AC6605-wlan-ap-group-neibu]regulatory-domain-profile domain1
Warning:Modifying the country code will clear channel,power and antenna gain configurations of the radio and reset the AP.
Continue?[Y/N]:y
[AC6605-wlan-ap-group-group1]quit

[AC6605-wlan-view]ap-group name wailai
[AC6605-wlan-ap-group-wailai]regulatory-domian-profile domain1
Warning:Modifying the country code will clear channel,power and antenna gain configurations of the radio and reset the AP.
Continue?[Y/N]:y
[AC6605-wlan-ap-group-group2]quit

[AC6605]capwap source interface Vlanif 200
配置AC,离线导入AP
[AC6605]wlan
[AC6605-wlan-view]ap-id 1 ap-mac 00E0-FC9D-1580
[AC6605-wlan-ap-1]ap-name neibu-1
[AC6605-wlan-ap-1]ap-group neibu
Warning:This operation may cause AP reset. If the country code changaes,it willclear channel,power and antenna gain configurations of the radio ,Whether to continue?[Y/N]:y
[AC6605-wlan-ap-1]quit

[AC6605-wlan-view]ap-id 2 ap-mac 00e0-fc60-4c70
[AC6605-wlan-ap-2]ap-name neibu-2
[AC6605-wlan-ap-2]ap-group neibu
Warning:This operation may cause AP reset. If the country code changaes,it willclear channel,power and antenna gain configurations of the radio ,Whether to continue?[Y/N]:y
[AC6605-wlan-ap-2]quit

[AC6605-wlan-view]ap-id 3 ap-mac 00e0-fc56-6320
[AC6605-wlan-ap-3]ap-name wailai-1
[AC6605-wlan-ap-3]ap-group wailai
Warning:This operation may cause AP reset. If the country code changaes,it willclear channel,power and antenna gain configurations of the radio ,Whether to continue?[Y/N]:y
[AC6605-wlan-ap-3]quit

[AC6605-wlan-view]ap-id 4 ap-mac 00e0-fc4e-2fd0
[AC6605-wlan-ap-4]ap-name wailai-2
[AC6605-wlan-ap-4]ap-group wailai
Warning:This operation may cause AP reset. If the country code changaes,it willclear channel,power and antenna gain configurations of the radio ,Whether to continue?[Y/N]:y
[AC6605-wlan-ap-4]quit
在AC上查看AP的注册状态
[AC6605]display ap all
Info:This operation may take a few seconds.Please wait for a moment.done.
Total AP information:
idle : idle [0]
nor : normal [4]
ID MAC Name Group IP Type State STA Uptime
1 00e0-fc9d-1580 neibu group1 192.168.100.253 AP5030DN nor 0 9M:54S
2 00e0-fc60-4c70 neibu group1 192.168.100.251 AP5030DN nor 0 3M:45S
3 00e0-fc56-6320 wailai group2 192.168.100.250 AP5030DN nor 0 9M:44S
4 00e0-fc4e-2fd0 wailai group2 192.168.100.252 AP5030DN nor 0 9m:44S

项目总结

AP在进行自助注册时,必须通过DHCP获得AC服务器的IP地址
必须确保AP所在的VLAN与AC服务器之间的互通
必须在AC服务器上指定与AP通信时所使用的IP地址,与DHCP服务区中的AC服务器的IP地址相同
在AC上离线导入AP的时候,必须手动确认每个AP的MAC地址,确保输入正确,否则不能注册成功

配置WLAN业务参数

项目背景

在这里插入图片描述
企业内网的无线网络改造已经完成大部分工作,AP成功注册到AC
基于分配好的IP方案,为不同的无线终端,动态分配IP地址
配置AC,为不同的AP下发不同的位置,确保可以发射无线信号
实现不同的“无线终端”可以成功连接AP,并成功获得IP地址
实现不同的“无线终端”之间的互通

项目分析

首先需要确保AP能够发射出无线信号,确保无线终端能够搜索到
其次确保每个无线关联了特定的VLAN信息
再次确保无线终端输入正确的wifi密码,正确连接到wifi
然后再DHCP服务器上,为每个无线终端 的VLAN创建了DHCP地址池
最后测试多个无线终端之间的连通性

解决方案

确定AP已经成功注册到AC,通过配置AC,为AP开启无线功能
确定AP发射的无线信号已经与“无线终端”的VLAN相关联
为每个终端用户所属于的VLAN配置DHCP服务
无线终端设备之间彼此测试连通性
配置思路
①在AC上为AP配置WLAN业务参数
②为每个终端用户的VLAN配置DHCP服务
在DHCP服务器上配置每个VLAN的地址池
为每个VLAN配置DHCP中继
配置路由条目,确保DHCP服务器与每个VLAN的DHCP中继互通
③测试无线终端设备之间的连通性
配置命令
①在AC上为AP配置WLAN业务参数
[AC6605]wlan
[AC6605-wlan-view]security-profile name neibu
[AC6605-wlan-sec-prof-neibu]security wpa2 psk pass-phrase a1234567890 aes
[AC6605-wlan-sec-prof-neibu]quit

[AC6605-wlan-view]security-profile name wailai
[AC6605-wlan-sec-prof-wailai]security wpa2 psk pass-phrase b1234567890 aes
[AC6605-wlan-sec-prof-wailai]quit

[AC6605-wlan-view]ssid-profile name wailai
[AC6605-wlan-ssid-prof-wailai]ssid wailai
[AC6605-wlan-ssid-prof-wailai]quit

[AC6605-wlan-view]ssid-profile name neibu
[AC6605-wlan-ssid-prof-neibu]ssid name neibu
[AC6605-wlan-ssid-prof-neibu]quit
②在AC上为AP配置WLAN业务参数
[AC6605-wlan-view]vap-profile name neibu
[AC6605-wlan-vap-prof-neibu]security-profile neibu
[AC6605-wlan-vap-prof-neibu]ssid-profile neibu
[AC6605-wlan-vap-prof-neibu]service-vlan vlan-pool pool1
[AC6605-wlan-vap-prof-neibu]quit

[AC6605-wlan-view]vap-profile name wailai
[AC6605-wlan-vap-prof-wailai]security-profile wailai
[AC6605-wlan-vap-prof-wailai]ssid-profile wailai
[AC6605-wlan-vap-prof-wailai]service-vlan vlan-pool pool2
[AC6605-wlan-vap-prof-wailai]quit

[AC6605-wlan-view]ap-group name neibu
[AC6605-wlan-ap-group-neibu]vap-profile neibu wlan 1 radio 0
[AC6605-wlan-ap-group-neibu]vap-profile neibu wlan 1 radio 1
[AC6605-wlan-ap-group-neibu]quit

[AC6605-wlan-view]ap-group name wailai
[AC6605-wlan-ap-group-wailai]vap-profile wailaiwlan 1 radio 0
[AC6605-wlan-ap-group-wailai]vap-profile wailaiwlan 1 radio 1
[AC6605-wlan-ap-group-wailai]quit
③为终端用户配置DHCP地址池
[DHCP]ip pool VLAN101
[DHCP-ip-pool-VLAN101]network 192.168.101.0 mask 24
[DHCP-ip-pool-VLAN101]gateway-list 192.168.101.254
[DHCP-ip-pool-VLAN101]quit

[DHCP]ip pool VLAN102
[DHCP-ip-pool-VLAN102]network 192.168.102.0 mask 24
[DHCP-ip-pool-VLAN102]gateway-list 192.168.102.254
[DHCP-ip-pool-VLAN102]quit

[DHCP]ip pool VLAN103
[DHCP-ip-pool-VLAN103]network 192.168.103.0 mask 24
[DHCP-ip-pool-VLAN103]gateway-list 192.168.103.254
[DHCP-ip-pool-VLAN103]quit

[DHCP]ip pool VLAN104
[DHCP-ip-pool-VLAN104]network 192.168.104.0 mask 24
[DHCP-ip-pool-VLAN104]gateway-list 192.168.104.254
[DHCP-ip-pool-VLAN104]quit

[DHCP]ip route-static 0.0.0.0 0 192.168.210.254
④为终端用户配置DHCP中继
[SW1]vlan batch 101 102 103 104

[SW2]vlan batch 101 102 103 104
[SW2]dhcp enable

[SW2]interface Vlanif101
[SW2-Vlanif101]ip address 192.168.101.254 24
[SW2-Vlanif101]dhcp select relay
[SW2-Vlanif101]dhcp relay server-ip 192.168.210.1
[SW2-Vlanif101]quit

[SW2]interface Vlanif102
[SW2-Vlanif102]ip address 192.168.102.254 24
[SW2-Vlanif102]dhcp select relay
[SW2-Vlanif102]dhcp relay server-ip 192.168.210.1
[SW2-Vlanif102]quit

[SW2]interface Vlanif103
[SW2-Vlanif103]ip address 192.168.103.254 24
[SW2-Vlanif103]dhcp select relay
[SW2-Vlanif103]dhcp relay server-ip 192.168.210.1
[SW2-Vlanif103]quit

[SW2]interface Vlanif104
[SW2-Vlanif104]ip address 192.168.104.254 24
[SW2-Vlanif104]dhcp select relay
[SW2-Vlanif104]dhcp relay server-ip 192.168.210.1
[SW2-Vlanif104]quit
⑤无线终端连接到wifi信号,输入密码,获取IP地址
⑥在无线终端的命令行验证IP地址是否正确:ipconfig
⑦在无线终端的命令行验证设备之间的互通性:ping x.x.x.x

项目总结

为了实现AP的批量管理,需要将AP加入到ap-group
为了配置AP,需要为ap-group关联vap-profile
Vap-profile表示的是AP设备在AC上的配置文件
Vap-profile中包含了AP的无线名字、密码以及属于的VLAN
为确保无线终端可以顺利获得IP地址,需要提前配置DHCP服务器和DHCP中继,并确保两者之间的连通性

相关文章:

网络运维与网络安全 学习笔记2023.11.30

网络运维与网络安全 学习笔记 第三十一天 今日目标 实现AP自动注册、配置WLAN业务参数、无线终端通过wifi互访 实现AP自动注册 项目背景 企业内网的大量AP已经通过DHCP的方式获得IP地址 为了实现后期大量AP的统一管理,希望通过AC实现集中控制 在AC设备上&#…...

Perplexity 推出全新大型在线语言模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

python中的函数定义

默认参数 注: 在Python中,print(x, and y both correct)是一条打印语句(print statement),用于将一条消息输出到控制台或终端。它的作用是将变量x的值和字符串and y both correct同时输出到屏幕上。 在这个语句中&…...

信贷销售经理简历模板

这份简历内容,以信贷销售经理招聘需求为背景,我们制作了1份全面、专业且具有参考价值的简历案例,大家可以灵活借鉴。 信贷销售经理简历模板在线编辑下载:百度幻主简历 求职意向 求职类型:全职 意向岗位&#xff…...

js事件流与事件委托/事件代理

1 事件流 事件流分为两步,一是捕获,二是冒泡 1.1 捕获概念 捕获就是从最高层一层一层往下找到最内部的节点 1.2 冒泡概念 捕获到最小节点后,一层一层往上返回,像是气泡从最底部往上冒一样,由于水深不同压强不同&…...

代码随想录算法训练营第三十八天| 509 斐波那契数 70 爬楼梯 746 使用最小花费爬楼梯

509 斐波那契数 class Solution {public int fib(int n) {int f[] new int[n 5];f[0] 0;f[1] 1;for(int i 2;i < n;i){f[i] f[i - 1] f[i - 2];}return f[n];} } 时间复杂度O(n&#xff09; 空间复杂度O(n) 70 爬楼梯 class Solution {public int climbStairs(i…...

windows 此系统禁止运行脚本报错处理

windows 此系统禁止运行脚本报错处理 start 在命令行中运行执行的脚本&#xff0c;运行原理可以参考文章 《》本文主要介绍&#xff0c;如何处理window默认的对脚本运行的限制。 详细说明 出现报错如下&#xff1a; 主要原因就是系统默认禁止了在 powershell 环境下某些脚…...

西南科技大学数字电子技术实验一(数字信号基本参数与逻辑门电路功能测试及FPGA 实现)FPGA部分

一、 实验目的 1、掌握基于 Verilog 语言的 diamond 工具设计全流程。 2、熟悉、应用 Verilog HDL 描述数字电路。 3、掌握 Verilog HDL 的组合和时序逻辑电路的设计方法。 4、掌握“小脚丫”开发板的使用方法。 二、 实验原理 与门逻辑表达式:Y=AB 原理仿真图: 2 输入…...

List系列集合

List系列集合特点&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 ArrayList&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 LinkedList&#xff1a;有序&#xff0c;可重复&#xff0c;有索引 &#xff08;底层实现不同&#xff01;适合的场景不同&#xff01;…...

SQL 金额数值转换成中文大写

需求&#xff1a;将金额转换成中文大写格式填入单据合计行&#xff1a; _佰_拾_万_仟_佰_拾_元_角_分 1234567.89 壹佰贰拾叁万肆仟伍佰陆拾柒元捌角玖分 1.函数转换 drop function n2C;CREATE FUNCTION n2C (num numeric(14,2)) RETURNS VARCHAR(20) AS BEGIN …...

在Linux上安装KVM虚拟机

一、搭建KVM环境 KVM&#xff08;Kernel-based Virtual Machine&#xff09;是一个基于内核的系统虚拟化模块&#xff0c;从Linux内核版本2.6.20开始&#xff0c;各大Linux发行版就已经将其集成于发行版中。KVM与Xen等虚拟化相比&#xff0c;需要硬件支持的完全虚拟化。KVM由内…...

软件设计之原型模式

原型模式是从一个对象再创建另一个可定制的对象&#xff0c;而且不需要知道任何创建的细节。拷贝分浅拷贝和深拷贝。浅拷贝无法拷贝引用对象。在面试的时候&#xff0c;我们会投多家公司&#xff0c;根据岗位的不同我们会适当调整。使用原型模式可以快速达到需求&#xff0c;下…...

Android之高级UI

系统ViewGroup原理解析 常见的布局容器: FrameLayout, LinearLayout,RelativeLayoout,GridLayout 后起之秀&#xff1a;ConstraintLayout,CoordinateLayout Linearlayout Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {if (mOrientation …...

Qt:解决跨线程调用socket/IO类,导致报错的问题

Qt有很多IO相关的类&#xff0c;比如说QTcpSocket、QFile&#xff0c;总的来说&#xff0c;在Qt的框架内使用&#xff0c;还是非常方便的。 但是用过其他框架IO类的人&#xff0c;可能有一个很不习惯&#xff0c;就是Qt的所有IO类&#xff0c;都不推荐或者不可以跨线程操作&…...

长沙电信大楼火灾调查报告发布:系烟头引发。FIS来护航安全

近日&#xff0c;长沙电信大楼的火灾调查报告引起广泛关注。调查发现&#xff0c;火灾是由未熄灭的烟头引发&#xff0c;烟头点燃了室外平台的易燃物&#xff0c;迅速蔓延至整个建筑。这起悲剧再次提醒我们&#xff0c;小小的疏忽可能酿成大灾难。但如果我们能及时发现并处理这…...

【Web系列二十七】Vue实现dom元素拖拽并限制移动范围

目录 需求 拖拽功能封装 使用拖拽功能 vite-env.d.ts main.ts test.vue 需求 dom元素拖拽并限制在父组件范围内 拖拽功能封装 export const initVDrag (vue) > {vue.directive(drag, (el) > {const oDiv el // 当前元素oDiv.onmousedown (e) > {let target…...

【IEEE独立出版】2024第四届神经网络、信息与通信工程国际学术会议(NNICE 2024)

2024第四届神经网络、信息与通信工程国际学术会议&#xff08;NNICE 2024&#xff09; 2024 4th International Conference on Neural Networks, Information and Communication Engineering 2024第四神经网络、信息与通信工程国际学术会议&#xff08;NNICE 2024&#xff0…...

docker 推送tar包到远程仓库

tar 包 推送到远程仓库的步骤 - 导入镜像&#xff08;docker load -i 镜像名称&#xff09;示例&#xff1a;docker load -i yiyi-admin.tar- 打标签(docker tag 镜像id registry.cn-hangzhou.aliyuncs.com/空间名称/镜像名称:版本号)示例&#xff1a;docker tag $image_id reg…...

全志XR806基于FreeRTOS下部署竞技机器人先进模糊控制器

前言 很荣幸参与到由“极术社区和全志在线联合组织”举办的XR806开发板试用活动。本人热衷于各种的开发板的开发&#xff0c;同时更愿意将其实现到具体项目中。秉承以上原则&#xff0c;发现大家的重心都放在开发中的环境构建过程&#xff0c;缺少了不少实际应用场景的运用&am…...

python动态加载内容抓取问题的解决实例

问题背景 在网页抓取过程中&#xff0c;动态加载的内容通常无法通过传统的爬虫工具直接获取&#xff0c;这给爬虫程序的编写带来了一定的技术挑战。腾讯新闻&#xff08;https://news.qq.com/&#xff09;作为一个典型的动态网页&#xff0c;展现了这一挑战。 问题分析 动态…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

webpack面试题

面试题&#xff1a;webpack介绍和简单使用 一、webpack&#xff08;模块化打包工具&#xff09;1. webpack是把项目当作一个整体&#xff0c;通过给定的一个主文件&#xff0c;webpack将从这个主文件开始找到你项目当中的所有依赖文件&#xff0c;使用loaders来处理它们&#x…...

表单设计器拖拽对象时添加属性

背景&#xff1a;因为项目需要。自写设计器。遇到的坑在此记录 使用的拖拽组件时vuedraggable。下面放上局部示例截图。 坑1。draggable标签在拖拽时可以获取到被拖拽的对象属性定义 要使用 :clone, 而不是clone。我想应该是因为draggable标签比较特。另外在使用**:clone时要将…...

java 局域网 rtsp 取流 WebSocket 推送到前端显示 低延迟

众所周知 摄像头取流推流显示前端延迟大 传统方法是服务器取摄像头的rtsp流 然后客户端连服务器 中转多了&#xff0c;延迟一定不小。 假设相机没有专网 公网 1相机自带推流 直接推送到云服务器 然后客户端拉去 2相机只有rtsp &#xff0c;边缘服务器拉流推送到云服务器 …...

学习 Hooks【Plan - June - Week 2】

一、React API React 提供了丰富的核心 API&#xff0c;用于创建组件、管理状态、处理副作用、优化性能等。本文档总结 React 常用的 API 方法和组件。 1. React 核心 API React.createElement(type, props, …children) 用于创建 React 元素&#xff0c;JSX 会被编译成该函数…...

World-writable config file /etc/mysql/mysql.conf.d/my.cnf is ignored

https://stackoverflow.com/questions/53741107/mysql-in-docker-on-ubuntu-warning-world-writable-config-file-is-ignored 修改权限 -> 重启mysql # 检查字符集配置 SHOW VARIABLES WHERE Variable_name IN (character_set_server, character_set_database ); --------…...

spring中的@KafkaListener 注解详解

KafkaListener 是 Spring Kafka 提供的一个核心注解&#xff0c;用于标记一个方法作为 Kafka 消息的消费者。下面是对该注解的详细解析&#xff1a; 基本用法 KafkaListener(topics "myTopic", groupId "myGroup") public void listen(String message)…...

React 进阶特性

1. ref ref 是 React 提供的一种机制,用于访问和操作 DOM 元素或 React 组件的实例。它可以用于获取某个 DOM 元素的引用,从而执行一些需要直接操作 DOM 的任务,例如手动设置焦点、选择文本或触发动画。 1.1. 使用 ref 的步骤 1. 创建一个 ref:使用 React.createRef 或 …...