解釋下所操作的服務: networkd-dispatcher 是 Netplan 后端服務(桌面版則是 NetworkManager); networkd-dispatcher 是 Netplan 守護服務,可通過監聽連接狀態以執行特定事件操作; systemd-networkd-wait-online 用於檢測 systemd-networkd 所管理網絡接口的連接狀態; systemd-resolved 新的 DNS 管理服務,其配置文件里有的參數依賴 Netplan 后端服務工作;
root@ubuntu:~# systemctl disable systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemd-resolved Removed /etc/systemd/system/dbus-org.freedesktop.resolve1.service. Removed /etc/systemd/system/multi-user.target.wants/networkd-dispatcher.service. Removed /etc/systemd/system/multi-user.target.wants/systemd-resolved.service. root@ubuntu:~# systemctl stop systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemd-resolved root@ubuntu:~# systemctl mask systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemd-resolved Created symlink /etc/systemd/system/systemd-networkd.service → /dev/null. Created symlink /etc/systemd/system/networkd-dispatcher.service → /dev/null. Created symlink /etc/systemd/system/systemd-networkd-wait-online.service → /dev/null. Created symlink /etc/systemd/system/systemd-resolved.service → /dev/null. root@ubuntu:~# ping www.baidu.com
安裝 ifupdown、resolvconf 軟件包。
sudo apt install ifupdown resolvconf
后續如要切換回 Netplan,別忘了恢復上述系統服務。將帶有 mask 的命令換成 unmask 運行一次,不然即使 start disable 了也沒法使用服務。
其它可能用到的命令擴展:
systemctl list-dependencies systemd-networkd --reverse
查詢指定服務所關聯的依賴項;systemctl list-unit-files --type=masked --all
列出/lib/systemd/system
下被禁止的服務;
如果 DNS 解析不了,請檢查/etc/resolv.conf
所鏈接的文件是否是/run/resolvconf/resolv.conf
。如果不是,運行下面命令設置。
ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf