Debian 12 VM(在 Hyper-V 上)具有 eth0/eth1 接口名称,而不是预期的可预测网络接口名称?

Debian 12 VM(在 Hyper-V 上)具有 eth0/eth1 接口名称,而不是预期的可预测网络接口名称?

12.4.0我刚刚使用典型的 Debian 映像在 Hyper-V 主机上安装了全新的 Debian VM debian-12.4.0-amd64-netinst.iso

登录完成网络设置后,我惊讶地发现我的两个虚拟化网卡被命名eth0,而eth1不是后面的任何内容可预测的网络接口名称图案。我担心这可能意味着eth0并且eth1可能无法一致地绑定到虚拟网卡,这会扰乱我的静态 IP 地址分配并导致流量路由到错误的接口或标记错误的 VLAN ID。

德班网络接口名称 wiki说当我运行时udevadm test-builtin net_id /sys/class/net/eth0 2>/dev/null,输出应始终包含一个ID_NET_NAME_PATH元素:

ID_NET_NAME_PATH=始终在场;通常是复杂到容易忘记的东西,例如 wlp3s5 或 enp1s3f0。请注意,所有数字均为十六进制。

但我看到的不是这样!当我运行该命令时,我只得到以下输出:

ID_NET_NAMING_SCHEME=v252
ID_NET_NAME_MAC=enx00155dddac06
ID_OUI_FROM_DATABASE=Microsoft Corporation

问题是:为什么这些虚拟机网络接口不生成ID_NET_NAME_PATH根据“可预测的接口名称”模式命名,我该如何解决这个问题?

后续问题:如果我将接口名称保留为eth0eth1,是否有任何实际的这会导致网络接口绑定不稳定的风险吗?

有关当前系统配置的更多信息如下

在Debian安装程序中,我选择了没有任何桌面环境的安装,但是SSH 服务器,因为这是一个用于基本服务器应用程序和 Docker 容器托管的远程管理服务器,无需交互式用户。因此NetworkManager不存在;我相信网络配置是由 管理的systemd-networkd

新系统中没有文件/etc/systemd/network。所以我相信它将使用 中给出的默认命名策略顺序/lib/systemd/network/99-default.link?该文件的内容是:

[Match]
OriginalName=*

[Link]
NamePolicy=keep kernel database onboard slot path
AlternativeNamesPolicy=database onboard slot path
MACAddressPolicy=persistent

的输出sudo sysctl -a不包含对 的引用net.ifnames

Linux 版本是Linux [...] 6.1.0-17-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.69-1 (2023-12-30) x86_64 GNU/Linux. systemd 版本是systemd 252 (252.19-1~deb12u1).

我已经检查了链接的 Debian NetworkInterfaceNames wiki 页面中的“虚拟机”注释,该注释建议删除下面的一些文件/etc/systemd/network,然后重建,initrd以触发接口名称的重新生成。我在这些位置没有文件。我尝试重建 initrd 并重新启动。这对接口名称没有影响;他们仍然eth0eth1

相关内容