可预测的网络接口设备名称随新 SSD 发生变化

end*_*rph 6 networking

我有一个带有多个网络接口的 Ubuntu 18.04 机器。

如果我向系统添加新的 NVMe SSD,网络设备名称会更改。

例如,enp60s0 可能会变成 enp61s0。

这是预期的吗?该盒子是无头的,因此添加新驱动器会导致无法访问,因为所有网络接口配置都丢失了。这并不理想。

tel*_*coM 7

NVMe SSD 直接连接到 PCIe 总线,显然您的硬件会根据是否存在 NVMe 设备呈现不同的总线拓扑。

如果网络设备从 转换enp60s0enp61s0,则表示其 PCI 总线 ID 已从 转换3c:00.03d:00.0。这可能是您的硬件/主板的一个怪癖,并且可能无法避免。根据硬件设计,系统固件 (BIOS/UEFI) 升级可能有帮助,也可能无济于事。

但是您可以使用几种可能的方法来锁定网络接口的名称或为其指定自定义名称。

例如,您可以.link/etc/systemd/network/目录中写入一个文件以强制系统分配您选择的名称:

[Match]
MACAddress=11:22:33:44:55:66

[Link]
NamePolicy=onboard
Name=eno1
Run Code Online (Sandbox Code Playgroud)

此示例文件放入/etc/systemd/networkas 时70-eno1.link会将名称分配给eno1具有 MAC 地址的 NIC 11:22:33:44:55:66enoN如果系统固件没有适当的数据结构来允许它们被自动检测为板载 NIC,我使用它来为集成的板载 NIC提供样式名称。(该NamePolicy=onboard行实际上可能是不必要的。)

您可以使用相同的语法分配任何其他名称,包括根据需要强制使用该名称enp60s0