或给出的网络接口名称ethX
(例如eth1
) 和enoX
(例如)之间有什么区别?eno1
ifconfig
lshw
答案1
答案2
eth0
和之间的区别eno1
在于 Linux 内核为相关以太网接口分配名称的方法/方案。
ethX
在 20 世纪 90 年代,Linux 将形式为(其中X
为数字)的名称分配给以太网网络接口。
但是,在具有多个网络接口的机器上,由于启动时竞争条件,接口在重新启动后不会始终接收相同的名称。
因此,引入了一种新的命名方案。最常见的(至少在我的经验中),这些名称的形式是enpXsY
,其中X
和Y
是数字。这些接口名称在启动过程中是一致的(前提是没有在启动期间添加、移除或移动到不同的插槽中的硬件)。
我怀疑(但无法确认)当机器通过 UEFI 启动(而不是通过传统 BIOS 启动)时,更有可能出现enoX
或形式的接口名称。ensY
Freedesktop.org 说从 Systemd v197 开始:
udev 现在原生支持以下不同的网络接口命名方案:
- 包含固件/BIOS 为板载设备提供的索引号的名称(例如
eno1
:)- 包含固件/BIOS 的名称提供的 PCI Express 热插拔插槽索引号(例如
ens1
:)- 包含硬件连接器的物理/地理位置的名称(例如
enp2s0
:)- 包含接口 MAC 地址的名称(例如
enx78e7d1ea46da
:)- 经典的、不可预测的内核原生 ethX 命名(例如
eth0
:)
您还可以通过以下链接找到更多信息:
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
https://wiki.debian.org/NetworkInterfaceNames
https://en.wikipedia.org/wiki/Consistent_Network_Device_Naming
答案3
Red Hat Enterprise Linux 7 作为 systemd 的一部分引入了一种新的网络命名方案(Ubuntu 16x、17x、18x 中也有)
固件索引号为 eno[1-N] 的板载接口
然后,eno1、eno2 等,是嵌入式网络接口(通常我们可以在 HP Proliant 服务器等上看到它们)