在 Linux 系统中,网络接口的命名规则已经经历了几次重要变化,特别是从传统的以 ethwlan 开头的名称,转变到更现代、更具描述性的命名方式。以下是这些变化的概述:

1. 传统命名约定

在早期的 Linux 发布版本中,网络接口通常遵循如下命名约定:

  • 以太网接口eth0eth1 等,其中数字代表设备的顺序。
  • 无线接口wlan0wlan1 等。

这种命名方式简单直观,但在多网卡场景下可能导致命名冲突和不一致,尤其是在硬件更换或多个网络接口动态出现时。

2. udev 中的持久性网络设备命名

为解决设备命名的一致性和可预测性问题,Linux 引入了基于 udev 的持久性命名规则:

  • 基于 MAC 地址:通常是 eth_id_MAC,其中 MAC 是网络接口的 MAC 地址的一部分。
  • 基于总线位置:如 eth_bus_info,根据设备在系统总线上的位置来命名。

这种方法提高了网络接口命名的稳定性,但名称往往较长且不易记忆。

3. systemd 和 Predictable Network Interface Names(可预测的网络接口名称)

最近,systemd 引入了一种新的网络接口命名方案,称为Predictable Network Interface Names。这种方法的目标是提供一种更加稳定和可预测的方式来命名网络接口,且不依赖于接口顺序或设备路径,减少了命名冲突的可能性。常见的接口名称包括:

  • en:代表以太网 (Ethernet) 接口。

    • eno1eno2:基于板载网络接口的逻辑编号。
    • enp2s0:其中 p2s0 表示第 2 个 PCI 总线上的第 0 个设备。
  • wl:代表无线 LAN 接口。
    • wlp3s0:无线接口在第 3 个 PCI 总线上的第 0 个设备。
  • ww:代表 WWAN 设备,如 LTE 模块。
    • wwp0s20u3:WWAN 接口在 USB 总线上的设备。

这种命名方式大大降低了环境变化导致接口名称变动的情况,特别是在使用多网络接口和在虚拟环境中非常有用。

总结

Linux 网络接口的命名方法已从简单的 eth/wlan 转变为基于物理位置、设备功能和总线信息的更稳定和可预测的命名规则。这一变化主要旨在提高在复杂系统中的管理有效性和减少配置错误。当然,管理员可以通过 udev 规则自定义这些名称以满足特定需求。

Linux 网络设备命名规则的更多相关文章

  1. 《linux就该这么学》第七节课:文件的各种权限以及linux分区命名规则

    笔记 (借鉴请改动) 5.3:文件特殊权限 SUID  临时拥有文件所有者的权限(基本上只是执行权限) SGID  临时拥有文件所有组的权限,在目录中创建文件自动继承该目录的用户组. SBIT  粘滞 ...

  2. Cisco网络设备命名规则

      1. CISCO 开头的产品都是路由器:2. RSP 开头的都是CISCO7500 系列产品的引擎:3. VIP 开头的产品都是CISCO 7500系列产品的多功能接口处理器模块:4. PA 开头 ...

  3. Linux网卡命名规则

    网卡命名 一.为什么需要这个      服务器通常有多块网卡,有板载集成的,同时也有插在PCIe插槽的.Linux系统的命名原来是eth0,eth1这样的形式,但是这个编号往往不一定准确对应网卡接口的 ...

  4. Linux文件命名规则

    Linux目录结构命名规定 几乎所有的Linux版本都会遵循FHS(Filesystem Hierarchy Standard),中文翻译过来即为文件系统层次化标准.类似于Windows操作系统中c盘 ...

  5. Linux网络端口命名规则,一致性网络设备命名

    参考文档: https://www.cnblogs.com/pipci/p/9229571.html 一致性网络设备命名,即Consistent Network Device Naming. 一.服务 ...

  6. linux 文件权限、类型、命名规则

    文件权限 -rwxr-x--t        文件类型 用户权限 组权限 其他用户权限 umask是一个掩码,设置文件的默认权限,会屏蔽掉不想授予该安全级别的权限,从对象的全权权限中减掉:对文件全权权 ...

  7. 常见linux系统中RPM包的通用命名规则

    本文重点说一下在常见的linux系统中,RPM包通用的命名规则. RPM包的一般格式为:name-version-arch.rpmname-version-arch.src.rpm 例:httpd-2 ...

  8. linux 软件包的命名规则

     linux软件包的命名规则 eg:主包       bind-9.7.1-1.el7.i586.rpm 子包 bind-libs-9.7.1-1.el7.i586.rpm bind-utils-9. ...

  9. linux初级学习笔记二:linux操作系统及常用命令,文件的创建与删除和命名规则,命令行展开以及linux中部分目录的作用!(视频序号:02_3)

    本节学习的命令:tree,mkdir,rmdir,touch,stat,rm 本节学习的技能:Linux中主要的目录作用以及特殊的目录文件: 文件的命名规则,命令行展开: 文件的创建与删除: Linu ...

  10. Linux发行版的系统目录名称命名规则以及用途

    linux各种发行版都遵循LSB(Linux Stadards Base)规则,使用一致的相关的基础目录名称,使用根目录系统结构(root filesystem),使用FHS(Files Hierar ...

随机推荐

  1. PyTorch程序练习(二):循环神经网络的PyTorch实现

    一.RNN实现 结构原理 代码实现 import torch import torch.nn as nn class RNN(nn.Module): def __init__(self, input_ ...

  2. mysql语句大全-工作中常用整理(欢迎大家在评论区继续补充)

    1.NOT EXISTS 和 NOT IN SELECT COUNT(ca.aaa) FROM xx ca WHERE NOT EXISTS( SELECT label.* FROM xxx labe ...

  3. Spring Reactor基本介绍和案例

    1. Reactor 对比 1.1 Reactor 线程模型 Reactor 线程模型就是通过 单个线程 使用 Java NIO 包中的 Selector 的 select()方法,进行监听.当获取到 ...

  4. 自己理解的TCP三次握手

    ### TCP 三次握手过程是怎样的? TCP的建立连接是通过三次握手来进行的.三次握手的过程如下图: 说实话这个很好理解,我称之为N字型 首先我们理解到建立连接是一个虚的概念了对吧?那么我们来设计一 ...

  5. 修改Jenkins默认管理员admin密码

    1.删除Jenkins目录下config.xml文件中下面代码,并保存文件. <useSecurity>true</useSecurity><authorizationS ...

  6. 解决方案 | pywintypes.com_error: (-2147418111, '被呼叫方拒绝接收呼叫。', None, None)

    解决方案:加一个time.sleep(1)即可

  7. oeasy教您玩转vim - 88 - # 自动命令autocmd

    ​ 自动命令 autocommand 回忆 上次我们研究的是外部命令grep 可以在vim中使用grep 搜索的结果进入了列表 可以打开.遍历.跳转.关闭这个列表 也可以给列表中的匹配行或者每个文件执 ...

  8. [rCore学习笔记 03]配置rCore开发环境

    写在前面 本随笔是非常菜的菜鸡写的.如有问题请及时提出. 可以联系:1160712160@qq.com GitHhub:https://github.com/WindDevil (目前啥也没有 rCo ...

  9. 题解:CF1985E Secret Box

    设长宽高分别为 \(a,b,c\). 由题意可轻松的得到以下求方案数公式. \((x-a+1)(y-b+1)(z-c+1)\) 然后根据这个公式模拟即可. AC Code

  10. RIME:用交叉熵 loss 大小分辨 preference 是否正确 + 内在奖励预训练 reward model

    文章题目:RIME: Robust Preference-based Reinforcement Learning with Noisy Preferences,ICML 2024 Spotlight ...