Debian 9 和可预测的网络接口名称

Debian 9 和可预测的网络接口名称

在 Hetzner 云上使用我的新 Debian 9 时,我注意到一件奇怪的事情。当虚拟机启动时,我可以看到,eth0 接口被重命名为 ens3(我怀疑可预测的网络名称机制发挥了作用)。但在重命名完成后,我可以看到 ens3 接口名称被重命名回 eth0。我在 dmesg 输出中看到这些重命名。

[    1.471140] virtio_net virtio0 ens3: renamed from eth0
[    3.212154] virtio_net virtio0 eth0: renamed from ens3

有人可以帮助我找出第二个接口重命名的配置位置吗,因为我无法在任何地方找到此类配置:( 谢谢。

答案1

如果 Debian 9 是从头开始安装的,它会使用新的“可预测网络接口名称”机制。如果它是从早期版本升级的,它仍然使用旧式命名 - 并且该文件/etc/udev/rules.d/70-persistent-net.rules应该存在。

日志条目中的计时信息表明两次重命名操作之间大约有 1.7 秒的时间。这表明可能有两种机制在起作用:第一行可能systemd-networkd在 initramfs 中设置新样式名称,然后第二行可能是在安装根文件系统和“真正的”udev(与迷你文件系统相反)时initramfs 中的 -udev)启动。

或者,如果 Hetzner 云的管理员使用不同的工具实现了遗留样式名称,则可能会/etc/rc.local运行类似的东西nameif -s,它会/etc/mactab根据它读取和设置接口名称。

或者,如果 Hetzner 云按照您的评论使用cloud-init,那么您可能需要检查该/etc/cloud/cloud.cfg.d/custom-networking.cfg文件是否存在。有关更多详细信息,请参阅:

http://cloudinit.readthedocs.io/en/latest/topics/network-config-format-v1.html

http://cloudinit.readthedocs.io/en/latest/topics/network-config-format-v2.html

cloud-init可以有许多可能的网络配置信息来源,请参阅:

http://cloudinit.readthedocs.io/en/latest/topics/network-config.html#network-configuration-sources

答案2

我在 OVH 的新 Debian 10 虚拟机上也遇到了同样的问题。这是我必须做的(除了修改/etc/network/interfaces):

  • 消除/etc/udev/rules.d/70-persistent-net.rules
  • /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg添加一个包含内容的文件network: {config: disabled}(这取自/etc/cloud/cloud.cfg.d/README

相关内容