Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.7.3. 新的网络命名规范

Red Hat Enterprise Linux 7 提供可以实现网络接口的一致性和可预测的网络设备命名方法。这些功能更改了系统中网络接口名称,以便更轻松地查找和区分接口。

通常,Linux 中的网络接口枚举为 eth[0123…​],但这些名称不一定与机箱上的实际标签对应。具有多个网络适配器的现代服务器平台,可能会遇到这些接口的命名不明确的情况。这会影响在主板上嵌入的网络适配器(Lan-on-Motherboard 或 LOM)和附加(单一和多端口)适配器。

在 Red Hat Enterprise Linux 7 中,systemdudevd 支持很多不同的命名方案。默认行为是根据固件、拓扑和位置信息分配固定名称。它具有完全自动且完全可预测的名称的优点。即使添加或删除硬件(不会重新定义),并且有问题的硬件可以被无缝地替换,仍然可以保持固定的名称。这个行为的缺点是,名称有时比之前使用的名称更难于读,例如,enp5s0 代替 eth0

udevd 现在原生支持以下网络接口命名方案。

方案 1
使用固件或 BIOS 为板上设备提供的索引号,例如 eno1。如果来自固件的信息可用,则默认情况下systemd 会使用这个方案命名接口,方案 2 作为一个备用方案。
方案 2
使用固件或 BIOS 提供的 PCI Express 热插槽索引号命名,例如 ens1。如果来自固件的信息可用,则默认情况下systemd 会使用这个方案命名接口,方案 3 作为一个备用方案。
方案 3
使用硬件连接器的物理位置命名,例如 enp2s0。如果来自固件的信息可用,则默认情况下systemd 会使用这个方案命名接口,方案 5 作为一个备用方案。
方案 4
使用 MAC 地址进行命名,例如 enx78e7d1ea46da。默认情况下,systemd 不会根据这个方案命名接口,但在需要时可以启用它。
方案 5
传统的无法预计的内核原生 ethX 命名,如 eth0。如果所有其他方法都失败,则systemd 根据这个方案进行接口命名。

如果系统启用了 BIOSDEVNAME,或者用户添加了更改内核设备名称的 udevd 规则,则这些规则优先于默认的 systemd 策略。

有关此新命名系统的详情,请查看 网络指南