0

0

Linux如何修改网卡名称_Linux设置eth0与ens33转换【指南】

尼克

尼克

发布时间:2026-02-09 10:38:59

|

353人浏览过

|

来源于php中文网

原创

Linux启动后网卡名不是eth0而是ens33或enp0s3,是因为systemd和udev自2015年起默认启用可预测网络接口名机制,用固件/拓扑信息生成稳定名称以避免热插拔错乱;禁用需在GRUB添加net.ifnames=0 biosdevname=0、更新引导配置、清理udev规则并重启。

linux如何修改网卡名称_linux设置eth0与ens33转换【指南】

为什么 Linux 启动后网卡名不是 eth0 而是 ens33 或 enp0s3

这是 systemd 和 udev 在 2015 年后默认启用的「可预测网络接口名(Predictable Network Interface Names)」机制导致的。它用固件/拓扑信息生成稳定名称(如 ens33 表示 PCI Express bus 0, slot 3, function 3),避免传统 eth0 在多网卡热插拔时错乱。但很多脚本、文档、容器配置仍硬编码 eth0,直接改名最省事。

禁用可预测命名并恢复 eth0 的完整步骤

核心是关掉 systemd 的命名规则,并确保 udev 不生成 .link 文件干扰。操作需在 root 权限下进行:

  • 编辑 /etc/default/grub,找到 GRUB_CMDLINE_LINUX 行,在引号内追加 net.ifnames=0 biosdevname=0
  • 运行 grub2-mkconfig -o /boot/grub2/grub.cfg(CentOS/RHEL)或 update-grub(Ubuntu/Debian)
  • 删除或重命名可能存在的 udev 规则:rm -f /etc/systemd/network/99-default.link/lib/systemd/network/99-default.link
  • 确认 /etc/udev/rules.d/80-net-setup-link.rules 不存在,或注释掉其中所有 SUBSYSTEM=="net" 相关行
  • 重启系统,启动后执行 ip link 应看到 eth0 而非 ens33

注意:若使用 VMware/VirtualBox,确保虚拟网卡类型为「E1000」而非「VMXNET3」,后者在旧内核下可能仍触发 ens 命名。

不重启临时把 ens33 改成 eth0(仅当前会话有效)

适合调试或临时适配脚本,但无法持久化,且部分服务(如 NetworkManager)可能拒绝接管已重命名的接口:

OmniAudio
OmniAudio

OmniAudio 是一款通过 AI 支持将网页、Word 文档、Gmail 内容、文本片段、视频音频文件都转换为音频播客,并生成可在常见 Podcast ap

下载
  • 先关闭接口:ip link set ens33 down
  • 重命名:ip link set ens33 name eth0
  • 启用新名:ip link set eth0 up
  • 验证:ip -br a 应显示 eth0 状态为 UP

该方式绕过 udev 和内核命名逻辑,但下次 reboot 后自动还原为 ens33;若同时运行 systemctl restart systemd-udevd,可能触发 udev 再次重命名回原名。

ens33 和 eth0 在 ifconfig/ip 命令中的行为差异

本质无区别,都是内核网络设备对象,但工具链对名称敏感:

  • ifconfig eth0 up 在禁用可预测命名后才有效;若系统仍用 ens33,执行会报错 eth0: error fetching interface information: Device not found
  • ip link show ens33ip link show eth0 输出结构完全一致,只是设备名不同
  • NetworkManager 默认按设备名匹配 connection 配置,若 nmcli connection show 中 connection 名为 System ens33,而你强行重命名为 eth0,NM 可能断开连接且不自动恢复
  • Docker 默认桥接网卡名是 docker0,但容器内 route -n 显示的出口设备取决于宿主机主接口名,硬编码 eth0 的容器启动脚本在此处容易失败

真正麻烦的不是名字本身,而是名字背后隐含的配置依赖链——从内核模块加载顺序,到 udev 规则触发时机,再到用户空间服务的缓存刷新策略,任何一个环节没清理干净,都会让 eth0 在某次重启后神秘消失。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

331

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

317

2023.10.25

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1344

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

298

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2201

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

34

2026.01.19

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

490

2023.08.04

Golang处理数据库错误教程合集
Golang处理数据库错误教程合集

本专题整合了Golang数据库错误处理方法、技巧、管理策略相关内容,阅读专题下面的文章了解更多详细内容。

127

2026.02.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.7万人学习

Git 教程
Git 教程

共21课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号