1. 程式人生 > 實用技巧 >Ubuntu 禁用 Netplan 而改用 ifupdown 配置網路

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-dependenciessystemd-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