linux网卡命名规则

在 Linux 系统中,网卡命名规则经历了多个阶段的发展,主要包括传统命名规则、基于固件或 BIOS 提供的信息命名规则、基于设备物理位置命名规则和可预测网络接口命名规则

1、命名规则介绍:

传统命名规则

在较旧的 Linux 系统中,采用传统的命名规则,网卡设备名由前缀和数字组成,前缀用于标识网卡类型:

ethX:以太网网卡,X 是从 0 开始递增的数字。例如,第一块以太网网卡通常命名为 eth0,第二块为 eth1 ,依此类推。这种命名方式简单直接,但存在一个问题,当网卡插拔顺序改变或者系统启动时检测到网卡的顺序不同,网卡的编号可能会发生变化,导致配置文件中的网卡名称与实际网卡不匹配。

如图显示的是传统命名规则

基于固件或 BIOS 提供的信息命名规则

enX:对于以太网网卡,如果固件或 BIOS 提供了特定的设备信息,网卡名称会以 en 开头。例如,ensX 表示网卡使用的是 PCI Express 热插拔插槽(s 代表 slot);enoX 表示网卡使用的是板载设备(o 代表 on-board)。

基于设备物理位置命名规则

enpXsY:这种命名规则基于网卡所在的 PCI 总线和插槽位置。p 后面的数字 X 表示 PCI 总线编号,s 后面的数字 Y 表示插槽编号。例如,enp2s0 表示该网卡位于第 2 条 PCI 总线上的第 0 个插槽。

enxMAC:网卡名称以 enx 开头,后面跟随网卡的 MAC 地址。这种命名方式确保了网卡名称的唯一性,即使网卡的物理位置发生变化,只要 MAC 地址不变,名称就不会改变。

可预测网络接口命名规则

从 systemd 引入后,Linux 系统开始采用可预测网络接口命名规则,其目的是为了让网卡命名更加稳定和可预测。可预测网络接口命名规则综合了上述几种规则,命名规则如下:

若 BIOS 或固件提供了合适的名称,则优先使用这些名称。

否则,根据设备的物理位置或拓扑结构进行命名。

如果以上方法都不可行,则使用传统的命名方式。

如图显示的是可预测接口命名,其中em1-em2为板载网卡,p4p1-p4p4,p4p1-p4p5为可插拔网卡

二、查看和修改命名规则

查看网卡名称:可以使用 ip addr 或 ifconfig(部分系统需要额外安装)命令查看当前系统中网卡的名称。

修改命名规则:若要使用传统命名规则,可以通过修改内核参数来实现。在 /etc/default/grub 文件中找到 GRUB_CMDLINE_LINUX 行,添加 net.ifnames=0 biosdevname=0 参数,然后更新 GRUB 配置:

sudo update-grub

重启系统后,网卡将使用传统命名规则。

 

补充:

从以上两张截图看到,不管grub是否添加net.ifnames=0 biosdevname=0参数,网卡的mac地址显示顺序总是乱的,板载网卡mac和可插拔式网卡mac总是乱序的。还是存在问题的

文档内容主要由ai生成

posted on   赛博狗尾草  阅读(42)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示