Red Hat Training

A Red Hat training course is available for RHEL 8

1.2. 网络设备重命名是如何工作的

默认情况下,在 Red Hat Enterprise Linux 中启用了一致的设备命名。udev 设备管理器会处理不同的规则来重命名设备。udev 服务按以下顺序处理这些规则:

  1. /usr/lib/udev/rules.d/60-net.rules 文件定义了 /lib/udev/rename_device 帮助工具搜索 /etc/sysconfig/network-scripts/ifcfg-* 文件中的 HWADDR 参数。如果变量中设置的值与接口的 MAC 地址匹配,则帮助工具会将接口重命名为文件的 DEVICE 参数中设置的名称。
  2. /usr/lib/udev/rules.d/71-biosdevname.rules 文件定义了 biosdevname 工具根据其命名策略重命名接口,只要它在上一步中没有重命名。
  3. /usr/lib/udev/rules.d/75-net-description.rules 文件定义了 udev 检查网络接口设备,并在 udev-internal 变量中设置在下一步中将要处理的属性。请注意,其中一些属性可能没有定义。
  4. /usr/lib/udev/rules.d/80-net-setup-link.rules 文件调用内置的 net_setup_link udev ,然后应用策略。以下是存储在 /usr/lib/systemd/network/99-default.link 文件中的默认策略:

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

    有了这个策略,如果内核使用持久名称,则 udev 不会重命名接口。如果内核不使用持久名称,则 udev 会将接口重命名为 udev 的硬件数据库提供的名称。如果这个数据库不可用,Red Hat Enterprise Linux 会回复到上述机制中。

    另外,对于基于介质访问控制(MAC)地址的接口名称,将此文件中的 NamePolicy 参数设为 mac

  5. /usr/lib/udev/rules.d/80-net-setup-link.rules 文件定义了 udev 按以下顺序,根据 udev-internal 参数重命名接口:

    1. ID_NET_NAME_ONBOARD
    2. ID_NET_NAME_SLOT
    3. ID_NET_NAME_PATH

    如果没有设置参数,则 udev 将使用下一个参数。如果没有设置任何参数,接口就不会被重命名。

步骤 3 和 4 实现了网络接口设备命名层次结构中介绍的命名方案 1 到 4。

其他资源