搜索

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

download PDF

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

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

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

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

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

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

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

  1. 可选:/usr/lib/udev/rules.d/60-net.rules

    只有在安装 initscripts-rename-device 软件包时,该文件才存在。定义了弃用的 /usr/lib/udev/rename_device 助手工具的/usr/lib/udev/rules.d/60-net.rules 文件在 /etc/sysconfig/network-scripts/ifcfg-* 文件中查找 HWADDR 参数。如果变量中设置的值与接口的 MAC 地址匹配,则助手工具会将接口重命名为 ifcfg 文件的 DEVICE 参数中设置的名称。

    如果系统只使用 keyfile 格式的 NetworkManager 连接配置文件,则 udev 会跳过这一步。

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

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

    注意

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

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

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

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

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

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.