互联网上有大量有关基于单板Raspberry PC创建Wi-Fi接入点的信息。 通常,这意味着对Raspberry-Raspbian使用本机操作系统。
作为基于RPM的系统的拥护者,我无法超越这个小奇迹,也无法尝试我最喜欢的CentOS。
本文提供了有关基于CentOS操作系统的Raspberry Pi 3 Model B +制造5GHz / AC Wi-Fi路由器的说明。 将有几种标准的但鲜为人知的技巧,而且还有一个好处-连接“树莓”附加Wi-Fi设备的图,使它可以同时在几种模式下工作(2.4 + 5GHz)。
(来自免费访问的图像混合)我们立即注意到,某些宇宙速度将不起作用。 我从“树莓”中最多压缩了100 Mbit,这涵盖了Internet提供商的速度。 为什么从理论上讲,即使是N,我们也需要如此缓慢的AC? 如果您问这个问题,请到商店购买带有八个外部天线的真实路由器。
0.需要什么
- 实际上,该机芯本身就是“树莓产品”:Pi 3 B +型(实现令人垂涎的5GHz速度和通道);
- 固态microSD> = 4GB;
- 具有microSD读取器/写入器的Linux工作站;
- Linux中有足够的技能,本文适用于准备的Geek;
- Raspberry和Linux之间的有线网络(eth0)连接,本地网络上正在工作的DHCP服务器以及两个设备的Internet访问。
关于最后一点的简短评论。 “先发生什么事,一个鸡蛋还是……”在没有任何互联网接入设备的情况下如何制作Wi-Fi路由器? 让我们将此娱乐性练习留在本文范围之外,仅假设Raspberry通过有线连接到本地网络并且可以访问Internet。 在这种情况下,我们不需要额外的电视和操纵器来设置树莓派。
1.安装CentOS
项目首页在撰写本文时,设备上CentOS的工作版本为32位。 在万维网的某个地方,我遇到了有关这种操作系统在64位ARM架构上性能下降多达20%的意见。 我将对此不加评论。
在Linux上,下载带有“
-RaspberryPI- ”内核的最小映像并将其写入microSD:
# xzcat CentOS-Userland-7-armv7hl-RaspberryPI-Minimal-1810-sda.raw.xz | \ dd of=/dev/mmcblk0 bs=4M # sync
使用该映像之前,请从其中删除SWAP部分,将根目录扩展到整个可用卷,并摆脱SELinux。 算法很简单:我们在Linux上创建根的副本,从microSD删除除第一个(/ boot)之外的所有分区,创建新的根并从副本中返回其内容。
必要动作的示例(苛刻的控制台输出) # mount /dev/mmcblk0p3 /mnt # cd /mnt # tar cfz ~/pi.tgz . --no-selinux # cd # umount /mnt
# parted /dev/mmcblk0 (parted) unit s (parted) print free Model: SD SC16G (sd/mmc) Disk /dev/mmcblk0: 31116288s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 63s 2047s 1985s Free Space 1 2048s 1370111s 1368064s primary fat32 boot, lba 2 1370112s 2369535s 999424s primary linux-swap(v1) 3 2369536s 5298175s 2928640s primary ext4 5298176s 31116287s 25818112s Free Space (parted) rm 3 (parted) rm 2 (parted) print free Model: SD SC16G (sd/mmc) Disk /dev/mmcblk0: 31116288s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 63s 2047s 1985s Free Space 1 2048s 1370111s 1368064s primary fat32 boot, lba 1370112s 31116287s 29746176s Free Space (parted) mkpart Partition type? primary/extended? primary File system type? [ext2]? ext4 Start? 1370112s End? 31116287s (parted) set Partition number? 2 Flag to Invert? lba New state? on/[off]? off (parted) print free Model: SD SC16G (sd/mmc) Disk /dev/mmcblk0: 31116288s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 63s 2047s 1985s Free Space 1 2048s 1370111s 1368064s primary fat32 boot, lba 2 1370112s 31116287s 29746176s primary ext4 (parted) quit
# mkfs.ext4 /dev/mmcblk0p2 mke2fs 1.44.6 (5-Mar-2019) /dev/mmcblk0p2 contains a swap file system labelled '_swap' Proceed anyway? (y,N) y Discarding device blocks: done Creating filesystem with 3718272 4k blocks and 930240 inodes Filesystem UUID: 6a1a0694-8196-4724-a58d-edde1f189b31 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done # mount /dev/mmcblk0p2 /mnt # tar xfz ~/pi.tgz -C /mnt --no-selinux
解压根分区的内容后,是时候对其进行一些更改了。
在
/ mnt / etc / selinux / config中禁用SELinux:
SELINUX=disabled
我们编辑
/ mnt / etc / fstab ,在其中仅保留两个分区条目:boot(/ boot,未更改)和root(更改UUID值,可以通过在Linux上检查blkid命令的输出找到该值):
UUID=6a1a0694-8196-4724-a58d-edde1f189b31 / ext4 defaults,noatime 0 0 UUID=6938-F4F2 /boot vfat defaults,noatime 0 0
最后,我们更改内核引导参数:指定根分区的新位置,禁用调试信息的输出,以及(可选)禁止内核在网络接口上分配IPv6地址:
# cd # umount /mnt # mount /dev/mmcblk0p1 /mnt
我们
将/mnt/cmdline.txt的内容
转换为以下格式(一行不带连字符):
root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait quiet ipv6.disable_ipv6=1
完成:
# cd # umount /mnt # sync
我们在“ Malinka”中重新排列microSD,运行它,并通过ssh(根/ centos)对其进行网络访问。
2.配置CentOS
前三个不可动摇的动作:
passwd ,
yum -y update ,
reboot 。
我们将网络管理交给网络化:
# yum install systemd-networkd # systemctl enable systemd-networkd # systemctl disable NetworkManager # chkconfig network off
创建文件(以及目录)
/etc/systemd/network/eth0.network :
[Match] Name=eth0 [Network] DHCP=ipv4
我们重新启动“树莓”,然后再次通过ssh获得网络访问权限(IP地址可以更改)。 请注意,使用先前由网络管理器创建的
/etc/resolv.conf 。 因此,在解决问题时,请编辑其内容。 我们不会使用
systemd-resolved 。
我们删除了“多余的”,修复并加快了OS的加载:
# systemctl set-default multi-user.target # yum remove GeoIP Network* aic* alsa* cloud-utils-growpart \ cronie* dhc* firewal* initscripts iwl* kexec* logrotate \ postfix rsyslog selinux-pol* teamd wpa_supplicant
谁需要
cron和谁不消化内置的
systemd计时器 ,可以安装缺少的内容。
/ var / log-并浏览
journalctl 。 如果您需要日志历史记录(默认情况下,信息仅从系统启动时开始存储):
# mkdir /var/log/journal # systemd-tmpfiles --create --prefix /var/log/journal # systemctl restart systemd-journald # vi /etc/systemd/journald.conf
禁止核心服务使用IPv6(如果需要)/ etc / ssh / sshd_config :
AddressFamily inet
/ etc / sysconfig / chronyd :
OPTIONS="-4"
时间与“树莓”的相关性很重要。 由于“开箱即用”,没有硬件功能在重新启动时保存时钟的当前状态,因此需要同步。 一个非常好的快速守护进程
chrony已经安装并自动启动。 您可以将NTP服务器更改为下一个。
/etc/chrony.conf :
server 0.ru.pool.ntp.org iburst server 1.ru.pool.ntp.org iburst server 2.ru.pool.ntp.org iburst server 3.ru.pool.ntp.org iburst
我们将使用
技巧来设置时区。 由于我们的目标是创建一个以5GHz频率运行的Wi-Fi路由器,因此我们将提前为
监管机构带来惊喜:
#yum info crda
摘要:802.11无线网络的合规性守护程序
除其他外,这种恶意设计着眼于时区,“禁止”使用(在俄罗斯)5GHz频率和“大”数字频道。 诀窍是在不使用大陆/城市名称的情况下设置时区,而不是:
# timedatectl set-timezone Europe/Moscow
按下:
# timedatectl set-timezone Etc/GMT-3
最后是系统发型:
# hostnamectl set-hostname router
/root/.bash_profile :
. . . # User specific environment and startup programs export PROMPT_COMMAND="echo -n $(($(</sys/class/thermal/thermal_zone0/temp) / 1000))\'C\ " export LANG=en_US.UTF-8 export PATH=$PATH:$HOME/bin
3. CentOS附加组件
以上所述可以被视为在Raspberry Pi上安装“香草” CentOS的完整说明。 您应该拥有一台可以在不到10秒的时间内重新启动,使用不到15 MB的内存和1.5 GB的microSD的PC(由于不完整/启动,实际上少于1 GB,但是到最后我们还是很诚实的):



要在此系统上安装Wi-Fi接入点软件,您将需要稍微扩展标准CentOS发行版的功能。 首先,“泵送”内置Wi-Fi适配器的驱动程序(固件)。 项目主页上说:
Raspberry 3B和3B上的Wifi +
CentOS项目不允许分发Raspberry PI 3B / 3B +固件文件。 您可以使用以下文章来了解问题,获取固件并设置wifi。
我们禁止个人使用CentOS项目不能做的事情。 我们用来自Broadcom开发人员的相应Wi-Fi固件(那些讨厌的二进制Blob ...)替换了CentOS中的分发Wi-Fi固件。 特别是,这将允许在接入点模式下使用AC。
Wi-Fi固件升级我们找出设备的型号和当前固件版本:
# journalctl | grep $(basename $(readlink /sys/class/net/wlan0/device/driver)) Jan 01 04:00:03 router kernel: brcmfmac: F1 signature read @0x18000000=0x15264345 Jan 01 04:00:03 router kernel: brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006 Jan 01 04:00:03 router kernel: usbcore: registered new interface driver brcmfmac Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Mar 1 2015 07:29:38 version 7.45.18 (r538002) FWID 01-6a2c8ad4 Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 7.14.8 Compiler: 1.24.9 ClmImport: 1.24.9 Creation: 2014-09-02 03:05:33 Inc Data: 7.17.1 Inc Compiler: 1.26.11 Inc ClmImport: 1.26.11 Creation: 2015-03-01 07:22:34
我们看到固件版本为7.45.18,日期为2015年3月1日,并且我们记住以下数字集:
43455 (brcmfmac43455-sdio.bin)。
下载Raspbian的当前图像 。 懒惰的人可以将映像写入microSD,然后从那里使用固件拾取文件。 您可以在Linux中挂载映像的根分区,然后从那里复制所需的分区:
# wget https://downloads.raspberrypi.org/raspbian_lite_latest # unzip -p raspbian_lite_latest > raspbian.img # fdisk -l raspbian.img Disk raspbian.img: 2 GiB, 2197815296 bytes, 4292608 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x17869b7d Device Boot Start End Sectors Size Id Type raspbian.img1 8192 532480 524289 256M c W95 FAT32 (LBA) raspbian.img2 540672 4292607 3751936 1.8G 83 Linux # mount -t ext4 -o loop,offset=$((540672 * 512)) raspbian.img /mnt # cp -fv /mnt/lib/firmware/brcm/*43455* ... '/mnt/lib/firmware/brcm/brcmfmac43455-sdio.bin' -> ... '/mnt/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob' -> ... '/mnt/lib/firmware/brcm/brcmfmac43455-sdio.txt' -> ... # umount /mnt
必须复制Wi-Fi适配器生成的固件文件,并替换目录
/ usr / lib / firmware / brcm /中的“ raspberry”。
我们重启未来的路由器,并微笑着:
# journalctl | grep $(basename $(readlink /sys/class/net/wlan0/device/driver)) Jan 01 04:00:03 router kernel: brcmfmac: F1 signature read @0x18000000=0x15264345 Jan 01 04:00:03 router kernel: brcmfmac: brcmf_fw_map_chip_to_name: using brcm/brcmfmac43455-sdio.bin for chip 0x004345(17221) rev 0x000006 Jan 01 04:00:03 router kernel: usbcore: registered new interface driver brcmfmac Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Feb 27 2018 03:15:32 version 7.45.154 (r684107 CY) FWID 01-4fbe0b04 Jan 01 04:00:03 router kernel: brcmfmac: brcmf_c_preinit_dcmds: CLM version = API: 12.2 Data: 9.10.105 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2018-03-09 18:56:28
版本:2018年2月27日的7.45.154。
当然,EPEL:
# cat > /etc/yum.repos.d/epel.repo << EOF [epel] name=Epel rebuild for armhfp baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/ enabled=1 gpgcheck=0 EOF # yum clean all # rm -rfv /var/cache/yum # yum update
4.网络配置和即将面临的挑战
如上所述,“ Malinka”通过“电线”连接到本地网络。 假设提供者以完全相同的方式提供Internet访问:公用网络上的地址由DHCP服务器动态发布(可以链接到MAC)。 在这种情况下,在“树莓”的最终设置之后,将供应商电缆“插入”其中就足够了,一切准备就绪。 使用
systemd-networkd进行授权是另一篇文章的主题,此处不予考虑。
Raspberry的Wi-Fi接口是一个本地网络,内置的以太网适配器(eth0)是外部的。 我们对本地网络进行静态编号,例如:192.168.0.0/24。 Malinka的地址:192.168.0.1。 在外部网络(Internet)中,DHCP服务器将起作用。
命名的统一性问题和
著名的危地马拉程序员是两个麻烦,等待着参与在systemd发行版中配置网络接口和服务的每个人。
平行混沌(抒情离题)Lennart Pottering很好地完成了他的系统程序。 这个系统程序启动其他程序的速度如此之快,以至于他们没有时间从裁判的口哨中脱颖而出,一开始就跌跌撞撞,甚至没有开始障碍赛。
但是,严重的是,对于经验丰富的串行LSB驱动程序,在systemd-OS的开始阶段对启动的进程进行积极的并行化是一种“驴桥”。 幸运的是,整理这种“平行混乱”很简单,尽管事实并非总是很明显。
我们创建两个具有常量名称的虚拟网桥接口:
lan和
wan 。 我们将Wi-Fi适配器“连接”到第一个,将“树莓”的eth0连接到第二个。
/etc/systemd/network/lan.netdev :
[NetDev] Name=lan Kind=bridge
/etc/systemd/network/lan.network :
[Match] Name=lan [Network] Address=192.168.0.1/24 IPForward=yes
/etc/systemd/network/wan.netdev :
[NetDev] Name=wan Kind=bridge #MACAddress=xx:xx:xx:xx:xx:xx
/etc/systemd/network/wan.network :
[Match] Name=wan [Network] DHCP=ipv4 IPForward=yes
IPForward = yes消除了通过sysctl向内核提示以启用路由的需求。
MACAddress =取消注释,必要时进行更改。
首先,我们连接eth0。 请记住“均匀性问题”,并仅使用此接口的MAC地址,例如,您可以通过以下方式找到它:
# cat /sys/class/net/eth0/address
创建
/etc/systemd/network/eth.network :
[Match] MACAddress=b8:27:eb:xx:xx:xx [Network] Bridge=wan
删除以前的eth0配置文件,重新启动“ raspberry”并获得网络访问权限(IP地址很可能会更改):
# rm -fv /etc/systemd/network/eth0.network # reboot
5. DNSMASQ
对于制造Wi-Fi接入点,还没有什么比
dnsmasq +
hostapd的甜蜜夫妻更好的发明了。 我认为。
如果有人忘记了,那...hostapd可以管理Wi-Fi适配器(特别是麻烦的是将它们连接到树莓派的虚拟
局域网 ),它可以授权和注册无线客户端。
dnsmasq-配置客户端的网络堆栈:提供IP地址,DNS服务器,默认网关等。
我们从dnsmasq开始:
# yum install dnsmasq
模板
/etc/resolv.conf :
nameserver 1.1.1.1 nameserver 1.0.0.1 nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 77.88.8.8 nameserver 77.88.8.1 domain router.local search router.local
根据自己的喜好进行编辑。
简约的
/etc/dnsmasq.conf :
domain-needed bogus-priv interface=lan bind-dynamic expand-hosts domain=# dhcp-range=192.168.0.100,192.168.0.199,255.255.255.0,24h conf-dir=/etc/dnsmasq.d
这里的“魔术”是
bind-dynamic参数,它告诉dnsmasq守护程序等待
interface = lan出现在系统中,而不是在启动后因骄傲的孤独攻击而晕倒。
# systemctl enable dnsmasq # systemctl start dnsmasq; journalctl -f
6. HOSTAPD
最后,神奇的hostapd配置。 我毫不怀疑有人正在阅读本文,以寻找这些宝贵的线索。
在安装hostapd之前,您需要处理“一致性问题”。 连接其他USB Wi-Fi设备时,内置的wlan0 Wi-Fi适配器可以轻松将其名称更改为wlan1。 因此,我们将通过以下方式修复接口的名称:我们将提供(无线)适配器唯一的名称,并将它们绑定到MAC地址。
对于仍为wlan0的内置Wi-Fi适配器:
# cat /sys/class/net/wlan0/address b8:27:eb:xx:xx:xx
创建
/etc/systemd/network/wl0.link :
[Match] MACAddress=b8:27:eb:xx:xx:xx [Link] Name=wl0
现在我们可以确定
wl0是内置的Wi-Fi。 我们重新启动“树莓”以查看此内容。
安装:
# yum install hostapd wireless-tools
配置文件
/etc/hostapd/hostapd.conf :
ssid=rpi wpa_passphrase=1234567890 channel=36 country_code=US interface=wl0 bridge=lan driver=nl80211 auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP macaddr_acl=0 hw_mode=a wmm_enabled=1 # N ieee80211n=1 require_ht=1 ht_capab=[MAX-AMSDU-3839][HT40+][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40] # AC ieee80211ac=1 require_vht=1 ieee80211d=0 ieee80211h=0 vht_capab=[MAX-AMSDU-3839][SHORT-GI-80] vht_oper_chwidth=1 vht_oper_centr_freq_seg0_idx=42
一分钟
不会忘记
GKChP ,我们更改了所需的参数并手动检查性能:
# hostapd /etc/hostapd/hostapd.conf
hostapd将以交互方式启动,并将其状态转换为控制台。 如果没有错误,则支持AC模式的客户端可以已经连接到接入点。 停止hostapd-Ctrl-C。
它仍然需要在系统启动中包含hostapd。 如果您以常规方式操作(systemctl启用hostapd),则在下次重新启动后,您将获得诊断为“
找不到wl0接口 ”的恶魔的“血液中的守护程序”。 由于“并行混乱”,hostapd的缠绕速度比内核找到无线适配器的速度快。
互联网上充满了药品:从守护程序启动之前的强制超时(几分钟),到监视界面外观并(重新)启动主机板的另一个守护程序。 解决方案非常有效,但是非常丑陋。 我们呼吁伟大的
系统以其“目标”和“
任务 ”“依赖”来寻求帮助。
将分发服务文件复制到
/etc/systemd/system/hostapd.service :
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system
并将其内容转换为以下格式:
[Unit] Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator After=sys-subsystem-net-devices-wl0.device BindsTo=sys-subsystem-net-devices-wl0.device [Service] Type=forking PIDFile=/run/hostapd.pid ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd.conf -P /run/hostapd.pid -B [Install] WantedBy=sys-subsystem-net-devices-wl0.device
更新的服务文件的魔力在于将hostapd动态绑定到新目标-wl0接口。 当界面出现时,守护程序启动;当它消失时,它停止。 而且全部在线-无需重新启动系统。 特别是在连接“树莓” USB Wi-Fi适配器时,该技术将非常有用。
现在您可以:
# systemctl enable hostapd # reboot
7. IPTABLES
“嘘……” ©是的,是的! 没有
系统 。 没有新的组合(以
firewalld的形式),它们最终会完成相同的操作。
我们使用良好的旧
iptables ,它们的服务在启动后会将网络规则上载到内核,并安静地关闭,而不会保留下来,也不会消耗资源。
Systemd有一个优雅的
IPMasquerade = ,但是我们仍然将地址转换(NAT)和防火墙委托给iptables。
安装:
# yum install iptables-services # systemctl enable iptables ip6tables
我更喜欢将iptables配置存储为脚本(示例):
我们执行上述脚本,并失去了与“ Malinka”建立新的有线ssh连接的功能。 没错,我们制造了一个Wi-Fi路由器,默认情况下禁止“通过Internet”访问该路由器,现在只能“通过空中”访问。 我们将提供商的电缆连接到以太网,然后开始冲浪!
8.奖金:+ 2.4GHz
当我从上述附图组装第一个Raspberry路由器时,我发现家里有很多小工具,由于它们的设计限制,Wi-Fi根本看不到“树莓”。 重新配置路由器以使其在802.11b / g / n中工作并不像体育专家那样,因为在这种情况下“空中”的最大速度不超过40 Mbps,而我最喜欢的Internet提供商通过电缆向我提供了100。
实际上,已经发明了解决该问题的方法:第二个工作在2.4GHz的Wi-Fi接口和第二个接入点。 在最近的摊位上,我买的不是第二个,而是第二个USB Wi-Fi“哨声”。 关于芯片组,与Linux ARM内核的兼容性以及在AP模式下工作的可能性(他第一次成立)的问题困扰着卖方。
我们以类似于内置Wi-Fi适配器的方式来配置“ whistle”。
首先,将其重命名为
wl1 :
# cat /sys/class/net/wlan0/address b0:6e:bf:xx:xx:xx
/etc/systemd/network/wl1.link :
[Match] MACAddress=b0:6e:bf:xx:xx:xx [Link] Name=wl1
我们将把新Wi-Fi接口的管理委托给单独的hostapd守护程序,该守护程序将根据系统中是否存在严格定义的“ whistle”(wl1)来启动和停止。
配置文件
/etc/hostapd/hostapd2.conf :
ssid=rpi2 wpa_passphrase=1234567890 #channel=1 #channel=6 channel=11 interface=wl1 bridge=lan driver=nl80211 auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP macaddr_acl=0 hw_mode=g wmm_enabled=1 # N ieee80211n=1 require_ht=1 ht_capab=[HT40][SHORT-GI-20][SHORT-GI-40][DSSS_CCK-40]
该文件的内容直接取决于USB Wi-Fi适配器的型号,因此简单的复制/粘贴操作会让您失望。
将分发服务文件复制到
/etc/systemd/system/hostapd2.service :
# cp -fv /usr/lib/systemd/system/hostapd.service /etc/systemd/system/hostapd2.service
并将其内容转换为以下格式:
[Unit] Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator After=sys-subsystem-net-devices-wl1.device BindsTo=sys-subsystem-net-devices-wl1.device [Service] Type=forking PIDFile=/run/hostapd2.pid ExecStart=/usr/sbin/hostapd /etc/hostapd/hostapd2.conf -P /run/hostapd2.pid -B [Install] WantedBy=sys-subsystem-net-devices-wl1.device
它仍然包含了hostapd的新实例:
# systemctl enable hostapd2
仅此而已! 吹口哨和覆盆子本身,看看周围的无线网络。
最后,我想警告一下USB Wi-Fi适配器和Raspberry电源的质量。 连接到“热哨”,有时会因短期用电故障而引起“树莓挂”。