ubuntu新建ap热点并分享

测试环境ubuntu16,只有一台笔记本电脑,不插网线,无线网卡既连wifi,又作为热点

1.方法1 直接手动新建ap热点

参考https://jingyan.baidu.com/article/ea24bc39b03fc6da62b331f0.html
https://jingyan.baidu.com/article/363872ecd8f35d6e4ba16f97.html
亲测,发现电脑如果没有连有线,按照以上步骤并不能生成wifi热点,请各位指点

2.方法2 使用create_ap工具新建热点

2.1安装依赖hostapd和create_ap

sudo apt install build-essential hostapd
git clone https://github.com/oblique/create_ap
cd create_ap
sudo make install 

2.2获取 wlan/wireless 名字并用create_ap启动热点

然后

ifconfig

获取网卡的名称每台电脑的网卡名称不一定相同,我这里的有线网卡名称是 enp1s0 无线网卡名称是 wlp7s0,具体名称需要自己进行获取
wlan:enp4s0
wireless: wlp3s0
其中e开头代表有有线,w开头代表无线
测试create_ap 是否工作正常

create_ap 基本命令格式:

create_ap wlan0 eth0 MyAccessPoint MyPassPhrase

本机指令

create_ap wlp3s0 enp4s0 note-ubuntu 12345678

新建成功打印ap0:AP-ENABLED如下图,并且能在别的电脑或手机上搜到wifi名称为note-ubuntu。手机连接测试发现可以上网
在这里插入图片描述

注意如果出现
ERROR: Your adapter can not be a station (i.e. be connected) and an AP at the same time
并且关闭WiFi后出现
WARN: Your adapter does not fully support AP virtual interface, enabling --no-virt
可能为网卡不支持新建热点

2.3create_ap其他命令

(1)查看创建的热点

create_ap --list-running

出现结果

8323 wlp3s0(ap0)

(2)查看连接在 ap 上的设备

create_ap --list-clients 查看创建的热点前面的编号 如8323

https://blog.csdn.net/freewebsys/article/details/126297257

(3)开启关闭热点

sudo systemctl start create_ap # 开启 wifi 热点
sudo systemctl stop create_ap # 关闭 wifi 热点

3.方法3用hostapd和dhcp建立wifi热点

3.1 hostapd和udhcpd工具简介

(1)hostapd简介
用过WIFI的应该对wpa_supplicant这个工具有一定的了解。wpa_supplicant用于wifi连接AP、验证密码等功能,实现的是wifi sta相关功能。而hostapd工具用于实现WIFI AP相关的功能。

hostapd包括IEEE 802.11接入点管理(认证/关联)、IEEE 802.1X/WPA/WPA2 Authenticator、EAP服务器和RADIUS认证服务器功能。它可以使用各种配置选项构建,例如,一个独立的AP管理解决方案或一个支持多种EAP方法的RADIUS认证服务器。
通俗来讲作用就是将WIFI模块模拟成热点,供其他设备连接。
参考 http://w1.fi/wpa_supplicant/devel/

(2)udhcpd简介
hostapd可以理解为用于搭建物理层。一个WIFI设备连接到热点,就像一个网线的设备,插入到了路由器的lan口。而我们Linux设备模拟成热点,就相当于实现了路由器的功能。Linux热点运行这hostapd程序,那么其他wifi终端设备就可以连接它。我们知道,将设备用网线连接到路由器是需要手动配置IP地址或者自动的获取IP地址的。之所以设备能从路由器获取IP地址,就是因为路由器中运行DHCP服务,可以动态的给连接的设备分配IP地址。同样我们用Linux模拟成热点,也需要为其他连接热点的设备提供IP地址和DNS等配置,这样其他WIFI终端设备才真正的和热点组成了局域网。为了实现DHCP服务,所以Linux上需要运行udhcpd这个程序。在嵌入式上udhcpd是busybox提供的一个应用程序。

3.2 安装hostapd 和dhcp工具

sudo apt install hostapd 
sudo apt install isc-dhcp-server

3.3配置和启动hostapd

(1)配置hostapd
先自己创建一个简单的配置文件hostapd-minimal.conf,对hostapd的功能进行验证,将这个hostapd-minimal.conf 文件拷贝到目录/etc/hostapd/下
并且编辑hostapd-minimal.conf文件如下

#wlan0为你的无线网卡名称,用ifconfig查,注意无线为w开头
interface=wlp3s0
#??driver怎么查?
driver=nl80211
#热点名字
ssid=note-ubuntu
hw_mode=g
channel=1
#使用热点密码验证
wpa=1
#热点密码
wpa_passphrase=12345678

(2)启动hostapd

sudo hostapd /etc/hostapd/hostapd-minimal.conf 

出现如下显示

Configuration file: /etc/hostapd/hostapd-minimal.conf
Using interface wlp3s0 with hwaddr 84:ef:18:cc:32:4c and ssid "note-ubuntu"
wlp3s0: interface state UNINITIALIZED->ENABLED
wlp3s0: AP-ENABLED 
wlp3s0: STA 3c:6a:48:88:c8:10 IEEE 802.11: disassociated
wlp3s0: interface state ENABLED->DISABLED
wlp3s0: AP-DISABLED 
nl80211: deinit ifname=wlp3s0 disabled_11b_rates=0

这是因为有其他的网络程序在占用了无线网卡接口,你必须先关闭系统本身的无线网络管理程序network manager.

sudo nmcli radio wifi off
sudo rfkill unblock wlan
sudo ifconfig wlp3s0 10.5.5.1/24 up

然后再打开hostapd。如下所示,表示你已经成功启动了

Using interface wlp3s0 with hwaddr 84:ef:18:cc:32:4c and ssid "note-ubuntu"
wlp3s0: interface state UNINITIALIZED->ENABLED
wlp3s0: AP-ENABLED

在手机上发现出现了热点,并且输入密码后能连接上这个wifi。
但是手机上发现不能上网,ubuntu上没有联网。想要在手机上连上这个热点并且能上网还需要继续进行配置。

3.4配置和启动dhcp

(1)配置dhcp
1.编辑文件/etc/default/isc-dhcp-server
将INTERFACES项改为

INTERFACES="wlp3s0"

wlp3s0对应无线网卡名字。
2.然后编辑文件/etc/dhcp/dhcpd.conf,在文本后面添加

subnet 10.5.5.0 netmask 255.255.255.0 {
  range 10.5.5.26 10.5.5.30;
  option domain-name-servers 8.8.8.8;
  option routers 10.5.5.1;
  option broadcast-address 10.5.5.255;
  default-lease-time 600;
  max-lease-time 7200;
}

3.编辑
(2)启动dhcp server

sudo dhcpd

出现

Config file: /etc/dhcp/dhcpd.conf
Database file: /var/lib/dhcp/dhcpd.leases
PID file: /var/run/dhcpd.pid
Wrote 0 leases to leases file.
Listening on LPF/wlp3s0/84:ef:18:cc:32:4c/10.5.5.0/24
Sending on   LPF/wlp3s0/84:ef:18:cc:32:4c/10.5.5.0/24

No subnet declaration for enp4s0 (no IPv4 addresses).
** Ignoring requests on enp4s0.  If this is not what
   you want, please write a subnet declaration
   in your dhcpd.conf file for the network segment
   to which interface enp4s0 is attached. **

Sending on   Socket/fallback/fallback-net

表示成功了。并且通过sudo netstat -uap命令查看DHCP服务是否正常启动,如果出现有dhcpd的字样说明服务启动成功。

其他出现

Can't open /var/lib/dhcp/dhcpd.leases for append.

修改权限后执行可以成功

sudo chmod 777  /var/lib/dhcp/dhcpd.leases

3.4 启用internet共享

(1)启动路由转发,

sudo iptables -A FORWARD -o wlp3s0 -i wlp3s0 -s 192.168.5.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o wlp3s0 -j MASQUERADE

删除/etc/sysctl.conf中下面一行中的’#',解除net.ipv4.ip_forward=1的注释。然后执行sudo sysctl -p使其生效。或者调用

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

再执行

sudo iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

实验后发现如果连上了wifi,就没有了热点。看来还是需要看create_ap 脚本是怎么实现的。

参考文献
https://www.cnblogs.com/liyam/p/6186527.html

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

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

相关文章

基于React, Redux实现的俄罗斯方块游戏及源码

分享一个俄罗斯方块游戏游戏框架使用的是 React Redux,其中再加入了 Immutable,用它的实例来做来Redux的state。(有关React和Redux的介绍可以看 安装 npm install运行 npm start浏览自动打开 http://127.0.0.1:8080/ 打包编译 npm run …

码住!2024抖音电商爆品攻略,21个行业68个类目一文集齐

小商家,大生意。 2023年,抖音电商高歌猛进,用直播带货创造增量,以商品卡承接用户资产,跑出2万亿市场,带动万千品牌实现二次增长,无数中小商家随奔腾浪潮涌出,从无名到争先&#xff…

【element-ui】el-select multiple多选,表单校验问题解决方法

在项目开发过程中发现,el-select设置了multiple支持多选属性之后,el-select赋值之后,表单校验不通过 解决思路及解决方法: 1、首先看看v-model 、prop属性、rules校验是否正确,这里注意el-select的rules校验的trigger…

C++ 反向迭代器的设计与实现

在本文开始之前,先明晰几个 关键词 的含义(T : 模板参数): Ref : T& / const T&Ptr : T* / const T* 一、反向迭代器设计的上帝视角 我们希望将 反向迭代器 设计成一种适配器——传 list::iterator 得到 list 的反向迭代…

前端AR图像增强 + 图像追踪 + 模型渲染

文章目录 背景介绍技术介绍准备目标图片准备3D模型整合到一起演示代码地址背景介绍 本文实现web端html实现AR识别功能 在日常生活中常常看到AR虚拟现实相结合的案例 如下图的效果匹配到目标图片后展示3D模型 从而提高真实度 AR识别 技术介绍 想要达到效果有以下几步是必须的 准…

稀疏卷积Sparse Convolution

1. 为什么提出稀疏卷积?它有什么好处? 卷积神经网络已经被证明对于二维图像信号处理是非常有效的。然而,对于三维点云信号,额外的维度显著增加了计算量。 另一方面,与普通图像每个像素都有值不同的是,一般…

android开发书籍推荐,android面试复习

笼统来说,中年程序员容易被淘汰的原因其实不外乎三点。 1、输出能力已到顶点。这个人奋斗十来年了,依旧碌碌无为,很明显这人的天花板就这样了,说白了,天赋就这样。 2、适应能力越来越差。年纪大,有家庭&…

css5定位与隐藏

css 一.定位1.概念(定位定位模式边位移)2.静态位移static(不常用)3.相对定位relative(不脱标)(占位置)4.绝对定位absolute(脱标)(不占位置&#x…

服务器数据恢复-异常断电导致服务器硬盘离线的数据恢复案例

服务器数据恢复环境: dell某型号服务器中有一组通过raid卡组建的raid10,该raid阵列中一共有4块磁盘。上层部署XenServer虚拟化平台,作为网站服务器使用。 服务器故障: 服务器异常断电导致服务器上的一台虚拟机不可用。需要恢复这…

(vue)复合型输入框el-input输入数字类型,e,+,-等特殊符号可以输入

(vue)复合型输入框el-input输入数字类型&#xff0c;e&#xff0c;&#xff0c;-等特殊符号可以输入 效果 代码 <el-form-item label"分数区间"><el-inputplaceholder"请输入内容"v-model.number"formInline.scoreIntervalValue"clas…

MySQL 如何从 Binlog 找出变更记录并回滚

文章目录 前言1. 案例模拟1.1 确认信息1.2 下载 Binlog1.3 准备环境1.4 注册 Binlog1.5 准备结构信息1.6 Python 订阅1.7 输出结果展示 2. 原理解析2.1 程序设计2.2 模块版本 总结 前言 最近有研发同学问我&#xff1a;有一个问题&#xff0c;想查一个 ID 为 xxxx 的 sku 什么…

硬件工程师入门基础知识(三)钽电容应用(三)

钽电容安装测试说明 1.使用测量2.清洗电路板3.焊接4.推荐的高能混合电容器安装方法5.使用环境与贮存6.钽电容参数测试条件 将电容器安装在印刷电路板上时&#xff0c;如受到过大的机械冲击或热冲击等负荷&#xff0c;将引起电气特性劣化、开路、短路等&#xff0c;故请在确认实…

基于x86架构的OpenHarmony应用生态挑战赛等你来战!

为了更快速推进OpenHarmony在PC领域的进一步落地&#xff0c;加快x86架构下基于OpenHarmony的应用生态的繁荣&#xff0c;为北向应用开发者提供一个更加便捷的开发环境&#xff0c;推动OpenHarmony北向应用开发者的增加&#xff0c;助力OpenHarmony在PC领域实现新的突破&#x…

【机器学习】特征选择之包裹式特征选择法

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

TESTLINK 测试用例数据结构解析

一、node_types 测试组件信息表 我们查询表 select * from testlink.node_types; 得到如下结果 二、nodes_hierarchy 测试用例目录层次表 我们以下图的项目为例,来讲解 1、测试项目 首先,我们有个Train的项目,存在表testprojects中,可以用如下sql查找到 select * fr…

【Linux C | 网络编程】gethostbyname 函数详解及C语言例子

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

软考-系统集成项目管理中级-信息系统建设与设计

本章重点考点 1.信息系统的生命周期 信息系统建设的内容主要包括设备采购、系统集成、软件开发和运维服务等。信息系统的生命周期可以分为四个阶段:立项、开发、运维和消亡。 2.信息系统开发方法 信息系统常用的开发方法有结构化方法、原型法、面向对象方法等 1)结构化方法 …

VS连接MySQL以及找不到libmysql.dll的解决方法

VS连接数据库需要在项目中进行配置&#xff0c;具体可见 https://blog.csdn.net/weixin_40582034/article/details/115562097?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170891897216800213058288%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522…

前端开发——ElementUI组件的使用

文章目录 1. Tabs标签页2. 单选框 el-radio3. 复选框 el-checkbox4. 下拉框 el-select5. 表格 el-table6. 对话框 el-dialog7. 文字提示 el-tooltip8. 抽屉 el-drawer 1. Tabs标签页 <template><el-tabs v-model"activeName" tab-click"handleClick&q…

linux操作docker

docker地址 官方地址 centos7安装docker 卸载旧版本docker sudo //在前面表示以管理员权限操作yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine安装docker //安装所需资…