Ubuntu 禁用 Netplan 改用 ifupdown 配置网络

Tag: Ubuntu 
Posted on 2021-07-15

本文介绍如何禁用 Netplan 改回使用 ifupdown 配置网络,并将 DNS 管理由 systemd-resolved 改回 resolvconf。


  • 在 Ubuntu 初始安装过程禁用 Netplan

Netplan FAQ 里有提到,可以在系统安装时设置不用 Netplan(引导界面按 F6 键设置如下参数)。

netcfg/do_not_use_netplan=true

该方法适合全新安装 Ubuntu 使用。对于 VPS 测试通过 VNC 无法操作(因安全原因拦截了按键)。


  • 已安装 Ubuntu 的情况下禁用 Netplan

1. 先安装 ifupdown、resolvconf 软件包。

sudo apt install ifupdown resolvconf


2. 修改配置文件配置好网络连接。

sudo vi /etc/network/interfaces

静态 IP 网络配置示例:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
         iface eth0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1
        dns-nameservers 8.8.8.8 8.8.4.4

DHCP 网络配置示例:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
         allow-hotplug eth0
         iface eth0 inet dhcp

3. 关闭 & 重开网络接口,设置 networking 服务开机启动和重启使设置生效。

sudo ifdown --force eth0 lo && ifup -a
sudo systemctl enable networking
sudo systemctl restart networking

4. 停止、取消和禁止 Netplan 相关服务运行,并移除 Netplan 软件包及其配置文件。

解释下所操作的服务:

networkd-dispatcher 是 Netplan 后端服务(桌面版则是 NetworkManager);

networkd-dispatcher 是 Netplan 守护服务,可通过监听连接状态以执行特定事件操作;

systemd-networkd-wait-online 用于检测 systemd-networkd 所管理网络接口的连接状态;

systemd-resolved 新的 DNS 管理服务,其配置文件里有的参数依赖 Netplan 后端服务工作;

sudo systemctl stop systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemd-resolved
sudo systemctl disable systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemd-resolved
sudo systemctl mask systemd-networkd networkd-dispatcher systemd-networkd-wait-online systemd-resolved
sudo apt purge nplan netplan.io

后续如要切换回 Netplan,别忘了恢复上述系统服务。将带有 mask 的命令换成 unmask 运行一次,不然即使 start disable 了也没法使用服务。


其它可能用到的命令扩展:

查询指定服务所关联的依赖项

systemctl list-dependencies systemd-networkd --reverse

列出 /lib/systemd/system 下禁用服务

systemctl list-unit-files --type=masked --all

5. 完成以上操作就设置完成了,全文实测在 Ubuntu Server 18.04 20.04 系统下通过。

如果 DNS 解析不了,请检查 /etc/resolv.conf 所链接的文件是否是 /run/resolvconf/resolv.conf。如果不是,运行下面命令设置。

sudo ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf

转载自:https://www.hostarr.com/disable-netplan-and-enable-ifupdown-in-ubuntu/

向原作者致谢!????

 评论
张三
orz
李四
orz orz
李小四
orz orz orz
张小三
orz orz orz orz
  搜索
  Tags
全部   Ubuntu   Linux   Python   Windows   Shell   转发   字体   循环   js   KMS   MySQL   html   DNS   css   多线程   VSCode   Office   安装   WinSCP   字典   原创   多进程   反向代理   领带   截取字符   随机数   随机   重定向   远程调试   进程池   进度条   网卡   线程池   电源   生活   激活   浏览器   日志   数据库   venv   vbs   uuid   IP   iostat   import   GitHub   dpkg   DHCP   curl   crx   CPU   cloud-init   BBR   Apt   iptables   Kitsunebi   kvm   tc   subprocess   SSH   SoftEther   Set   samba   pyflakes   pip   Nginx   NextCloud   List   libreoffice   Adobe  
  功能
You can put anything you want inside of these side widgets. They are easy to use, and feature the new Bootstrap 4 card containers!