在netplan的autoinstall.yaml中,WiFi接口能否使用match: name通配符实现类似以太网的匹配功能?
在netplan的autoinstall.yaml中,WiFi接口能否使用match: name通配符实现类似以太网的匹配功能?
你好呀!根据你遇到的报错和Netplan当前的功能限制,确实没办法在wifis配置块里使用match: name通配符——这个匹配机制目前只针对ethernets模块开放,你的错误提示完全准确。
不过别担心,咱们可以用其他方法实现你想要的「自动安装时适配任意WiFi接口」的需求,这里给你两个实用方案:
方案一:自动安装后期动态生成WiFi配置(最通用)
在autoinstall的late-commands里添加一段脚本,让系统在安装后期自动扫描所有WiFi接口,然后为每个接口生成对应的Netplan配置。这样不管你的WiFi接口叫wlan0、wlp2s0还是其他名字,都能被自动配置:
# 把这段加入你的autoinstall.yaml对应的位置 late-commands: - | cat <<EOF > /target/etc/netplan/99-wifi-auto.yaml network: version: 2 wifis: EOF for iface in $(iw dev | awk '$1=="Interface"{print $2}'); do cat <<EOF >> /target/etc/netplan/99-wifi-auto.yaml $iface: dhcp4: true access-points: "network_ssid_name": password: "**********" EOF done netplan generate --root /target
这段脚本的逻辑很简单:先用iw dev命令找出所有WiFi接口名,再逐个写入Netplan配置文件,最后让Netplan生成对应的系统网络配置。
方案二:枚举可能的WiFi接口名(适合已知有限接口名的场景)
如果你能提前预估可能的WiFi接口名称,可以给每个可能的接口配置加上optional: true参数——这样Netplan会忽略不存在的接口,只对存在的接口生效:
network: version: 2 ethernets: all-en: match: name: "en*" dhcp4: true wifis: wlan0: dhcp4: true optional: true access-points: "network_ssid_name": password: "**********" wlp2s0: dhcp4: true optional: true access-points: "network_ssid_name": password: "**********"
这个方法比脚本简单,但缺点是不够灵活,如果你遇到没枚举到的接口名就无法适配了。
备注:内容来源于stack exchange,提问作者jds886
相关产品推荐
相关产品推荐

