![systemd-networkd:如何在创建无线接入点和连接 WiFi 网络之间优雅地切换](https://linux22.com/image/763789/systemd-networkd%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%E5%88%9B%E5%BB%BA%E6%97%A0%E7%BA%BF%E6%8E%A5%E5%85%A5%E7%82%B9%E5%92%8C%E8%BF%9E%E6%8E%A5%20WiFi%20%E7%BD%91%E7%BB%9C%E4%B9%8B%E9%97%B4%E4%BC%98%E9%9B%85%E5%9C%B0%E5%88%87%E6%8D%A2.png)
我正在开发一款无头式 IoT 设备,它可以创建自己的接入点,以便用户可以访问其 Web UI 并进行必要的配置。该系统使用 networkd,但我不太喜欢它,如果它更适合我的用例,我可能会改用 NetworkManager。
我的问题是:如何优雅地(不通过手动替换 networkd 和 wpa_supplicant 的配置文件)从公开接入点更改为连接到已配置的网络?对于 wpa_supplicant,这看起来很容易 - 我可以通过为 Web UI 提供服务的同一进程通过 dbus 控制它,但 networkd 没有 dbus API,而且坦率地说,我不知道如何在不修改网络文件的情况下将 wlan 接口的固定 IP 切换到 DHCP。
我是否应该放弃并使用 NetworkManager?
答案1
networkd 并非真正为处理您描述的那种动态网络变化而设计的。但 NetworkManager 在这方面表现优异。我本应从 NetworkManager 开始,根本不会考虑将 networkd 用于此应用程序。