在 Linux 系统中,网络接口拥有一套标准的命名方式,其中最常见的就是传统的 eth0、eth1 等形式。大多数网卡驱动程序都支持同时管理多个接口,当系统检测到多块网卡时,会按照设备被识别的顺序依次编号。例如,第一块网卡被命名为 eth0,第二块为 eth1,以此类推。

尽管这种简单的数字后缀命名法长期以来被广泛使用,便于用户和脚本通过固定的接口名称进行网络配置。不过需要注意的是,在现代 Linux 发行版中,出于一致性和可预测性的考虑,也出现了如 enp0s3 或 ens33 等基于固件或硬件拓扑的命名方式。

一张表总结清楚

前缀/名称模式类型/含义示例
lo本地回环接口lo
eth传统以太网接口eth0, eth1
en以太网接口总前缀eno1, ens18, enp3s0
eno板载以太网接口eno1, eno2
ens按插槽编号命名的以太网接口ens18, ens33
enp按 PCI 总线位置命名的以太网接口enp3s0, enp5s0f1
enx按 MAC 地址命名的以太网接口enx001122334455
wlan传统无线网卡接口wlan0, wlan1
wl无线网卡接口总前缀wlp2s0, wlo1
wlo板载无线网卡接口wlo1
wlp按 PCI 总线位置命名的无线网卡接口wlp2s0
wlx按 MAC 地址命名的无线网卡接口wlx001122334455
brLinux 网桥接口br0
vmbrProxmox 网桥接口vmbr0
dockerDocker 默认网桥接口docker0
virbrlibvirt 虚拟网桥接口virbr0
veth虚拟以太网接口veth0, vethabc123
tunTUN 虚拟三层接口tun0
tapTAP 虚拟二层接口tap0
wgWireGuard 接口wg0
bond网卡绑定/链路聚合接口bond0
team网卡 Team 聚合接口team0
vlanVLAN 接口vlan100
ethX.Y基于传统网卡名的 VLAN 子接口eth0.100
ensX.Y基于可预测网卡名的 VLAN 子接口ens18.100
brX.Y基于网桥的 VLAN 子接口br0.100
dummyDummy 虚拟网卡接口dummy0
ifb流量整形虚拟接口ifb0

下面我们来详细讲讲:

lo

lo 是 loopback(回环)的缩写,代表本地回环接口。它完全由软件实现,不依赖任何物理硬件,IP 地址通常为 127.0.0.1。任何发往该接口的数据包都会立即被本机接收,用于进程间通信和本地网络协议测试。

有些主机商镜像的 127.0.0.1/8 并不在 lo 上,点名批评。

eth0, eth1

eth 代表 Ethernet,数字按驱动程序检测设备的顺序依次编号(第一块为 eth0,第二块为 eth1)。这种命名方式简单直观,但缺点是硬件探测顺序变化可能导致接口名在重启后互换。因此现代 Linux 默认改用基于硬件位置的可预测命名,可以避免此类问题。

ens18

ens 表示 PCI 热插拔插槽网卡(Ethernet slot),数字直接来自固件或 BIOS 分配的插槽索引,如 ens18 即代表插槽 18。这种命名方式基于硬件拓扑,不依赖驱动加载顺序,重启后接口名稳定不变。注意 ens 后的数字完全由底层固件决定,数值大小不代表网卡优先级或速度。

eno1, ens3

可预测命名中的两种常见形式:eno(Ethernet onboard)表示板载网卡,数字来自 BIOS 提供的板载索引;ens(Ethernet slot)表示 PCI 热插拔插槽网卡,数字对应固件中的插槽编号。它们不依赖驱动加载顺序,名称固定可重现。

enp0s3, enp2s0

基于 PCI 总线地址的可预测命名:enp0s3 表示总线 0、插槽 3,enp2s0 表示总线 2、插槽 0。名称由硬件拓扑唯一确定,适合需要长期稳定网络配置的服务器或物理机。

wlp2s0, wlan0

无线网卡的两种命名:wlp2s0 是基于 PCI 位置的可预测命名(wl 表示 WLAN),稳定不变;wlan0 是传统命名,按驱动加载顺序编号,易发生漂移。现代发行版优先使用 wlpXsX 形式。

veth0, veth1

虚拟以太网设备(Virtual Ethernet),总是成对出现(类似管道的两端)。常用于容器(Docker、LXC)或网络命名空间,将容器网络与宿主机桥接。数字按创建顺序递增,无硬件绑定。

docker0

Docker 服务自动创建的默认网桥接口。它连接本机所有 Docker 容器,并为每个容器分配私有 IP,通过 NAT 访问外部网络。名称由 Docker 固定生成,用户也可自定义其他桥接网卡。

br0, br-lan

Linux 软件网桥,可像物理交换机一样将多个网络接口合并为一个逻辑接口。名称通常由用户自定义,如 br0 用于虚拟化桥接,br-lan 常见于 OpenWrt 路由器,vmbr0 常用于 PVE 环境。

bond0, bond1

链路聚合接口,将多块物理网卡聚合成一个逻辑接口,实现带宽叠加或故障切换。数字代表不同的绑定组(bonding group),通过内核 bonding 驱动管理。

tun0, tap0

虚拟隧道接口:tun0 工作在三层(IP 隧道);tap0 工作在二层(以太网桥接),常用于 QEMU/KVM 虚拟机网卡。两者数字按创建顺序动态分配,tun 处理路由,tap 处理网桥。

dummy0

Dummy 接口,完全由软件模拟的网卡,通常处于 UP 状态(创建后需要手动 set xxx up),常用于为服务绑定一个固定 IP 或测试路由策略。

usb0

传统 USB 网卡命名方式,usb0 表示第一个被识别的 USB 以太网或 4G 上网卡。若同一 USB 口热插拔不同设备,编号可能变化;现代系统也已为其引入基于 USB 拓扑的可预测命名(如 enu1s2)。

vlan10

VLAN 子接口,通常基于物理网卡创建(如 eth0.10 或 enp0s3.10)。名称中数字代表 VLAN ID(10 表示 802.1Q 标签 10),用于在同一物理链路上划分多个逻辑网络。

wg0

WireGuard 隧道接口,wg 为 WireGuard 缩写。相比传统软件,它配置简单、性能高且密钥交换更安全。数字由配置文件或手动指定,用于建立加密的点对点隧道。