打开主菜单

Wiki-Orange Pi β

AP6275P PCIe 网卡通过 create ap 创建 WIFI 热点的方法

Admin讨论 | 贡献2023年4月24日 (一) 18:05的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
create_ap是一个帮助快速创建Linux上的WIFI热点的脚本,并且支持bridgeNAT模式,能够自动结合hostapd, dnsmasqiptables完成WIFI热点的设置,避免了用户进行复杂的配置,github地址如下:

https://github.com/oblique/create_ap

如果使用的是最新的镜像,那么就已经预装了create_ap脚本,可以通过create_ap命令来创建WIFI热点,create_ap的基本命令格式如下所示:

create_ap [options] <wifi-interface> [<interface-with-internet>]
[<access-point-name> [<passphrase>]]

options:可以通过该参数指定加密方式、WIFI热点的频段、频宽模式、网络共享方式等,具体可以通过create_ap -h获取到有哪些option
wifi-interface:无线网卡的名称
interface-with-internet:可以联网的网卡名称,一般是eth0
access-point-name:热点名称
passphrase:热点的密码

1、create_ap 以 NAT 模式创建 WIFI 热点的方法

1) 输入下面的命令以 NAT 模式创建名称为 orangepi、密码为 orangepi 的 WIFI 热点

orangepi@orangepi5:~$ sudo create_ap -m nat wlan0 eth0 orangepi orangepi

2) 如果有下面的信息输出,说明 WIFI 热点创建成功

orangepi@orangepi5:~$ sudo create_ap -m nat wlan0 eth0 orangepi orangepi

Config dir: /tmp/create_ap.wlan0.conf.fPItFUJ2
PID: 3831
Network Manager found, set ap0 as unmanaged device... DONE
Creating a virtual WiFi interface... ap0 created.
Sharing Internet using method: nat
hostapd command-line interface: hostapd_cli -p
/tmp/create_ap.wlan0.conf.fPItFUJ2/hostapd_ctrl
ap0: interface state UNINITIALIZED->ENABLED
ap0: AP-ENABLED
AP-ENABLED

3) 此时拿出手机,在搜索到的 WIFI 列表中就能找到开发板创建的名为 orangepi的 WIFI 热点,然后可以点击 orangepi连接热点,密码就是上面设置的 orangepi

Pi-5-details-pic95.png

4) 连接成功后的显示如下图所示

Pi-5-details-pic96.png

5) 在 NAT 模式下,连接到开发板热点的无线设备是向开发板的 DHCP 服务请求 IP地址的,所以会有两个不同的网段,如这里开发板的 IP 是 192.168.1.X

orangepi@orangepi5:~$ ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.1.150 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::938f:8776:5783:afa2 prefixlen 64 scopeid 0x20<link>
ether 4a:a0:c8:25:42:82 txqueuelen 1000 (Ethernet)
RX packets 25370 bytes 2709590 (2.7 MB)
RX errors 0 dropped 50 overruns 0 frame 0
TX packets 3798 bytes 1519493 (1.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 83

而开发板的 DHCP 服务默认会给接入热点的设备分配 192.168.12.0/24 的 IP 地址,这时点击已经连接的 WIFI 热点 orangepi,然后就可以看到手机的 IP 地址是192.168.12.X

Pi-5-details-pic97.png

Pi-5-details-pic98.png

6) 如果想要为接入的设备指定不同的网段,可以通过-g 参数指定,如通过-g 参数指定接入点 AP 的网段为 192.168.2.1

orangepi@orangepi5:~$ sudo create_ap -m nat wlan0 eth0 orangepi orangepi -g 192.168.2.1

此时通过手机连接到热点后,点击已经连接的 WIFI 热点 orangepi,然后可以看到手机的 IP 地址是 192.168.2.X

Pi-5-details-pic99.png

Pi-5-details-pic100.png

7) 在不指定--freq-band 参数的情况下,默认创建的热点是 2.4G 频段的,如果想要创建 5G 频段的热点可以通过--freq-band 5 参数指定,具体命令如下

orangepi@orangepi:~$ sudo create_ap -m nat wlan0 eth0 orangepi orangepi --freq-band 5

8) 如果需要隐藏 SSID,可以指定--hidden 参数,具体命令如下

orangepi@orangepi:~$ sudo create_ap -m nat wlan0 eth0 orangepi orangepi --hidden

此时手机是搜索不到 WIFI 热点的,需要手动指定 WIFI 热点名称,并输入密码来连接 WIFI 热点

Pi-5-details-pic101.png

2、create_ap 以 bridge 模式创建WIFI 热点的方法

1) 输入下面的命令以 bridge 模式创建名称为 orangepi、密码为 orangepi 的 WIFI热点

orangepi@orangepi:~$ sudo create_ap -m bridge wlan0 eth0 orangepi orangepi

2) 如果有下面的信息输出,说明 WIFI 热点创建成功

orangepi@orangepi:~$ sudo create_ap -m bridge wlan0 eth0 orangepi orangepi

[sudo] password for orangepi:
Config dir: /tmp/create_ap.wlan0.conf.fg9U5Xgt
PID: 3141
Network Manager found, set ap0 as unmanaged device... DONE
Creating a virtual WiFi interface... ap0 created.
Sharing Internet using method: bridge
Create a bridge interface... br0 created.
hostapd command-line interface: hostapd_cli -p
/tmp/create_ap.wlan0.conf.fg9U5Xgt/hostapd_ctrl
ap0: interface state UNINITIALIZED->ENABLED
ap0: AP-ENABLED

3) 此时拿出手机,在搜索到的 WIFI 列表中就能找到开发板创建的名为 orangepi的 WIFI 热点,然后可以点击 orangepi 连接热点,密码就是上面设置的 orangepi

Pi-5-details-pic102.png

4) 连接成功后的显示如下图所示

Pi-5-details-pic103.png

5) 在 bridge 模式下,连接到开发板热点的无线设备也是向主路由(开发板连接的路由器)的 DHCP 服务请求 IP 地址的,如这里开发板的 IP 是 192.168.1.X

orangepi@orangepi:~$ ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.1.150 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::938f:8776:5783:afa2 prefixlen 64 scopeid 0x20<link>
ether 4a:a0:c8:25:42:82 txqueuelen 1000 (Ethernet)
RX packets 25370 bytes 2709590 (2.7 MB)
RX errors 0 dropped 50 overruns 0 frame 0
TX packets 3798 bytes 1519493 (1.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

而接入 WIFI 热点的设备的 IP 也是由主路由分配的,所以连接 WIFI 热点的手机和开发板处于相同的网段,这时点击已经连接的 WIFI 热点 orangepi,然后就可以看到手机的 IP 地址也是 192.168.1.X

Pi-5-details-pic104.png

Pi-5-details-pic105.png

6) 在不指定--freq-band 参数的情况下,默认创建的热点是 2.4G 频段的,如果想要创建 5G 频段的热点可以通过--freq-band 5 参数指定,具体命令如下

orangepi@orangepi:~$ sudo create_ap -m bridge wlan0 eth0 orangepi orangepi --freq-band 5

7) 如果需要隐藏 SSID,可以指定--hidden 参数,具体命令如下

orangepi@orangepi:~$ sudo create_ap -m bridge wlan0 eth0 orangepi orangepi --hidden

此时手机是搜索不到 WIFI 热点的,需要手动指定 WIFI 热点名称,并输入密码来连接 WIFI 热点

Pi-5-details-pic106.png