在 CentOS 7 中,网络接口的命名由 ​udev​ 设备管理器管理。以下是详解 udev 规则如何控制网卡命名的流程:


​核心机制​

  1. ​udev 规则目录​

    • 规则文件:/usr/lib/udev/rules.d/60-net.rules(系统默认)
    • 自定义文件:/etc/udev/rules.d/70-persistent-net.rules(优先级更高)
  2. ​命名过程​

    • 系统启动时,udev 根据规则文件匹配网卡的硬件属性(如 MAC 地址、PCI 位置),赋予设备名称(如 eth0)。

​自定义网卡命名步骤​

1. ​​创建持久化规则文件​

vim /etc/udev/rules.d/70-persistent-net.rules

2. ​​编写规则格式​

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:xx:xx:xx", NAME="eth0"
  • ​关键字段​

    • ATTR{address}:网卡的 MAC 地址(通过 ip link 查看)
    • NAME:自定义名称(如 eth0

3. ​​示例规则​

# 规则1:将 MAC 为 00:0c:29:aa:bb:cc 的网卡命名为 eth0
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:aa:bb:cc", NAME="eth0" # 规则2:将另一张网卡命名为 eth1
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:0c:29:dd:ee:ff", NAME="eth1"

​重要注意事项​

  1. ​禁用 Predictable Network Interface Names​

    若需完全使用传统命名(eth0 而非 ens192),修改 GRUB 配置:

    vim /etc/default/grub

    添加参数:

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

    更新 GRUB:

    grub2-mkconfig -o /boot/grub2/grub.cfg
  2. ​重启生效规则​

    reboot
  3. ​避免多规则冲突​

    确保 /etc/udev/rules.d/ 中无其他规则覆盖自定义命名。


​常见问题排查​

  1. ​规则未生效?​

    • 检查 MAC 地址是否匹配(字母小写)
    • 确认规则文件权限:644
    • 重启 udev 服务:
      udevadm control --reload
      udevadm trigger
  2. ​网卡名称未变​

    • 检查是否启用 Predictable Names:
      cat /sys/class/net/ens192/uevent | grep ID_NET_NAME_PATH
    • 确保 GRUB 参数 net.ifnames=0 已生效。

​恢复默认规则​

删除自定义文件后重启:

rm -f /etc/udev/rules.d/70-persistent-net.rules
reboot

​总结​

  • ​核心控制文件​​:/etc/udev/rules.d/70-persistent-net.rules

  • ​关键字段​​:ATTR{address}(MAC 地址)、NAME(自定义名称)

  • ​禁用新命名​​:GRUB 参数 net.ifnames=0 biosdevname=0

通过正确配置 udev 规则,可灵活管理 CentOS 7 的网卡命名,适配传统或自定义需求。

centos7 网卡接口命名规则 udev 详解的更多相关文章

  1. CentOS7网卡的命名规则

    一.前两个字符的含义 en 以太网 Ethernet wl 无线局域网 WLAN ww 无线广域网 WWAN 二.第三个字符的含义 o on-board device index number s h ...

  2. HanLP分词命名实体提取详解

    HanLP分词命名实体提取详解   分享一篇大神的关于hanlp分词命名实体提取的经验文章,文章中分享的内容略有一段时间(使用的hanlp版本比较老),最新一版的hanlp已经出来了,也可以去看看新版 ...

  3. CentOS7下Firewall防火墙配置用法详解

    官方文档地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide ...

  4. 【python3+request】python3+requests接口自动化测试框架实例详解教程

    转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...

  5. (转)Centos7上部署openstack ocata配置详解

    原文:http://www.cnblogs.com/yaohong/p/7601470.html 随笔-124  文章-2  评论-82  Centos7上部署openstack ocata配置详解 ...

  6. python+requests接口自动化测试框架实例详解

    python+requests接口自动化测试框架实例详解   转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...

  7. Jmeter接口之响应断言详解

    响应断言 : 对服务器的响应进行断言校验 Apply to 应用范围: main sample and sub sample, main sample only , sub-sample only , ...

  8. 自学Zabbix9.2 zabbix网络发现规则配置详解+实战

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix9.2 zabbix网络发现规则配置详解+实战 1.  创建网络发现规则 Conf ...

  9. OpenCV学习C++接口 Mat像素遍历详解

    OpenCV学习C++接口 Mat像素遍历详解

  10. 微信JS接口汇总及使用详解

    这篇文章主要介绍了微信JS接口汇总及使用详解,十分的全面.详尽,包含分享到朋友圈,分享给朋友,分享到QQ,拍照或从手机相册中选图,识别音频并返回识别结果,使用微信内置地图查看位置等接口,有需要的小伙伴 ...

随机推荐

  1. Web前端入门第 52 问:JavaScript 的应用领域

    截至目前,您应该对前端的 HTML + CSS 应该有了很清楚的认知,至少实现一个静态网页已经完全不在话下了. 当然,CSS 功能绝不止这些,一些不太常用的 CSS 相关知识,后续将通过案例进行分享. ...

  2. 【晴神宝典刷题路】codeup+pat 题解索引(更新ing

    记录一下每天的成果,看多久能刷完伐 c2 c/c++快速入门 <算法笔记>2.3小节--C/C++快速入门->选择结构 习题4-10-1 奖金计算 <算法笔记>2.4小节 ...

  3. 创建字符串对象的六种方法(java)

    package javaBasic; public class StringConstruction { public static void main(String[] args) { String ...

  4. 把多个文件打包压缩成tar.gz文件并解压的Java实现

    压缩文件   在Java中,可以 使用GZIPOutputStream创建gzip(gz)压缩文件,它在commons-compress下面,可以通过如下的maven坐标引入: <depende ...

  5. P5995 [PA2014] Lustra

    提供一种极易理解的纯模拟做法. 虽然时空都不是很优秀,但是距离时空超限还绰绰有余.并且没有运用什么深奥的算法与技巧,非常适合算法初学者,并且还留有极大的优化空间. 理解题意,题目要求我们求出是否有工厂 ...

  6. GStreamer开发笔记(五):gstreamer创建组件、管道和总线实现简单的播放器

    前言   前面是自动构建管道.本篇实例化每个元素并将它们链接在一起来手动构建一个管道.  本篇创建管道分为:创建组件,连接组件,获取总线,阻塞提取需要的消息并处理.   Demo      管道图   ...

  7. 康谋方案 | 高精LiDAR+神经渲染3DGS的完美融合实践

    在自动驾驶时代奔涌向前的路上,仿真测试早已不再是可选项,而是验证智能驾驶系统安全性.鲁棒性和泛化能力的刚需,如何提升仿真测试的保真度已成为无法避免的重要话题. 这正是"数字孪生"出 ...

  8. WebSocket网络通信

    WebSocket 网络通信 导入依赖: <!-- WebSocket依赖 --> <dependency> <groupId>log4j</groupId& ...

  9. AI大模型应用开发-用LangChain构建带Agen流程的RAG系统

    随着大模型(LLM)能力越来越强,RAG(Retrieval Augmented Generation,检索增强生成)技术成为增强大模型知识准确性的关键手段. 通过检索实时数据.外部文档,模型能回答更 ...

  10. 数据开发提效有秘诀!离线开发BatchWorks 六大典型场景拆解

    回顾大数据的发展历程,一句话概括就是海量数据的高效处理.在当今快节奏.不断变化的市场环境下,优秀的开发效率已经成为企业数字化转型的必备条件. 数栈离线开发BatchWorks 是一款专注离线数据ELT ...