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 设备上创建一个功能齐全的无线热点,并确保客户端设备的网络设置符合需求。
在这里插入图片描述

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

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

相关文章

用docker快速安装电子白板Excalidraw绘制流程图

注&#xff1a;本文操作以debian12.8 最小化安装环境为host系统。 一、彻底卸载原有的残留 apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras 二、设置docker的安装源 # Add Dockers official G…

mac 如何开启指定端口供外部访问?

前言 需要 mac 上开放指定端口&#xff0c;指定 ip 访问 解决 在 macOS 上开放一个端口&#xff0c;并指定只能特定的 IP 访问&#xff0c;可以使用 macOS 内置的 pfctl(Packet Filter)工具来实现。 1、 编辑 pf 配置文件&#xff1a; 打开 /etc/pf.conf 文件进行编辑。 可以使…

练习题:一维数组

练习题 第一题 键盘录入一组数列&#xff0c;利用冒泡排序将数据由大到小排序 代码 #include <stdio.h>int arr_home01() {int arr[10];int i,j,temp;printf("请输入10个测试整数&#xff1a;\n");int len sizeof(arr) / sizeof(arr[0]);for(i 0;i < …

手眼标定工具操作文档

1.手眼标定原理介绍 术语介绍 手眼标定&#xff1a;为了获取相机与机器人坐标系之间得位姿转换关系&#xff0c;需要对相机和机器人坐标系进行标定&#xff0c;该标定过程成为手眼标定&#xff0c;用于存储这一组转换关系的文件称为手眼标定文件。 ETH&#xff1a;即Eye To …

MyBatis一二级缓存的区别?

大家好&#xff0c;我是锋哥。今天分享关于【MyBatis一二级缓存的区别&#xff1f;】面试题。希望对大家有帮助&#xff1b; MyBatis一二级缓存的区别&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 的缓存机制分为 一级缓存 和 二级缓存&…

mybatis 的动态sql 和缓存

动态SQL 可以根据具体的参数条件&#xff0c;来对SQL语句进行动态拼接。 比如在以前的开发中&#xff0c;由于不确定查询参数是否存在&#xff0c;许多人会使用类似于where 1 1 来作为前缀&#xff0c;然后后面用AND 拼接要查询的参数&#xff0c;这样&#xff0c;就算要查询…

某名校考研自命题C++程序设计——近10年真题汇总(下)

第二期&#xff0c;相比上一贴本帖的题目难度更高一些&#xff0c;我当然不会告诉你我先挑简单的写~ 某名校考研自命题C程序设计——近10年真题汇总&#xff08;上&#xff09;-CSDN博客文章浏览阅读651次&#xff0c;点赞9次&#xff0c;收藏13次。本帖更新一些某校的编程真题…

【网络】传输层协议UDP/TCP网络层IP数据链路层MACNAT详解

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.传输层协议 UDP 1.1 传输层 1.2 端口号 1.3 UDP 协议 1.3.1 UDP 协议端格式 1.3.2 UDP 的特点 1.3.3 面向数据报 1…

Python与数据库Mysql连接及操作方法

Python与数据库Mysql连接及操作方法 目录 Python与数据库Mysql连接及操作方法配置pip连接使用IP地址连接配置后使用机名连接 执行操作 配置pip 连接需要第三方库—pymysql pip install mysql连接 使用IP地址连接 格式&#xff1a; pymysql.connect( user ’ 用户名root’ …

C语言进阶(2) ---- 指针的进阶

前言&#xff1a;指针的主题&#xff0c;我们在初阶的《指针》章节已经接触过了&#xff0c;我们知道了指针的概念&#xff1a; 1.指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块内存空间。 2.指针的大小是固定的4/8个字节(32位平台/64位平台)。 3.指针是…

Web JavaScript Encrypt

Web JavaScript Encrypt 客户端加密解密

#代码实践 Springboot3.4.0 热部署

一、环境 Spring3.4.0 idea2024.3.1 二、热部署配置 1、pom.xml增加 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency> …

基于 mzt-biz-log 实现接口调用日志记录

&#x1f3af;导读&#xff1a;mzt-biz-log 是一个用于记录操作日志的通用组件&#xff0c;旨在追踪系统中“谁”在“何时”对“何事”执行了“何种操作”。该组件通过简单的注解配置&#xff0c;如 LogRecord&#xff0c;即可实现接口调用的日志记录&#xff0c;支持成功与失败…

DateRangePickerDialog组件的用法

文章目录 概念介绍使用方法示例代码我们在上一章回中介绍了DatePickerDialog Widget相关的内容,本章回中将介绍DateRangePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的DateRangePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为…

JAVA企业级项目的日志记录技术

记录日志的作用 常用的日志框架 记录日志的准备工作 配置文件详解 日志级别

程序设计考题汇总(四:SQL练习)

文章目录 查询结果限制返回行数 查询结果限制返回行数 select device_id from user_profile LIMIT 2;

C++对象数组对象指针对象指针数组

一、对象数组 对象数组中的每一个元素都是同类的对象&#xff1b; 例1 对象数组成员的初始化 #include<iostream> using namespace std;class Student { public:Student( ){ };Student(int n,string nam,char s):num(n),name(nam),sex(s){};void display(){cout<&l…

时钟分频模块

实现时钟的二分频&#xff0c;四分频 1.时钟分频模块&#xff1a; module clk_div(input clk, //50Mhzinput rst_n,input [15:0] lcd_id,output reg lcd_pclk);reg clk_25m; reg clk_12_5m; reg …

盛元广通畜牧与水产品检验技术研究所LIMS系统

一、系统概述 盛元广通畜牧与水产品检验技术研究所LIMS系统集成了检测流程管理、样品管理、仪器设备管理、质量控制、数据记录与分析、合规性管理等功能于一体&#xff0c;能够帮助实验室实现全流程的数字化管理。在水产、畜牧产品的质检实验室中&#xff0c;LIMS系统通过引入…

Vscode搭建C语言多文件开发环境

一、文章内容简介 本文介绍了 “Vscode搭建C语言多文件开发环境”需要用到的软件&#xff0c;以及vscode必备插件&#xff0c;最后多文件编译时tasks.json文件和launch.json文件的配置。即目录顺序。由于内容较多&#xff0c;建议大家在阅读时使用电脑阅读&#xff0c;按照目录…