在Linux内核中,网卡(网络接口)的命名规则经历了一些变迁,特别是在从传统的接口命名规则转变为新的规则时。
1. 传统命名规则 (ethX)
在早期版本的Linux系统中,网络接口的名称通常使用类似 eth0, eth1, eth2 等命名方式,其中数字部分(0, 1, 2 等)是接口的索引。这种命名方式简单直观,但随着网络设备的增多,接口的编号变得不可靠,容易导致系统重启后接口名称发生变化,尤其是在多网卡或虚拟化环境下。
2. 新的命名规则 (Predictable Network Interface Names)
从systemd v197 和 udev v197 开始,Linux引入了"可预测的网络接口命名"(Predictable Network Interface Names)。新的命名规则基于网络接口的硬件信息(如设备的位置、MAC地址等)来生成更加稳定且有意义的名称。新的命名规则主要考虑以下几个因素:
-
PCI总线位置:如果网络接口是PCI设备(比如普通的网络卡),它的名称会基于设备在PCI总线中的位置来命名。
- 示例:
enp3s0,表示设备在3号PCI总线上的0号插槽。
- 示例:
-
USB设备:如果网络接口是USB设备,名称会基于USB端口的位置来命名。
- 示例:
enx78e7d1a5a640,表示设备的MAC地址78:e7:d1:a5:a6:40,通常用于USB网卡。
- 示例:


863

被折叠的 条评论
为什么被折叠?



