ubuntu/linux系统知识(36)linux网卡命名规则

Posted 奇妙之二进制

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu/linux系统知识(36)linux网卡命名规则相关的知识,希望对你有一定的参考价值。

文章目录

背景

很久以前Linux 操作系统的网卡设备的传统命名方式是 eth0、eth1、eth2等,属于biosdevname 命名规范

服务器通常有多块网卡,有板载集成的,同时也有插在PCIe插槽的。Linux系统的命名原来是eth0,eth1这样的形式,但是这个编号往往不一定准确对应网卡接口的物理顺序。为了方便定位和区分网络设备,采用一致网络设备命名(CONSISTENT NETWORK DEVICE NAMING)规范。

命名规范

命名规范为:设备类型 + 设备位置

基本原理是根据固件、拓扑和位置信息分配固定名称。

设备类型

  • en 代表以太网
  • wl 代表无线局域网(WLAN)
  • ww 代表无线广域网(WWANs)

设备位置

格式描述
`o<on-board_index_number>主板bios内置的网卡
s<hot_plug_slot_index_number>[f<function>][d<device_id>]主板bios内置的PCI-E网卡
x<MAC>MAC 地址
p<bus>s<slot>[f<function>][d<device_id>]PCI-E独立网卡
[P<domain_number>]p<bus>s<slot>[f<function>][u<usb_port>][…][c<config>][i<interface>]USB网卡

PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准。

示例

  • eno1 板载1号网卡
  • enp0s2 以太网0号PCI扩展卡的2号端口
  • ens33 由主板 BIOS 内置的 PCI-E 接口的网卡
  • wlp3s0 无线第3号PCI扩展卡的0号端口

系统默认命名规则

默认情况下,systemd 会使用以下策略,采用支持的命名方案为接口命名:

  • Scheme 1(方案 1): 如果从BIOS中能够取到可用的板载网卡的索引号,则使用这个索引号命名,例如: eno1,如不能则尝试Scheme 2
  • Scheme 2(方案 2): 如果从BIOS中能够取到可以用的网卡所在的PCI-E热插拔插槽的索引号,则使用这个索引号命名,例如: ens1,如不能则尝试Scheme 3
  • Scheme 3(方案 3): 如果能拿到设备所连接的物理位置信息,则使用这个信息命名,例如:enp2s0,如不能则尝试Scheme 5
  • Scheme 4(方案 4): 使用网卡的MAC地址来命名,这个方法一般不使用。enx78e7d1ea46da
  • Scheme 5(方案 5):传统的kernel命名方法,例如: eth0,这种命名方法的结果不可预知的,即可能第二块网卡对应eth0,第一块网卡对应eth1。

优势

  • 设备名称是完全可预测的。
  • 即使添加或删除硬件,设备名称也保持固定,因为不会发生重新枚举。
  • 有缺陷的硬件可以无缝更换。

以上是关于ubuntu/linux系统知识(36)linux网卡命名规则的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu/linux系统知识(30)ubuntu系统配置项dconf/gsettings

ubuntu/linux系统知识虚拟机安装ubuntu18.04/20.04

ubuntu/linux系统知识虚拟机安装ubuntu18.04/20.04

ubuntu/linux系统知识(24)ubuntu自带的录屏软件

ubuntu/linux系统知识(24)ubuntu自带的录屏软件

ubuntu/linux系统知识(26)dpkg -l输出解释