我一直试图在我的电脑上运行 ubuntu 服务器MacBook Pro (15 英寸,2011 年末)一整天,和都20.04
在21.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 a
它ens9
只有一个ipv6
(出于某种原因,我不在ipv6
我的网络中使用,我的 DHCP 也不分配ipv6
地址,所以我不知道它来自哪里)没有路由表,也没有分配名称服务器,这让我怀疑它甚至没有尝试“DHCP 任何东西”。即使我添加了,dhcp6: false
我仍然会得到一个水力压裂ipv6
,但没有ipv4
答案1
虽然不多,但至少我发现了为什么这些ipv6
地址会出现:显然在命令netplan
期间擅自向网络配置添加了额外步骤generate
(如果你问我,这不是很酷)。解决方法是:
- 添加
link-local: []
到netplan的接口配置中并生成 - 检查
/run/systemd/network/
目录中生成的文件
我不知道,我越深入研究,就越觉得这netplan
很烦人、令人困惑、毫无帮助,最糟糕的是,它完全违背了 *unix 哲学。它只是隐藏了一些东西,让事情变得更加复杂,试图修复一些没有损坏的东西……
答案2
不可否认的是,最后出于沮丧,我最终以尽可能肮脏的方式让它工作(我想要避免的方式):
只需运行一下rc.local
由于界面相当不稳定,所以这“有效”,它几乎看起来就像“下面有东西”在做“某事”。
设置静态 IP 可以解决不稳定性问题,但这不是重点......