Linux不同网卡名称详细讲解(第二版)
Linux系统中的网卡名称并非随机生成,而是遵循特定的命名规则,不同名称对应不同类型、不同场景的网络接口。从早期的eth0、lo,到现代的ens、enp等,再到虚拟化(含Docker)场景下的专用网卡,网卡命名规则的演变核心是解决“名称漂移”问题、适配不同虚拟化/容器化场景,提升系统在复杂硬件和软件环境中的稳定性。本文将详细拆解常见的Linux网卡名称,包括其含义、来源、特点及适用场景,补充Docker相关网卡和其他遗漏类型(em、ib系列及未提及的特殊网卡),帮助快速理解各类网卡的区别与用途。
一、基础核心网卡名称:lo(回环接口)
lo(Loopback)是Linux系统中最特殊、最基础的网卡接口,不同于eth、ens等物理/虚拟网卡,它是一个虚拟回环接口,不对应任何实际的物理硬件设备,完全由操作系统内核实现,无需网线、无线模块等硬件支持,且永远处于“已连接”状态。
1. 核心含义与作用
lo的核心作用是实现“本机内部通信”,相当于计算机的“自言自语”机制——数据包发送到lo接口后,不会经过物理网卡向外传输,而是直接被本机内核接收,用于测试本机网络协议栈的完整性和本地服务的可用性。
2. 关键特性
- • 固定IP地址:默认绑定IPv4地址127.0.0.1(整个127.0.0.0/8网段均为回环地址),IPv6地址为::1,这些地址永远指向本机。
- • 无需配置:系统默认自动创建,无需手动配置IP、网关等信息,开机即生效。
- • 独立于物理网卡:即使所有物理网卡都禁用(down状态),lo接口依然可用。
3. 常见使用场景
- • 本地服务测试:开发Web、数据库等服务时,可通过127.0.0.1或localhost访问本机服务,无需依赖外部网络,例如“curl http://127.0.0.1:8080”测试本地Web服务器。
- • 网络协议栈自检:通过“ping 127.0.0.1”命令检测本机TCP/IP协议栈是否正常工作,若能ping通则说明协议栈无异常。
- • 本地进程通信:不同本地进程可通过lo接口基于网络协议(如TCP、UDP)进行通信,实现跨进程数据交互。
- • 服务隔离:将敏感服务(如数据库)绑定到127.0.0.1,可确保只有本机进程能访问,防止外部网络探测,提升安全性。
4. 查看方式
通过以下命令可查看lo接口的详细信息:
# 查看所有网卡(包含lo)
ip link show
# 查看lo接口的IP信息
ip addr show lo
# 测试lo接口连通性
ping 127.0.0.1
二、传统命名规则:eth系列(eth0、eth1...)
eth系列是Linux早期(2013年之前,pre-2013)最主流的物理网卡命名方式,属于“传统命名规则”,由内核和udev根据硬件探测顺序依次分配名称,是大多数老版本Linux发行版的默认命名方式。
1. 命名逻辑
前缀“eth”是“Ethernet”(以太网)的缩写,后缀为数字(0、1、2...),数字顺序对应内核探测到网卡的先后顺序:
- • eth0:系统启动时,内核探测到的第一块以太网卡(有线网卡)。
同理,无线网卡的传统命名为wlan0、wlan1...(前缀“wlan”即Wireless LAN),移动宽带网卡为wwan0、wwan1...(前缀“wwan”即Wireless Wide Area Network)。
2. 核心特点
优点
- • 简洁直观:名称短小,易于记忆和输入,适合简单的单网卡或少量网卡环境。
- • 广泛兼容:几乎所有老版本Linux发行版(如RHEL 6、Ubuntu 14.04及之前版本)都默认支持,且各类网络工具均能完美适配。
缺点(核心缺陷)
- • 名称漂移(最致命):网卡名称依赖探测顺序,当硬件环境变化时(如插入/拔出USB网卡、PCI热插拔、虚拟机克隆、更换网卡顺序),探测顺序会改变,导致网卡名称“漂移”。例如,原本的eth0可能变成eth1,而基于eth0配置的网络服务(如静态IP、防火墙规则)会全部失效。
- • 可追溯性差:在多网卡服务器或云环境中,仅通过eth0、eth1无法判断网卡对应的物理位置或硬件属性,不利于管理员定位和管理设备。
- • 虚拟化不友好:在VMware、VirtualBox等虚拟化环境中,虚拟网卡的动态分配会导致传统命名的一致性难以保证,增加运维复杂度。
3. 适用场景
- • 老版本Linux系统:RHEL 6、CentOS 6、Ubuntu 14.04及之前的发行版,默认使用eth系列命名。
- • 简单环境:单网卡的物理机、测试机,硬件环境固定,无频繁的网卡插拔或硬件变更操作。
- • 人为回退场景:管理员通过配置禁用现代可预测命名规则,强制系统回退到传统命名(如部分老旧脚本依赖eth0命名)。
4. 查看与确认
若系统使用传统命名,通过以下命令可查看:
# 查看网卡名称,若显示eth0、wlan0则为传统命名
ls -l /sys/class/net
# 检查GRUB配置,确认是否禁用了现代命名
cat /etc/default/grub | grep net.ifnames
# 若输出包含net.ifnames=0,说明强制使用传统命名
三、现代可预测命名规则:ens、eno、enp等系列
为解决传统eth系列命名的“名称漂移”问题,2013年以后,随着systemd的普及和udev规则的改进,Linux引入了“可预测网络接口命名规则”(Predictable Network Interface Names)。该规则基于硬件的固件信息、物理拓扑结构或MAC地址等固定属性生成网卡名称,确保“同一块网卡始终使用同一个名称”,成为目前主流Linux发行版(如RHEL 7+、Debian 8+、Ubuntu 15.04+)的默认命名方式。
这类网卡名称的核心前缀为“en”(即Ethernet,对应有线网卡),后续字母和数字则代表不同的硬件属性,常见类型分为ens、eno、enp三种,此外还有特殊的enx系列( fallback 场景使用),补充新增em系列(专用有线网卡)。
1. ens系列(ens33、ens160...)
命名逻辑
前缀“en”= Ethernet(有线网卡),中间“s”= Slot(PCI热插槽),后缀数字= 插槽编号,即“基于PCI插槽编号命名”。例如ens33,含义为“连接在PCI插槽33上的有线网卡”。
核心特点
- • 稳定性极强:名称与网卡的PCI插槽位置绑定,只要网卡不更换插槽,无论系统重启、硬件探测顺序如何变化,名称始终不变,彻底解决名称漂移问题。
- • 场景针对性强:最常见于VMware虚拟化环境(如VMware Workstation、ESXi),因为VMware默认将第一块虚拟网卡分配到PCI总线0x14(十进制20),结合udev的计算规则,最终生成ens33(或ens160等)名称。
- • 实体机少见:在物理服务器中,33号、160号等插槽通常不分配给网卡,因此ens系列在实体机中极少出现。
典型示例
ens33:VMware虚拟机中第一块有线虚拟网卡;ens160:VMware虚拟机中第二块有线虚拟网卡(插槽编号变化)。
2. eno系列(eno1、eno2...)
命名逻辑
前缀“en”= Ethernet(有线网卡),中间“o”= Onboard(板载),后缀数字= 固件/BIOS分配的索引号,即“基于板载网卡的固件编号命名”。
核心特点
- • 专属板载网卡:仅用于主板集成的有线网卡(即板载网卡),名称与主板固件分配的索引号绑定,辨识度高。
- • 稳定性高:板载网卡的固件索引号固定,不受网卡插拔、硬件变更影响,名称始终稳定。
- • 实体机常用:在物理服务器、台式机中,若使用主板自带的板载网卡,默认会以eno系列命名(如eno1为第一块板载网卡,eno2为第二块)。
典型示例
eno1:物理服务器中主板集成的第一块有线网卡;eno2:主板集成的第二块有线网卡(部分高端主板支持多板载网卡)。
3. enp系列(enp0s3、enp4s0...)
命名逻辑
前缀“en”= Ethernet(有线网卡),中间“p”= PCI bus(PCI总线),后续“s”= Slot(插槽),数字分别对应“总线号”和“插槽号”,即“基于PCI总线+插槽组合命名”。例如enp0s3,含义为“连接在PCI总线0、插槽3上的有线网卡”。
核心特点
- • 精准定位硬件:名称直接反映网卡在PCI总线上的物理位置(总线号+插槽号),管理员可通过名称快速定位网卡的硬件连接位置,适合多网卡服务器环境。
- • 兼容性广:常见于VirtualBox虚拟机、物理服务器(尤其是多PCI网卡的场景),VirtualBox默认将第一块虚拟网卡分配到PCI总线0、插槽3,因此默认名称为enp0s3。
- • 稳定性最优:基于总线和插槽的组合信息命名,硬件位置固定则名称固定,不受任何探测顺序、硬件变更(非网卡本身)影响。
典型示例
enp0s3:VirtualBox虚拟机中第一块有线虚拟网卡;enp4s0:物理服务器中PCI总线4、插槽0上的有线网卡。
4. enx系列(enx00163e123456...)
命名逻辑
前缀“en”= Ethernet(有线网卡),后缀为网卡的完整MAC地址,即“基于MAC地址命名”。这是可预测命名规则中的“ fallback 方案”——当系统无法获取网卡的固件信息、PCI总线/插槽信息时,会自动使用MAC地址作为后缀生成名称。
核心特点
- • 绝对唯一:MAC地址是网卡的物理地址,全球唯一,因此enx系列名称在同一系统中绝对不会重复。
- • 场景特殊:仅在无法获取其他硬件信息时使用(如部分USB网卡、老旧网卡、无固件信息的虚拟网卡)。
- • 名称冗长:后缀为完整MAC地址,名称较长(如enx00163e123456),不如其他系列简洁,不利于记忆和输入。
5. em系列(em0、em1...)
命名逻辑
前缀“em”是“Embedded”(嵌入式)或“Intel PRO/1000”的缩写,后缀为数字(0、1、2...),数字对应网卡的探测顺序或硬件索引号,是特定场景下的有线网卡命名方式,本质属于现代可预测命名规则的衍生类型。
该系列最初用于Intel PRO/1000系列网卡,后来逐渐扩展到部分嵌入式服务器、机架式服务器的集成网卡,命名逻辑与eth系列类似(依赖顺序),但稳定性优于eth系列,无明显名称漂移问题。
核心特点
- • 专属特定硬件:主要用于Intel PRO/1000系列有线网卡,以及部分嵌入式服务器、机架式服务器的集成有线网卡,兼容性具有针对性。
- • 稳定性中等:名称虽依赖探测顺序,但在固定硬件环境(无网卡插拔、硬件变更)下,名称可保持稳定,无明显漂移,优于传统eth系列。
- • 简洁易记:名称格式与eth系列一致(前缀+数字),短小简洁,便于记忆和输入,适配老旧运维脚本。
典型示例
em0:服务器中第一块Intel PRO/1000系列有线网卡;em1:第二块Intel PRO/1000系列有线网卡;em2:嵌入式服务器中的第三块集成有线网卡。
四、其他常见网卡名称(补充,含Docker专用网卡、ib系列等)
除上述核心网卡外,Linux系统中还有多种专用网卡,涵盖无线、移动宽带、虚拟化、容器化(Docker)、高性能计算(ib系列)、拨号、虚拟测试等场景,以下逐一详解,补充此前未提及的类型:
1. wlp系列(wlp2s0、wlp3s1...)
对应无线网卡,命名逻辑与enp系列一致:前缀“wl”= Wireless(无线),“p”= PCI bus(总线),“s”= Slot(插槽),数字为总线号和插槽号。例如wlp2s0,含义为“PCI总线2、插槽0上的无线网卡”,是现代Linux系统中无线网卡的默认命名方式。
补充:部分老旧无线网卡仍可能使用传统命名wlan0、wlan1,与eth系列命名逻辑一致(基于探测顺序)。
2. wwan系列(wwan0、wwan1...)
对应移动宽带网卡(如4G/5G模块、USB移动网卡),前缀“ww”= Wireless Wide Area Network(移动宽带),后缀数字为探测顺序或硬件编号,常见于笔记本、嵌入式设备中。
特点:支持移动网络拨号(如ppp协议),名称稳定性中等,插拔USB移动宽带设备可能导致名称漂移(类似传统eth系列)。
3. virbr系列(virbr0、virbr0-nic...)
虚拟网桥接口,由KVM、libvirt等虚拟化工具自动创建,用于虚拟机之间、虚拟机与宿主机之间的网络通信,不属于物理网卡,是虚拟化环境中的专用虚拟网卡。
- • virbr0:默认创建的虚拟网桥,用于连接宿主机和虚拟机(默认采用NAT模式)。
- • virbr0-nic:virbr0网桥对应的虚拟网卡接口,用于网桥与宿主机内核的通信,一般无需手动配置。
适用场景:KVM虚拟化环境,管理虚拟机网络互通,若关闭libvirt服务,该系列网卡会自动消失。
4. Docker专用网卡(容器化场景核心)
安装Docker后,系统会自动创建多种虚拟网卡,用于容器之间、容器与宿主机、容器与外部网络的通信,是Docker网络的核心组成部分,常见类型如下:
(1)docker0:Docker默认网桥
- • 命名逻辑:固定命名“docker0”,是Docker安装后自动创建的默认Linux网桥(类似virbr0)。
- • 核心作用:默认情况下,所有未指定网络模式的Docker容器,都会自动连接到docker0网桥,实现容器与宿主机、容器与容器之间的通信(默认采用NAT模式,容器可通过宿主机网卡访问外部网络)。
- • 关键特性:默认分配子网(如172.17.0.0/16),容器启动时会自动获取该子网内的IP地址;支持手动配置子网、网关,可通过修改Docker配置文件自定义。
(2)docker_gwbridge:Docker网关网桥
- • 命名逻辑:固定命名“docker_gwbridge”,用于Docker Swarm集群环境(容器编排),或当容器使用“bridge”网络模式且需要与外部网络通信时的网关桥梁。
- • 核心作用:隔离容器网络与宿主机网络,作为容器访问外部网络的网关,同时负责Swarm集群中不同节点容器之间的网络互通。
- • 特点:独立于docker0,默认自动创建(尤其在初始化Swarm集群时),无需手动干预,仅在容器编排或复杂网络场景下生效。
(3)br-xxxxxx:Docker自定义网桥
- • 命名逻辑:前缀“br-”+ 随机字符串(由Docker自动生成),当用户通过“docker network create”命令创建自定义网桥网络时,系统会自动生成此类网卡。
- • 核心作用:用于隔离不同业务的容器网络,例如为Web服务容器和数据库容器创建不同的自定义网桥,实现网络隔离,提升安全性和可管理性。
- • 特点:名称不固定(随机字符串区分),可手动指定网桥名称(通过--name参数);自定义网桥支持DNS解析(容器之间可通过容器名通信),优于默认的docker0网桥。
(4)vethxxxxxx:Docker容器虚拟网卡对
- • 命名逻辑:前缀“veth”+ 随机字符串,是Docker容器的“虚拟网卡对”(一端在容器内部,命名为eth0;另一端在宿主机,命名为vethxxxxxx)。
- • 核心作用:容器与宿主机/网桥之间的通信载体,相当于“网线”,将容器内部的eth0接口与宿主机的docker0(或自定义网桥)连接起来,实现数据包的转发。
- • 特点:随容器启动而创建,随容器停止而自动删除;名称冗长且随机,无需手动管理,仅用于Docker内部网络通信。
(5)overlay:Docker Swarm集群专用网卡
- • 命名逻辑:固定前缀“overlay”,后续可跟自定义名称(如overlay-net),是Docker Swarm集群中跨节点容器通信的专用网络接口。
- • 核心作用:实现Swarm集群中不同节点上的容器之间的跨主机通信,屏蔽节点之间的物理网络差异,让容器误以为处于同一局域网。
- • 适用场景:Docker Swarm容器编排集群,仅在初始化Swarm集群并创建overlay网络时生成。
5. ib系列(ib0、ib1...,含ibp、ibs系列)
ib系列是InfiniBand(无限带宽)网卡的专用命名方式,InfiniBand是一种高性能、低延迟的网络技术,主要用于高性能计算(HPC)、大数据集群、存储区域网络(SAN)等场景,不属于以太网网卡,与en、eth系列无关联。
该系列命名逻辑与现代可预测命名规则一致,前缀“ib”= InfiniBand,后续字母和数字代表硬件属性,常见类型为ib、ibp、ibs三种。
(1)ib系列(ib0、ib1...)
- • 命名逻辑:前缀“ib”= InfiniBand,后缀数字= 网卡探测顺序或硬件索引号,是InfiniBand网卡的基础命名方式,类似eth系列的简化版。
- • 核心特点:专属InfiniBand网卡,支持高速数据传输(带宽可达数十Gbps甚至上百Gbps)、低延迟(微秒级),适配高性能计算场景;名称稳定性中等,无硬件变更时可保持固定。
- • 典型示例:ib0:系统中第一块InfiniBand网卡;ib1:第二块InfiniBand网卡。
(2)ibp系列(ibp0s0、ibp1s1...)
- • 命名逻辑:前缀“ib”= InfiniBand,中间“p”= PCI bus(PCI总线),后续“s”= Slot(插槽),数字分别对应总线号和插槽号,即“基于PCI总线+插槽组合命名”,与enp系列逻辑一致。
- • 核心特点:稳定性最优,名称与InfiniBand网卡的PCI总线、插槽位置绑定,彻底解决名称漂移问题;可通过名称快速定位网卡硬件位置,适合多InfiniBand网卡的集群环境。
- • 典型示例:ibp0s0:PCI总线0、插槽0上的InfiniBand网卡;ibp1s1:PCI总线1、插槽1上的InfiniBand网卡。
(3)ibs系列(ibs0、ibs1...)
- • 命名逻辑:前缀“ib”= InfiniBand,中间“s”= Slot(PCI插槽),后缀数字= 插槽编号,即“基于PCI插槽编号命名”,与ens系列逻辑一致。
- • 核心特点:稳定性强,名称与PCI插槽位置绑定;场景针对性强,常见于虚拟化环境中的InfiniBand虚拟网卡,实体机中较少出现。
- • 典型示例:ibs0:PCI插槽0上的InfiniBand网卡;ibs1:PCI插槽1上的InfiniBand网卡。
ib系列整体特点与适用场景
- • 性能突出:高速带宽、低延迟,远超普通以太网网卡,适合大数据传输、高性能计算、集群节点互联等场景。
- • 场景特殊:仅用于支持InfiniBand技术的硬件环境,普通物理机、虚拟机中极少出现,主要应用于数据中心、超级计算机、企业级集群。
- • 需专用驱动:使用前需安装InfiniBand专用驱动(如OFED驱动),否则无法识别和使用,适配性要求较高。
6. 其他特殊网卡
(1)tap/tun系列(tap0、tun0...)
虚拟隧道网卡,用于VPN、隧道通信(如OpenVPN、PPTP),区别于普通虚拟网卡:
- • tun:三层隧道接口(基于IP协议),用于转发IP数据包,不处理数据链路层信息,常见于IPsec VPN。
- • tap:二层隧道接口(基于数据链路层),模拟物理网卡,可转发以太网帧,常见于OpenVPN的桥接模式。
特点:由VPN服务或隧道工具创建,随服务启动而生效,停止服务后自动消失。
(2)bond系列(bond0、bond1...)
网卡绑定接口(链路聚合),由管理员手动创建,将多块物理网卡绑定为一个逻辑网卡,实现负载均衡或冗余备份。
- • 命名逻辑:前缀“bond”+ 数字(0、1...),数字为绑定组编号。
- • 适用场景:多网卡服务器(如物理服务器),需要提升网络带宽(负载均衡)或保障网络可靠性(冗余备份,一块网卡故障,另一块自动接管)。
(3)bridge系列(br0、br1...)
手动创建的Linux网桥接口(区别于virbr0、docker0等自动创建的网桥),由管理员通过“brctl”或“ip link”命令创建,用于将多块物理网卡、虚拟网卡连接到同一网桥,实现网络互通。
适用场景:自定义虚拟化、网络测试环境,手动搭建网桥实现不同网卡的网络桥接。
(4)ppp系列(ppp0、ppp1...)
点对点协议(Point-to-Point Protocol)网卡,用于拨号上网场景,是通过调制解调器(Modem)、ADSL、4G/5G拨号等方式建立网络连接时生成的虚拟网卡。
- • 命名逻辑:前缀“ppp”= Point-to-Point Protocol,后缀数字= 拨号连接的序号(0为第一个拨号连接,1为第二个,依次类推)。
- • 核心特点:虚拟网卡,无对应物理硬件,仅在拨号连接建立时自动创建,断开拨号后自动消失;名称稳定性低,拨号序号会随连接次数、连接顺序变化。
- • 适用场景:ADSL拨号上网、手机热点USB共享(部分场景)、传统Modem拨号、4G/5G模块拨号等点对点连接场景。
- • 典型示例:ppp0:系统中建立的第一个拨号连接对应的虚拟网卡;ppp1:第二个拨号连接对应的虚拟网卡。
(5)dummy系列(dummy0、dummy1...)
虚拟空接口网卡,是一种纯软件虚拟网卡,不对应任何物理硬件,也不进行实际的数据包转发,仅用于测试、调试或特殊网络配置场景。
- • 命名逻辑:前缀“dummy”= 空接口,后缀数字= 接口序号(0为第一个创建的dummy接口,依次类推),需管理员手动创建(系统默认不生成)。
- • 核心特点:纯虚拟无硬件,可手动配置IP地址,用于模拟网卡、测试网络配置(如防火墙规则、路由配置)、绑定服务端口(避免服务依赖真实网卡);名称固定,创建后除非手动删除,否则一直存在。
- • 适用场景:网络配置测试、服务端口绑定(无真实网卡时)、虚拟化环境中模拟网卡场景、调试网络协议。
- • 典型示例:dummy0:管理员手动创建的第一块虚拟空接口网卡,常用于测试本地网络配置。
(6)sit系列(sit0、sit1...)
IPv6-over-IPv4隧道接口网卡,用于在IPv4网络环境中传输IPv6数据包,实现IPv4网络与IPv6网络的互通,属于隧道类虚拟网卡。
- • 命名逻辑:前缀“sit”= Simple Internet Transition(简单互联网过渡),后缀数字= 隧道接口序号,系统默认会生成sit0接口,额外隧道需手动创建。
- • 核心特点:虚拟隧道接口,无物理硬件,依赖IPv4网络建立隧道,将IPv6数据包封装在IPv4数据包中传输;默认sit0接口为未启用状态,需手动配置隧道参数后生效。
- • 适用场景:IPv6过渡场景(如本地IPv6服务需通过IPv4网络访问外部IPv6节点)、企业内部IPv6测试环境、IPv4/IPv6混合网络互通。
- • 典型示例:sit0:系统默认生成的IPv6-over-IPv4隧道接口;sit1:管理员手动创建的第二个IPv6-over-IPv4隧道接口。
(7)gre系列(gre0、gre1...)
通用路由封装(Generic Routing Encapsulation)隧道网卡,用于不同网络之间的数据包封装转发,支持跨网段、跨路由的虚拟专用网络连接,属于广义VPN隧道接口。
- • 命名逻辑:前缀“gre”= Generic Routing Encapsulation,后缀数字= 隧道接口序号,需管理员手动创建(系统默认不生成)。
- • 核心特点:虚拟隧道接口,无物理硬件,可将一种网络协议的数据包封装在另一种协议中传输(如IPv4数据包封装在IPv4、IPv6数据包中);支持多点隧道连接,稳定性高,常用于企业跨地域网络互联。
- • 适用场景:企业跨地域虚拟专用网络(VPN)、不同网段网络互通、复杂网络环境中的数据包转发。
- • 典型示例:gre0:管理员手动创建的第一块GRE隧道网卡,用于连接企业总部与分支机构网络。
(8)macvlan系列(macvlan0、macvlan1...)
MAC虚拟网卡,通过给物理网卡分配多个MAC地址,实现“一块物理网卡对应多个虚拟网卡”,每个虚拟网卡可配置独立的IP地址,相当于物理网卡的“分身”。
- • 命名逻辑:前缀“macvlan”= MAC Virtual LAN,后缀数字= 虚拟网卡序号,需管理员手动创建,依赖真实物理网卡(如eno1、ens33)。
- • 核心特点:依赖物理网卡,每个macvlan网卡有独立的MAC地址和IP地址,可独立与外部网络通信;不占用额外物理网卡资源,适合多IP场景,稳定性与依赖的物理网卡一致。
- • 适用场景:单物理网卡需配置多个IP地址(如服务器托管、多网站部署)、容器网络隔离(替代部分Docker虚拟网卡场景)、虚拟化环境中多IP分配。
- • 典型示例:macvlan0:基于eno1物理网卡创建的第一块MAC虚拟网卡,配置独立IP用于部署网站服务。
五、核心总结与对比
Linux网卡名称的演变,本质是“从简单但不稳定”到“复杂但可预测”的升级,同时适配物理机、虚拟机、容器化(Docker)、高性能计算(ib系列)、拨号、测试等不同场景,各类名称的核心区别在于命名规则和适用场景,以下是重点对比(含新增未提及类型):
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| 基于特定硬件(Intel PRO/1000),依赖探测顺序/索引号 | | Intel PRO/1000网卡、嵌入式/机架式服务器 |
| 无线/移动宽带,基于总线+插槽(wlp)、探测顺序(wwan) | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| InfiniBand专用,基于探测顺序(ib)、PCI总线+插槽(ibp)、PCI插槽(ibs) | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
补充关键结论:
- • ens、eno、enp、enx、em系列本质上都是有线网卡,区别仅在于命名依据;eth系列与它们的核心差异是“命名规则(顺序vs固定属性)”,而非网卡本身功能。
- • lo是独立的虚拟回环接口,与所有物理/虚拟网卡功能不同,是所有Linux系统的基础接口。
- • 虚拟化(virbr)、容器化(Docker相关)网卡均为虚拟网卡,随对应服务(libvirt、Docker)的启动/停止而创建/删除,无需手动配置。
- • ib系列是InfiniBand网卡专用命名,不属于以太网网卡,适配高性能计算场景,与en、eth等以太网网卡无关联,需专用驱动支持。
- • em系列是特定硬件(Intel PRO/1000)的衍生命名,稳定性优于eth系列,适配老旧运维场景和特定服务器环境。
- • 新增的ppp、dummy、sit、gre、macvlan等系列均为虚拟网卡(除macvlan依赖物理网卡外),无独立物理硬件,适配拨号、测试、隧道、多IP等特殊场景,需手动创建(部分除外)。
- • 隧道类网卡(tap/tun、sit、gre)核心作用是实现不同网络环境、不同协议之间的数据包封装与转发,打破网络地域、协议类型的限制,例如tap/tun适配VPN隧道通信,sit实现IPv4与IPv6网络互通,gre用于企业跨地域网段互联,三者虽均为隧道接口,但适配的协议场景各有侧重,核心都是通过封装技术实现跨网络数据传输。