apt 删除 ifupdown cloud-init

apt 删除 ifupdown cloud-init

删除netplan.io不会立即产生影响(网络仍然有效),但下次重新启动服务器时,网络就不存在了。这意味着netplan.io负责某些配置方面(显然),并且操作系统能够使用网络,如果它的配置正确。

我已尝试以下步骤尝试手动启动网络,而无需netplan.io

  1. ifconfig eth0 up带来了一些类似于 IPv6 的功能,但没有 IPv4。没有网络访问。
  2. dhclient eth0(#1 之后)永远挂起,即不执行任何操作。
  3. ifup命令不存在。
  4. /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 名称解析甚至也能正常工作!现在只需找到一种方法在启动时自动执行此操作...也许是一个@rebootcron 作业,但这感觉很黑客...

答案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) 命令仍然可用。

相关内容