解释下所操作的服务: 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