删除netplan.io
不会立即产生影响(网络仍然有效),但下次重新启动服务器时,网络就不存在了。这意味着netplan.io
负责某些配置方面(显然),并且操作系统能够使用网络,如果它的配置正确。
我已尝试以下步骤尝试手动启动网络,而无需netplan.io
:
ifconfig eth0 up
带来了一些类似于 IPv6 的功能,但没有 IPv4。没有网络访问。dhclient eth0
(#1 之后)永远挂起,即不执行任何操作。- 该
ifup
命令不存在。 - 该
/etc/network/interfaces
文件不存在。
netplan get
以下是安装时我能够提取的配置:
network:
version: 2
ethernets:
eth0:
addresses:
- "<censored>/24"
gateway4: <censored>
它看起来非常基础,但我不知何故找不到如何在没有的情况下应用它netplan.io
。
我的最终目标是让网络无需netplan.io
安装即可工作,并在系统启动时自动运行。我找不到任何软件包来尝试安装以实现这一点。我只能找到有关如何编辑的指南/etc/network/interfaces
,但这不适用于此处。最重要的是,apt-file
找不到任何包含该文件的软件包,所以我甚至无法使其适用。
没有 怎样才能保持以太网正常工作netplan.io
?
编辑:我最终找到了正确配置网络的一系列命令:
ifconfig eth0 <address> netmask 255.255.255.0
route add default gw <gateway4> eth0
ifconfig eth0 up
DNS 名称解析甚至也能正常工作!现在只需找到一种方法在启动时自动执行此操作...也许是一个@reboot
cron 作业,但这感觉很黑客...
答案1
在特伦斯的建议,我安装了ifupdown
似乎是添加的包/etc/network/interfaces
。不知道为什么apt-file
找不到它。
将其添加到后/etc/network/interfaces
:
auto eth0
iface eth0 inet static
address <censored>
netmask 255.255.255.0
gateway <censored>
并确保networking
服务已启用 ( systemctl enable networking
),现在每次启动时我都可以访问网络。成功!
答案2
您实际上并不想使用 /etc/network/interfaces 文件,因为它已被弃用。我已在 Server Ubuntu 22.04.1 LTS 上完全删除了 netplan.io。
在 /etc/systemd/network 中创建您的配置。我首先复制 netplan.io 在 /run/systemd/network 中创建的文件,然后编辑它们直到得到我想要的结果。建议自由使用“man systemd.network”。
重新启动以确保一切都按您的需要设置并运行。
以 root 身份运行以删除这些软件包
apt 删除 ifupdown cloud-init
dpkg --ignore-depends=ubuntu-minimal -r netplan.io
您现在正在尽可能接近裸机运行,因为 systemd-networkd 允许您这样做。使用 networkctl(1) 命令进行管理。如果需要,ip(8) 命令仍然可用。