为什么 Linux 中网络接口的命名约定发生了改变?

为什么 Linux 中网络接口的命名约定发生了改变?

我记得不久前,接口是通过 eth0、eth1、wlan0 等来识别的。

现在我找到了诸如 enp0s3、enp0s8 等接口名称。

在我刚才提出的另一个问题中,有人提到新的格式是:

“以太网外围设备 # 串行 #”

这让我很疑惑:

1.Why did it change?
2.When did it change?
3.What does the first number signify?
4.Why does the 's' stand for serial, why is that in the interface name?
5.What does the second number signify?

我用 Google 到处寻找答案,但没有找到任何涵盖从旧命名系统到新命名系统的过渡的内容。

答案1

为何改变

内核采用的网络接口经典命名方案是简单地为所有由驱动程序探测的接口分配以“eth0”、“eth1”等开头的名称。由于驱动程序探测对于现代技术来说通常是不可预测的,这意味着一旦有多个网​​络接口可用,名称“eth0”、“eth1”等的分配通常就不再固定,并且很可能会发生一次启动时的“eth0”在下一次启动时变成“eth1”。这可能会带来严重的安全隐患,例如在为某些命名方案编码的防火墙规则中,这些规则对不可预测的名称更改非常敏感。

http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

当它改变的时候

取决于您使用的发行版。它从systemdv197 开始。因此,任何使用该版本或更高版本的发行版都很可能使用此命名约定。

字母和数字代表什么意思

我找不到任何东西来验证这一点,但我相信p代表物理外围设备,s代表插槽。en代表那里n等。这只是我从上面的链接中收集到的信息,但它没有明确说明这一点。我在 Google 上也找不到任何信息。

相关内容