第 11 章 一致的网络设备命名
红帽企业 Linux 为网络接口提供了一致且可预测的网络设备命名方法。这些功能更改了系统中网络接口名称,以便更轻松地查找和区分接口。
传统上,Linux 中的网络接口枚举为
eth[0123…]s0
但是这些名称不一定与机箱上的实际标签对应。具有多个网络适配器的现代服务器平台,可能会遇到这些接口的命名不明确的情况。这会影响主板上嵌入的网络适配器(Lan-on-Motherboard 或LOM)和附加(单点和多端口)适配器。
在 Red Hat Enterprise Linux 中,udev 支持许多不同的命名方案。默认设置是基于固件、拓扑和位置信息分配固定名称。这具有完全自动化、完全可预知的优点,即即使在添加或删除硬件时仍能修复这些名称(不会重新枚举),而且可以无缝替换损坏的硬件。缺点是它们有时比. eth 或者 wla 传统名称.例如:enp5s0.
警告
不要禁用一致的网络设备命名,因为它允许系统使用
ethX
样式名称,其中 X 是与特定接口对应的唯一编号,在引导过程中可能具有不同的网络接口名称。如需了解更多详细信息,请参阅 第 11.10 节 “网络设备命名故障排除”。
11.1. 命名方案层次结构
默认情况下,systemd
将使用以下策略命名接口以应用支持的命名方案:
- 方案 1 :合并固件或 BIOS 的名称提供板载设备的索引号(example:
eno1)
,如果固件或 BIOS 中的信息适用并可用,则应用该编号,否则返回方案 2。 - 方案 2 :合并固件或 BIOS 的名称提供 PCI Express 热插拔插槽指数号(
例如:ens1
)如果固件或 BIOS 中的信息适用并可用,则将应用,否则回退到方案 3。 - 方案 3 :合并硬件连接器的物理位置的名称(例如:
enp2s0
)会被应用(如果适用),否则在所有其他情况下直接回退到方案 5。 - 方案 4 :默认情况下不使用合并接口的 MAC 地址(例如:
enx78e7d1ea46da
),但如果用户选择,则可用。 - 方案 5 :传统的不可预测的内核命名方案(如果所有其他方法都失败)将使用 (例如:
enp1s0
)。
此策略(上面概述的步骤)是默认设置。如果系统启用了 biosdevname,则会使用它。请注意,启用 biosdevname 需要将 biosdevname=1 作为内核命令行参数传递,但使用 Dell 系统时除外,只要安装了 biosdevname,则会默认使用 biosdevname。如果用户添加了 udev 规则来更改内核设备的名称,则优先使用这些规则。