create_ap是一个帮助快速创建Linux上的WIFI热点的脚本,并且支持bridge和NAT模式,能够自动结合hostapd, dnsmasq和iptables完成WIFI热点的设置,避免了用户进行复杂的配置,github地址如下:
https://github.com/oblique/create_ap
使用NET模式创建AP
1、首先使用
ls /sys/class/net/
Bash
命令查看板子有的网络设备
可以看到
- eth0:以太网接口,也就是有线网卡。
- lo:本地回环接口
- wlx2cc3e664a12a:无线网卡。(每个板子都不一样,请以手上的为准)
2、接下来使用create_ap来创建热点。
create_ap [options] <wifi-interface> [<interface-with-internet>] [<access-point-name> [<passphrase>]]
Bash
- options:可以通过该参数指定加密方式、WIFI热点的频段、频宽模式、网络共享方式等,具体可以通过create_ap -h获取到有哪些option
- wifi-interface:无线网卡的名称
- interface-with-internet:可以联网的网卡名称,一般是eth0
- access-point-name:热点名称
- passphrase:热点的密码
3、如果你在创建热点前连接了wifi,直接运行create_ap会提示
那么我们需要先把wifi断开,输入命令"sudo nmcli c"查看网络(按CTRL+C退出)
可以看到,我们wifi是连接了一个名为BPI-FT的,输入
sudo nmcli c down BPI-FT
Bash
命令将其断开
通过ifconfig可以看到现在是没有IP的
这个时候执行第二步的命令就可以创建热点了。
4、NET模式下,板子和热点的IP是不同的。默认分配的是192.168.12.x
如果想指定分配的IP,可以通过-g参数来指定。
sudo create_ap -m nat wlx2cc3e664a12a eth0 BPI-1 bananapi --freq-band 5 --no-virt
Bash
5、默认创建的是2.4G频段的热点,如果你先创建5G频段的。可以通过--freq-band 5参数指定。
sudo create_ap -m nat wlx2cc3e664a12a eth0 BPI-1 bananapi --freq-band 5 --no-virt
Bash
6、如果想隐藏热点,那么通过--hidden参数实现
sudo create_ap -m nat wlx2cc3e664a12a eth0 BPI-1 bananapi --hidden --no-virt
Bash
这时需要手机手动指定WIFI热点名称,并输入密码来连接WIFI热点。
使用bridge模式创建AP
1、bridge模式创建方法和net模式相同,只需要将代码中的net改成bridge即可。
sudo create_ap -m bridge wlx2cc3e664a12a eth0 BPI-1 bananapi --no-virt
Bash
2、和NET模式不同,Bridge模式下是通过主路由来分配IP。也就是说板子IP为10.1.1.1,那么手机连接后分配到的IP地址为10.1.1.x。
3、默认创建的是2.4G频段的热点,如果你先创建5G频段的。可以通过--freq-band 5参数指定。
sudo create_ap -m bridge wlx2cc3e664a12a eth0 BPI-1 bananapi --freq-band 5 --no-virt
Bash
4、如果想隐藏热点,那么通过--hidden参数实现
sudo create_ap -m bridge wlx2cc3e664a12a eth0 BPI-1 bananapi --hidden --no-virt
Bash
这时需要手机手动指定WIFI热点名称,并输入密码来连接WIFI热点。
设置静态IP
使用nmtui命令来设置静态IP
接下来我们设置网口的静态IP地址,请先将网线插入开发板。(如果需要设置WIFI的静态IP地址,请先连接好WIFI,然后再开始设置静态IP地址)
1、首先运行
sudo nmtui
Bash
按回车键选择"Edit a connection"
2、我们要设置的是网口静态IP,也就是"Wired connection 1"。(请以手上板子为准)
通过方向键移动到"Edit...",并使用回车键选择。
使用方向键移动到"Automatic",并使用回车键选择。
然后选择"Manual"
通过方向键移动到"Show",并使用回车键选择。
设置IP地址(Addresses)、网关(Gateway)和DNS服务器的地址(请根据自己的具体需求进行设置)
通过方向键将光标移动到"OK",并使用回车键进行退出。
通过方向键将光标移动到"Back",并使用回车键进行退出。
通过方向键将光标移动到"Activate a connection",并使用回车键选择。
选择要设置的网络接口"Wired connection 1",通过方向键将光标移动到"Deactivate",并使用回车键禁用"Wired connection 1"。
再按下回车键重新使能"Wired connection 1",这样前面设置的静态IP地址就会生效了
通过方向键将光标移动到"Back",并使用回车键进行退出。
通过方向键将光标移动到"Quit",并使用回车键进行退出。
3、退出来以后,使用ifconfig命令查看。可以看到eth0的IP以及变成设置的10.1.1.15
使用nmcli命令来设置静态IP
接下来我们设置网口的静态IP地址,请先将网线插入开发板。(如果需要设置WIFI的静态IP地址,请先连接好WIFI,然后再开始设置静态IP地址)
1、首先,输入命令"sudo nmcli c"查看网络(按CTRL+C退出)
sudo nmcli c #
Bash
2、我们要设置的是网口静态IP,也就是"Wired connection 1"。(请以手上板子查询到的结果为准)
sudo nmcli con mod "Wired connection 1" \
ipv4.addresses "10.1.1.11" \
ipv4.gateway "10.1.1.1" \
ipv4.dns "8.8.8.8" \
ipv4.method "manual"
Bash
3、然后使用reboot重启
sudo reboot
Bash
4、重启完成后,使用ifconfig查看。可以看到网口的IP已经是我们设置的10.1.1.11。