测试环境ubuntu16
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
新建成功如下,并且能在别的电脑或手机上搜到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
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;
}
(2)启动dhcp server
sudo dhcpd
参考文献
https://www.cnblogs.com/liyam/p/6186527.html