如何使用 iw 将虚拟无线接口永久添加到我的网络配置中?
我创建了以下接口:
iw phy phy0 interface add vwlan0 type station
iw phy phy0 interface add vwlan1 type __ap
第一个配置为连接到现有网络的 wifi 客户端(wpa_supplicant)第二个配置为无线热点(hostapd + dnsmasq)
设置成功了,但是现在我还不清楚永久保存该配置的最佳策略是什么。
已经为 wpa_supplicant 制作了初始化脚本 已经为热点制作了初始化脚本 在 /etc/network/interfaces 中设置虚拟适配器网络设置
但这一切都取决于正在创建的无线接口。在设置网络和运行服务之前,确保创建这些接口的最佳方法是什么?
另外,由于这个无线接口是一个 USB 设备,当接口热插拔时,是否可以创建接口(并启动服务)?
我知道您可以在网络接口启动后执行代码,但是热插拔的 wlan0 接口永远不应该启动。
操作系统是 raspbian
答案1
创建一个udev规则,如udev(7)
手册页中所述:
ACTION=="add", SUBSYSTEM=="ieee80211", KERNEL=="phy0", \
RUN+="/usr/bin/iw phy %k interface add vwlan0 type station", \
RUN+="/usr/bin/iw phy %k interface add vwlan1 type station"
(子系统匹配大多只是一种偏执。)
把它们放进去/etc/udev/rules.d/90-wireless.rules
或者诸如此类的东西。
至于服务启动,它取决于您的初始化系统和网络配置...使用 Debian 使用的常规 SysV init,唯一的方法是从相同的 udev 规则启动服务。