netplan networkd 没有来自 dhcp 的 ipv4

netplan networkd 没有来自 dhcp 的 ipv4

我一直试图在我的电脑上运行 ubuntu 服务器MacBook Pro (15 英寸,2011 年末)一整天,和都20.0421.10与 netplan 斗争,我似乎无法拥有ens9(Thunderbolt 2 网络适配器 - 从这篇文章来看似乎工作正常:在 Ubuntu 20.04 上使用 Apple Thunderbolt 2 以太网适配器)从 DHCP 获取ipv4。我读了很多帖子,这似乎微不足道,但我仍然无法让它工作 :/

我的/etc/netplan当前样子是这样的:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens9:
      dhcp4: true
      optional: true

但说实话,到现在为止,我已经记不清改了多少次了。我几乎尝试了所有能找到的单词排列组合:ubuntu、server、20.04、21.10、dhcp、ipv4、-static、-NetworkManager、not working、not getting IP、-ipv6、MacBook pro、ens9、netplan、systemd-networkd。

每当我ip aens9只有一个ipv6(出于某种原因,我不在ipv6我的网络中使用,我的 DHCP 也不分配ipv6地址,所以我不知道它来自哪里)没有路由表,也没有分配名称服务器,这让我怀疑它甚至没有尝试“DHCP 任何东西”。即使我添加了,dhcp6: false我仍然会得到一个水力压裂ipv6,但没有ipv4

答案1

虽然不多,但至少我发现了为什么这些ipv6地址会出现:显然在命令netplan期间擅自向网络配置添加了额外步骤generate(如果你问我,这不是很酷)。解决方法是:

  1. 添加link-local: []到netplan的接口配置中并生成
  2. 检查/run/systemd/network/目录中生成的文件

我不知道,我越深入研究,就越觉得这netplan很烦人、令人困惑、毫无帮助,最糟糕的是,它完全违背了 *unix 哲学。它只是隐藏了一些东西,让事情变得更加复杂,试图修复一些没有损坏的东西……

答案2

不可否认的是,最后出于沮丧,我最终以尽可能肮脏的方式让它工作(我想要避免的方式):

只需运行一下rc.local

由于界面相当不稳定,所以这“有效”,它几乎看起来就像“下面有东西”在做“某事”。

设置静态 IP 可以解决不稳定性问题,但这不是重点......

相关内容