Ubuntu 禁用 Netplan 而改用 ifupdown 配置网络

解释下所操作的服务:

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
原文地址:https://www.cnblogs.com/dream397/p/13372321.html