第 1 章 实现一致的网络接口命名


udev 设备管理器在 Red Hat Enterprise Linux 中实现一致的设备命名。设备管理器支持不同的命名方案,默认情况下,根据固件、拓扑和位置信息分配固定的名称。

如果没有一致的设备命名,Linux 内核通过组合固定前缀和索引来为网络接口分配名称。当内核初始化网络设备时,索引会增加。例如:eth0 代表启动时探测到的第一个以太网设备。如果您在系统中添加了另一个网络接口控制器,则内核设备名称的分配不再固定,因为重启后,设备可以以不同的顺序初始化。在这种情况下,内核可以以不同的方式命名设备。

要解决这个问题,udev 需分配一致的设备名称。它有以下优点:

  • 设备名称在重启后是稳定的。
  • 即使添加或删除了硬件,设备名称也会保持不变。
  • 因此,有问题的硬件可以被无缝地替换。
  • 网络命名是无状态的,不需要显式配置文件。
警告

通常,红帽不支持禁用了一致设备命名的系统。有关例外,请参阅红帽知识库解决方案 可以安全地设置 net.ifnames=0 吗

1.1. udev 设备管理器如何重命名网络接口

要为网络接口实现一致的命名方案,udev 设备管理器按列出的顺序处理以下规则文件:

  1. 只在 Dell 系统上:/usr/lib/udev/rules.d/71-biosdevname.rules

    只有安装了 biosdevname 软件包,且规则文件定义了 biosdevname 工具根据其命名策略重命名了接口,如果其没有在之前的步骤中被重命名,该文件才存在。

    注意

    仅在 Dell 系统上安装和使用 biosdevname

  2. /usr/lib/udev/rules.d/75-net-description.rules

    此文件定义了 udev 如何检查网络接口,并在 udev-internal 变量中设置属性。然后,这些变量由 /usr/lib/udev/rules.d/80-net-setup-link.rules 文件在下一步中进行处理。其中一些属性可以未定义。

  3. /usr/lib/udev/rules.d/80-net-setup-link.rules

    此文件调用 udev 服务的 net_setup_link builtin,并且 udev 根据 /usr/lib/systemd/network/99-default.link 文件中 NamePolicy 参数中策略的顺序重命名接口。详情请查看 网络接口命名策略

    如果没有应用任何策略,则 udev 不会重命名接口。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat