Administrator
Published on 2026-03-04 / 0 Visits
0
0

【银河麒麟服务器】银河麒麟 V10 服务器网卡命名规则的由来与原理解析

在早期 Linux 系统中,网卡通常使用 eth0、eth1、eth2 等名称。但在现代 Linux 发行版(包括 银河麒麟 V10 服务器操作系统)中,我们会看到类似:

ens33
enp0s3
eno1

这样的网卡名称。很多运维工程师在第一次接触国产化系统时都会产生疑问:

为什么不再使用 eth0,而是使用 ens33、enp0s3 这样的名字?

本文将从 Linux 历史、命名规则、技术实现以及在银河麒麟中的应用 等方面,系统讲解 网卡命名规则的由来


一、传统 Linux 网卡命名方式

在早期 Linux 系统中,网卡命名规则非常简单:

名称

含义

eth0

第一个以太网卡

eth1

第二个以太网卡

eth2

第三个以太网卡

查看网卡:

ifconfig

示例:

eth0
eth1
lo

这种命名方式存在一个明显的问题:

网卡顺序不稳定

系统在启动时根据 驱动加载顺序 分配网卡编号,因此可能出现:

  • 第一次启动
    eth0 → 第一块网卡

  • 第二次启动
    eth0 → 第二块网卡

特别是在以下场景:

  • 多网卡服务器

  • 虚拟化环境

  • PCI 插槽变化

  • 网卡增加或更换

就会导致 IP 地址错配、网络不可用等问题


二、Predictable Network Interface Names 的出现

为了解决网卡命名不稳定的问题,Linux 社区提出了:

Predictable Network Interface Names(可预测网络接口名称)

该方案由 systemd / udev 引入,并在主流 Linux 发行版中推广。

新命名方式的核心思想是:

根据硬件拓扑信息(PCI 位置、主板位置等)为网卡命名。

这样就保证:

  • 每次启动网卡名称一致

  • 与硬件位置绑定

  • 不受驱动加载顺序影响


三、现代 Linux 网卡命名规则

现代 Linux 网卡名称通常以 en、wl、ww 开头。

前缀

含义

en

Ethernet 有线网卡

wl

Wireless 无线网卡

ww

WWAN 移动网络

银河麒麟 V10 服务器系统中最常见的是:

en*

四、常见网卡名称解析

4.1 ens33

示例:

ens33

含义:

部分

含义

en

Ethernet

s

slot

33

PCI 插槽号

即:

插槽 33 的以太网卡


4.2 eno1

示例:

eno1

含义:

部分

含义

en

Ethernet

o

onboard

1

第一个板载网卡

即:

主板板载网卡

4.3 enp0s3

示例:

enp0s3

含义:

部分

含义

en

Ethernet

p0

PCI bus 0

s3

slot 3

即:

PCI 总线 0 的第 3 插槽网卡


4.4 enp189s0f0

enp189s0f0

可以拆分为:

部分

含义

en

Ethernet 有线网卡

p189

PCI bus 189

s0

slot 0

f0

function 0

完整含义:

PCI 总线 189、插槽 0、功能号 0 的以太网网卡

4口服务器网卡

可能出现:

enp3s0f0
enp3s0f1
enp3s0f2
enp3s0f3

说明:

  • 同一 PCI 设备

  • 四个端口

五、银河麒麟 V10 中的网卡命名规则

银河麒麟 V10 继承了 Linux 的可预测命名规则,因此在服务器中常见以下网卡名称:

网卡名称

含义

eno1

主板网卡

ens33

PCI 插槽网卡

enp3s0

PCI 设备网卡

查看网卡:

ip link

示例:

1: lo
2: eno1
3: ens33

六、为什么银河麒麟采用这种命名方式

采用 Predictable Network Interface Names 的原因主要有:

1 网络设备命名稳定

服务器重启后:

  • 网卡名称不会变化

  • IP 地址不会错配


2 适合多网卡服务器

企业服务器通常有:

  • 2口网卡

  • 4口网卡

  • 10G / 25G / 100G 网卡

如果仍使用 eth0、eth1:

很容易混乱。


3 适合数据中心环境

例如:

eno1  管理网
ens1f0  业务网
ens1f1  存储网

命名更有规律。


七、如何查看网卡硬件信息

查看 PCI 信息

lspci | grep Ethernet

示例:

02:00.0 Ethernet controller: Intel Corporation Ethernet Controller

查看网卡详细信息

ethtool ens33

看网卡与 PCI 对应关系

udevadm info /sys/class/net/ens33

八、是否可以恢复 eth0 命名

如果不习惯新的命名方式,可以恢复传统命名。

修改 GRUB:

vim /etc/default/grub

添加:

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

更新 GRUB:

grub2-mkconfig -o /boot/grub2/grub.cfg

重启系统。

网卡会恢复:

eth0
eth1

但在服务器环境 不建议这样做


九、网卡命名规则总结

命名

含义

eth0

传统命名

eno1

主板网卡

ens33

插槽网卡

enp0s3

PCI 总线网卡

核心原则:

通过硬件拓扑实现可预测命名。


十、总结

银河麒麟 V10 服务器操作系统采用 Linux Predictable Network Interface Names 机制,为网卡提供稳定、可预测的命名规则。

相比传统 eth0 命名方式,新规则具有以下优势:

  • 启动顺序不影响网卡名称

  • 与硬件拓扑绑定

  • 适合多网卡服务器

  • 更适合数据中心环境

对于运维工程师来说,理解这些命名规则,可以更好地进行:

  • 网络配置

  • 路由规划

  • 端口聚合

  • 高可用部署



Comment