ubuntu 升级后网络接口名称改变,为什么?如何改回来?

ubuntu 升级后网络接口名称改变,为什么?如何改回来?

从 18.04 升级到 20.04 后,我发现所有网络接口名称都发生了变化。为什么?我如何才能将它们改回原始名称,而不必编辑 netplan 文件来强制使用名称。

答案1

为什么

它被称为可预测的网络接口名称

来自链接:

内核应用的网络接口的经典命名方案是简单地为所有接口分配以“eth0”、“eth1”等开头的名称,因为驱动程序会探测这些接口。由于驱动程序探测对于现代技术来说通常是不可预测的,这意味着一旦有多个网​​络接口可用,名称“eth0”、“eth1”等的分配通常就不再固定,并且很可能会发生一次启动时的“eth0”在下一次启动时变成“eth1”。这可能会带来严重的安全隐患,例如在为某些命名方案编码的防火墙规则中,这些规则对不可预测的名称更改非常敏感。

以及如何才能将它们改回原来的名称,而不必编辑 netplan 文件来强制使用名称。

我建议不要这么做。这种命名是可以预见的 :-) 旧命名有缺陷,如果某个网络名称比类似类型的网卡慢,可能会弄乱网络名称。

但你可以。另见以下链接:

我不喜欢这个,我该如何禁用它?

你基本上有三个选择:

  1. 您禁用固定名称的分配,以便再次使用不可预测的内核名称。为此,只需屏蔽 udev 的 .link 文件以使用默认策略:ln -s /dev/null /etc/systemd/network/99-default.link

  2. 您可以创建自己的手动命名方案,例如,将接口命名为“internet0”、“dmz0”或“lan0”。为此,请在 `/etc/systemd/network/ 中创建自己的 .link 文件,为一个、一些或所有接口选择一个明确的名称或更好的命名方案。有关更多信息,请参阅 systemd.link(5)。

  3. net.ifnames=0你在内核命令行上传递

答案2

发现从 20.04 升级到 22.04 后,所有接口名称都恢复了。这就是我所寻找的如何使接口名称不变。

我认为问题是由于从 18.04 升级到 20.04 期间 lxd 的 SNAP 安装失败。(回复:主目录位置。找到更多信息这里

我认为修复该问题后重新启动即可解决问题。但我最终升级到最新版本,这无论如何都需要重新启动。

相关内容