在重新启动之前预测可预测的网络接口名称?

在重新启动之前预测可预测的网络接口名称?

我实际上喜欢可预测的接口名称,我只是想在 Debian dist 升级后重新启动之前知道它们,以便我可以/etc/network/interfaces相应地更改。知道如何预测它们吗?

答案1

笔记:当您升级最初使用旧式名称的 Debian 系统时,默认情况下它将继续使用旧式名称:升级过程将放置一个到 /dev/null 的符号链接,这/etc/systemd/network/99-default.link将覆盖新的命名策略文件/lib/systemd/network/99-default.link。如果您选择使用新样式,请rm /etc/systemd/network/99-default.link在升级后重新启动之前。

如果新版本的udev规则集已经就位(如您所示:在apt dist-upgrade重新启动之后但之前),那么

udevadm info -q all -p /sys/class/net/<current name of interface> |grep ID_NET_NAME

应按优先级降序显示所有命名选项:

  • enoN如果有 DMI 信息将网络接口标识为板载集成 NIC,则会出现ID_NET_NAME_ONBOARD 。默认情况下,该名称优先于所有其他选项。
  • 如果网卡位于 PCIe 热插拔插槽中,您可能会看到 ID_NET_NAME_SLOTensN编号,用于标识相应的插槽编号
  • ID_NET_NAME_PATHenpNsM对应于 PCI 设备 ID N:M.0。不幸的是,设备名称编号采用十进制,而 PCI 设备 ID 使用十六进制,因此可能需要进行一些转换。
  • 如果 NIC 具有多个显示为单独 PCI 功能的端口 (PCI id N:ML),则将改为 ID_NET_NAME_PATH enpNsMfL
  • 还有 ID_NET_NAME_MACenx<MAC address in hex>格式。默认情况下不使用此功能,但在 USB 连接的 NIC 上可能很方便。

如果您还没有运行升级,则过程将是:

  • 第一次运行dmidecode -t10。如果它报告任何以太网接口,它们将被列为板载接口 ( enoN)。
  • 如果您有 NIC热插拔能力PCIe 插槽,您的硬件手册有望识别插槽编号。
  • 然后,使用ethtool -i ethN | grep bus-info查看网卡的 PCI 总线标识符。将总线 ID 号从十六进制转换为十进制,您就会知道enp...新名称的形式。例如:

    总线信息:0000:00:19.0

将映射到 enp0s25,以及一个双端口 NIC

bus-info: 0000:01:00.0

bus-info: 0000:01:00.1

将映射到enp1s0f0enp1s0f1

如果您想调整默认命名,可以使用目录.link中的文件来完成/etc/systemd/network/:请参阅man systemd.link获取详细信息。例如,如果您想使用enx<MAC>USB网络接口的样式命名,您可以添加/etc/systemd/network/81-usbnet.link包含以下内容的文件:

[Match]
Path=*usb*

[Link]
NamePolicy=database mac

相关内容