NX系列-使用 `nmcli` 命令创建 Wi-Fi 热点并设置固定 IP 地址

使用 nmcli 命令创建 Wi-Fi 热点并设置固定 IP 地址

一、前言

在一些场景下,我们需要将计算机或嵌入式设备(例如 NVIDIA Orin NX)转换为 Wi-Fi 热点,以便其他设备(如手机、笔记本等)能够连接并使用该设备提供的网络连接。通过 nmcli 命令,我们可以在 Linux 系统中非常方便地创建一个无线 AP(Access Point)热点。

本文将介绍如何使用 nmcli 创建 Wi-Fi 热点,并进一步讲解如何设置固定 IP 地址,让连接到热点的设备始终获得指定的 IP 地址。

二、安装 NetworkManager

首先,确保你的系统已安装 NetworkManager 和相关的工具。如果未安装,可以通过以下命令进行安装:

sudo apt update
sudo apt install network-manager

三、使用 nmcli 命令创建 Wi-Fi 热点

1. 创建热点

nmcli 是 NetworkManager 提供的命令行工具,可以让你轻松管理网络连接。使用它创建 Wi-Fi 热点时,我们可以通过以下命令:

sudo nmcli device wifi hotspot ifname wlan0 con-name my-hostapt ssid <zouxftest7wifi名字> band bg password 12345678 channel 5

这条命令包含了以下参数:

  • ifname wlan0:指定无线网卡接口(例如 wlan0)用于创建热点。
  • con-name my-hostapt:设置连接名称为 my-hostapt
  • ssid zouxftest7:设置热点的 SSID(即 Wi-Fi 名称)为 zouxftest7
  • band bg:指定 Wi-Fi 工作频段为 bg(即 2.4 GHz)。可以选择 bgaac 等。
  • password 12345678:设置 Wi-Fi 热点密码为 12345678
  • channel 5:设置 Wi-Fi 使用的频道为 5。

执行该命令后,你的设备就会开启一个 Wi-Fi 热点,其他设备可以通过 SSID zouxftest7 连接到这个网络。

2. 启动/关闭 Wi-Fi 热点

在创建了无线 AP 热点之后,你可以通过以下命令来启动和关闭热点:

启动热点:

sudo nmcli connection up my-hostapt

关闭热点:

sudo nmcli connection down my-hostapt

这些命令分别会启动或关闭之前创建的热点连接。

四、设置固定 IP 地址

如果你希望连接到热点的设备始终分配固定的 IP 地址,通常需要配置 DHCP 服务。以下是如何为热点配置固定 IP 地址的步骤。

1. 配置热点固定 IP

首先,你需要为热点设备设置静态 IP 地址。执行以下命令来修改连接设置,使其使用静态 IP 地址:

sudo nmcli connection modify my-hostapt ipv4.addresses 192.168.1.1/24 ipv4.method manual

这条命令的含义如下:

  • ipv4.addresses 192.168.1.1/24:将热点的 IP 地址固定为 192.168.1.1,并设置子网掩码为 255.255.255.0(即 /24)。
  • ipv4.method manual:设置 IPv4 地址手动配置,而不是通过 DHCP 获取。

然后,使用以下命令重启热点连接,以应用更改:

sudo nmcli connection down my-hostapt
sudo nmcli connection up my-hostapt

通过这些命令,热点的 IP 地址将固定为 192.168.1.1,并且其他设备连接时会获取该静态 IP 地址。

2. 配置 DHCP 服务(可选)

如果你希望连接到该热点的客户端设备能够自动获取 IP 地址,可以使用 dnsmasq 来设置 DHCP 服务。

安装 dnsmasq

sudo apt install dnsmasq

配置 dnsmasq

编辑 dnsmasq 配置文件 /etc/dnsmasq.conf

sudo nano /etc/dnsmasq.conf

添加以下配置:

interface=wlan0                  # 热点的网卡接口
dhcp-range=192.168.1.100,192.168.1.150,12h   # 分配给客户端的 IP 范围
dhcp-option=3,192.168.1.1        # 网关地址设置为 192.168.1.1
dhcp-option=6,8.8.8.8            # 使用 Google 的 DNS

配置 DHCP 服务

  • dhcp-range=192.168.1.100,192.168.1.150,12h:为连接的设备分配 IP 范围,从 192.168.1.100192.168.1.150,租期为 12 小时。
  • dhcp-option=3,192.168.1.1:将网关地址设置为 192.168.1.1,这是你的热点设备的 IP 地址。
  • dhcp-option=6,8.8.8.8:指定 DNS 服务器为 8.8.8.8(Google DNS)。

启动 dnsmasq

配置完毕后,启动 dnsmasq 服务:

sudo systemctl restart dnsmasq

3. 固定 IP 地址分配(可选)

如果你希望某个特定设备始终分配固定 IP 地址,可以根据设备的 MAC 地址绑定 IP。编辑 /etc/dnsmasq.conf 文件,添加如下内容:

dhcp-host=<设备MAC地址>,192.168.1.101

例如:

dhcp-host=AA:BB:CC:DD:EE:FF,192.168.1.101

保存文件后,重启 dnsmasq

sudo systemctl restart dnsmasq

这样,MAC 地址为 AA:BB:CC:DD:EE:FF 的设备将始终获得 IP 地址 192.168.1.101

五、总结

通过 nmcli 命令,我们可以轻松创建一个 Wi-Fi 热点,并为其配置静态 IP 地址。同时,通过配置 DHCP 服务(如 dnsmasq),我们可以确保连接到该热点的客户端设备自动获取 IP 地址。

  • 使用 nmcli 创建 Wi-Fi 热点,并设置 SSID、密码、频道等参数。
  • 设置热点设备的固定 IP 地址(如 192.168.1.1)。
  • 配置 dnsmasq 提供 DHCP 服务,为客户端设备分配动态 IP 地址,或使用 MAC 地址绑定固定 IP。

通过这种方式,可以轻松地在 Linux 设备上创建一个功能齐全的无线热点,并确保客户端设备的网络设置符合需求。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Prometheus】Prometheus的样本

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

前端学习一

一 进程与线程 线程是进程执行的最小单位&#xff0c;进程是系统分配任务的最小单位。 一个进程可执行最少一个线程。线程分为子线程和主线程。 主线程关闭则子线程关闭。 二 浏览器进程 浏览器是多进程多线程应用。 进程包括&#xff1a; 浏览器进程 负责程序交互渲染…

鸿蒙开发-ArkTS 创建自定义组件

在 ArkTS 中创建自定义组件是一个相对简单但功能强大的过程。以下是如何在 ArkTS 中创建和使用自定义组件的详细步骤&#xff1a; 一、定义自定义组件 使用Component注解&#xff1a;为了注册一个组件&#xff0c;使其能够在其他文件中被引用&#xff0c;你需要使用Component…

探索Starship:一款用Rust打造的高性能终端

在终端的世界里&#xff0c;效率和美观往往并行不悖。今天&#xff0c;我们要介绍的是一款名为Starship的终端工具&#xff0c;它以其轻量级、高颜值和强大的自定义功能&#xff0c;赢得了众多开发者的青睐。 安装 任选一种方式进行安装 Windows &#x1fa9f; # scoop scoo…

[Unity] Text文本首行缩进两个字符

Text文本首行缩进两个字符的方法比较简单。通过代码把"\u3000\u3000"加到文本字符串前面即可。 比如&#xff1a; 效果&#xff1a; 代码&#xff1a; TMPtext1.text "\u3000\u3000" "选择动作类型&#xff1a;";

基于stm32的多旋翼无人机(Multi-rotor UAV based on stm32)

由于一直在调试本项目&#xff0c;好久没有发文章&#xff0c;最近本项目的PID调试初见成效&#xff01;开始正文前首先感谢各位粉丝的支持&#xff0c;以及对本项目技术上支持的老师以及师兄&#xff0c;谢谢你们&#xff01; 对应源码及文件&#xff1a;源码及文件下载 基于…

海量数据-Vastbase G100数据库安装

海量数据-Vastbase G100数据库安装 文章目录 海量数据-Vastbase G100数据库安装前期准备防火墙配置方案一&#xff1a;关闭防火墙方案二&#xff1a;开放数据库端口 SELINUX配置时间同步IPC参数配置 单机安装设置主机名创建数据库安装用户和目录(可选)修改资源限制 字符安装&am…

故障013:易忘的NULL表达式

故障013&#xff1a;易忘的NULL表达式 一、问题引入二、探索之路2.1 数据准备2.2 回顾NULL表达式2.3 重现问题2.3.1 分析原因2.3.2 如何化解预期&#xff1f; 三、知识总结 一、问题引入 某单位开发人员理直气壮抛出一张截图&#xff0c;以红色醒目地标记问题&#xff0c;好似…

Ubuntu22.04安装docker desktop遇到的bug

1. 确认已启用 KVM 虚拟化 如果加载了模块&#xff0c;输出应该如下图。说明 Intel CPU 的 KVM 模块已开启。 否则在VMware开启宿主机虚拟化功能&#xff1a; 2. 下一步操作&#xff1a; Ubuntu | Docker Docs 3. 启动Docker桌面后发现账户登陆不上去&#xff1a; Sign in | …

JVM(Java虚拟机)的虚拟机栈

JVM&#xff08;Java虚拟机&#xff09;的虚拟机栈是Java程序运行时的重要组件&#xff0c;以下是对其的详细解析&#xff1a; 一、概念与功能 概念&#xff1a;虚拟机栈也称为Java栈&#xff0c;是JVM为每个线程分配的一个私有的内存区域。每个线程在创建时都会创建一个虚拟…

集成自然语言理解服务,让应用 “听得懂人话”

如今&#xff0c;应用程序智能化已成趋势&#xff0c;开发者想要实现智能化&#xff0c;那么首先需要赋予应用理解自然语言的能力&#xff0c;使其能够准确地听懂人话&#xff0c;进而响应用户需求&#xff0c;并提供一系列智能化服务。比如用户语音控制应用程序帮忙订票&#…

Springboot3.x配置类(Configuration)和单元测试

配置类在Spring Boot框架中扮演着关键角色&#xff0c;它使开发者能够利用Java代码定义Bean、设定属性及调整其他Spring相关设置&#xff0c;取代了早期版本中依赖的XML配置文件。 集中化管理&#xff1a;借助Configuration注解&#xff0c;Spring Boot让用户能在一个或几个配…

fabric.js

目录 一、在canvas上画简单的图形 二、在canvas上用路径(Path)画不规则图形 三、在canvas上插入图片并设置旋转属性(angle) 四、让元素动起来(animate) 五、图像过滤器(filters)让图片多姿多彩 六、颜色模式(Color)和相互转换(toRgb、toHex) 七、对图形的渐变填充(Gradi…

ActiveMQ 反序列化漏洞CVE-2015-5254复现

文章目录 一、产生原因二、利用条件三、利用过程四、PoC&#xff08;概念验证&#xff09;五、poc环境验证使用find搜索vulhub已安装目录打开activeMQ组件查看配置文件端口启动镜像-文件配置好后对于Docker 镜像下载问题及解决办法设置好镜像源地址&#xff0c;进行重启docker查…

给新ubuntu电脑配置远程控制环境和c++版本的opencv环境

目录 改用户密码安装ssh sever安装net-tools配置vscode安装vim配置C opencv1. 安装g, cmake, make2.安装opencv依赖库3.下载opencv源文件&#xff08;1&#xff09;方法一&#xff1a;官网下载&#xff08;2&#xff09;方法二&#xff1a;GitHub下载方式&#xff1a; 4. Cmake…

如何在 Debian 12 上安装和使用 Vuls 漏洞扫描器

简介 Vuls 是一款无代理、免费且开源的 Linux 和 FreeBSD 漏洞扫描器。Vuls 主要用 Go 语言编写&#xff0c;可以在任何地方运行。你可以在云端、本地和 Docker 上运行 Vuls&#xff0c;并且它支持主要的发行版。Vuls 提供高质量的扫描&#xff0c;支持多个漏洞数据库&#xf…

Python-装饰器(Decorator)详解

在python中&#xff0c;函数是一等公民&#xff0c;意味着函数可以像其他对象一样被赋值、传递参数、作为返回值等。装饰器的基本语法是使用符号将一个函数作为参数传递给另一个函数&#xff08;即装饰器&#xff09;。被装饰的函数在被调用时&#xff0c;实际上会执行装饰器函…

数据结构_拓扑排序

拓扑排序 &#xff08;所有点按照先后顺序排序&#xff09; 1.先找到入度为0的点&#xff0c;记录之后&#xff0c;删除这个点和它的出边&#xff1b; 2.若有两个可选&#xff0c;随便选择一个 例 a的入度为0,选a [a] 随便选一个 [a,e] 再找入度为0的点 再选c 最后选d 拓…

MinerU:PDF文档提取工具

目录 docker一键启动本地配置下载模型权重文件demo.py使用命令行启动GPU使用情况 wget https://github.com/opendatalab/MinerU/raw/master/Dockerfile docker build -t mineru:latest .docker一键启动 有点问题&#xff0c;晚点更新 本地配置 就是在Python环境中配置依赖和…

redis集群安装部署 redis三主三从集群

redis集群安装部署 redis三主三从集群 1、下载redis2、安装redis集群 三主三从3、配置redis开机自启动3.1、建立启动脚本3.2、复制多份redis启动脚本给集群使用3.3、添加可执行权限3.4、配置开机自启动 1、下载redis 本次redis安装部署选择当前最新的稳定版本7.4.1 下载链接: …