我在 Raspberry Pi 3 上使用 Archlinux。无线适配器与 systemd-networkd 和 wpa_supplicant 配合使用。我使用 00-wlan0.link 文件将设备命名为“wlan0”,其中包含:
[Match]
MacAddress=b8:27:eb:20:a4:a5
[Link]
Name=wlan0
在尝试桥接有线和无线适配器(导致两者都不再工作)之后,我从 /etc/systemd/network 中删除了除 00-lan0.link 和 lan0.network 之外的所有文件,它们为我的有线适配器提供了静态 IP,因此我可以通过电缆访问机器。不,我观察到重新启动后,无线接口的名称仍然是 wlan0,尽管提供该名称的 .link 文件不再存在。此外,如果我添加另一个 .link 文件尝试为接口指定一个新名称 (wlan1),该文件将被忽略,并且设备仍以 wlan0 名称显示。什么可能导致此问题以及如何调试此问题?
答案1
Systemd-networkd 尊重多个位置的文件,即 ,/etc/systemd/network
最后/run/systemd/network
是/lib/systemd/network
。如果一个文件的基本名称在词法上位于您的文件之前,则该文件优先,即使其位置不占优势。您应该查明此类文件是否存在并将其删除。networkctl status <iface>
将显示有关接口的信息。查找有关 的行Link File
。
答案2
systemd-networkd
确实忽略.link
文件。这是预料之中的。解释.link
文件的称为systemd-udevd
.您可以通过在配置文件中引入(例如)不存在的选项然后重新启动特定守护程序来轻松检查这一点。您将看到文件中的错误.network
将由 报告,systemd-networkd
而文件中的错误.link
将由 报告systemd-udevd
。