在 Linux 系统中,网络接口名称(如 eth0、eth1)通常由 udev 规则或网络管理器分配。如果你想将 eth1 改为 eth0,可以按照以下步骤操作,如何轻松将Linux系统中的eth1网络接口重命名为eth0?,如何在Linux系统中一键将eth1网络接口重命名为eth0?
步骤1:确认网卡物理地址
在终端执行以下任一命令查看网络接口信息:
ip link show
或使用传统命令:

ifconfig -a
从输出中定位 eth1 接口,记录其 MAC 地址(格式如 00:11:22:33:44:55)。
提示:MAC 地址通常位于
link/ether后或HWaddr字段,若使用ip命令,MAC 地址显示在第二行link/ether之后;若使用ifconfig,则显示为HWaddr。
步骤2:创建 udev 规则文件
使用文本编辑器创建规则文件(需要管理员权限):
sudo nano /etc/udev/rules.d/70-persistent-net.rules
注意:若文件已存在,建议先备份原文件后再编辑:
sudo cp /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.bak
步骤3:添加命名规则
在文件中插入以下内容(替换为实际 MAC 地址):
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", NAME="eth0"
高级选项:如需同时处理多个网卡,可添加多条规则,每条规则对应一个 MAC 地址和期望的接口名。
步骤4:应用配置变更
依次执行以下命令使配置生效:
sudo udevadm control --reload-rules sudo systemctl restart systemd-udevd sudo reboot
临时修改接口名称(重启失效)
适用于临时测试场景,执行以下命令序列:

sudo ip link set eth1 down sudo ip link set eth1 name eth0 sudo ip link set eth0 up sudo systemctl restart NetworkManager # 若使用网络管理器
注意:
- 此修改仅持续到下次系统重启
- 执行前请确保没有重要服务依赖 eth1 接口
- 修改后应立即测试网络连接是否正常
更新网络配置文件
针对不同发行版的操作:
-
Debian/Ubuntu 系:
sudo nano /etc/network/interfaces
修改所有
eth1为eth0,特别注意以下配置项:iface eth1改为iface eth0auto eth1改为auto eth0
-
RHEL/CentOS 系:
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth1
修改文件中的
DEVICE=eth1为DEVICE=eth0,然后重命名配置文件:sudo mv /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth0
应用配置变更:
sudo systemctl restart network
对于使用 netplan 的系统(如 Ubuntu 18.04+):
sudo nano /etc/netplan/*.yaml修改相应接口名称后应用配置:
sudo netplan apply
高级配置:禁用一致性网络命名
现代 Linux 系统(如 Ubuntu 18.04+/CentOS 7+)默认使用可预测网络命名规则(如 ens33),需修改 GRUB 配置:

-
编辑 GRUB 配置文件:
sudo nano /etc/default/grub
-
在
GRUB_CMDLINE_LINUX参数后追加:net.ifnames=0 biosdevname=0
例如修改后可能类似:
GRUB_CMDLINE_LINUX="quiet splash net.ifnames=0 biosdevname=0"
-
更新引导配置:
- Debian 系:
sudo update-grub
- RHEL 系:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- Debian 系:
-
重启系统使更改生效
注意事项与建议
-
操作风险:
- 修改网络配置可能导致 SSH 连接中断,建议:
- 在本地控制台操作
- 设置备用连接方式(如串行控制台)
- 生产环境应先测试再实施
- 修改网络配置可能导致 SSH 连接中断,建议:
-
验证方法:
ip -c link show | grep -A 1 eth0
或使用:
ip addr show eth0
-
恢复方案:
- 若配置错误导致无法联网:
- 通过单用户模式恢复
- 使用 Live CD 修复
- 备份原始配置文件:
sudo cp /etc/udev/rules.d/70-persistent-net.rules{,.bak} sudo cp /etc/network/interfaces{,.bak} # Debian/Ubuntu
- 若配置错误导致无法联网:
-
云服务器特殊说明:
- AWS/Azure 等云平台可能需要额外配置:
- AWS:可能需要修改实例元数据服务配置
- Azure:检查 cloud-init 配置
- 部分 VPS 提供商使用自定义网络管理工具
- AWS/Azure 等云平台可能需要额外配置:
-
虚拟化环境:
- VMware:检查
.vmx文件中的ethernetX.generatedAddress - VirtualBox:可能需要修改 NIC 的 MAC 地址设置
- VMware:检查
方案对比与选择指南
| 方法 | 持久性 | 复杂度 | 适用场景 | 所需权限 |
|---|---|---|---|---|
| udev 规则 | 永久生效 | 中等 | 生产环境长期使用 | root |
| 临时修改 | 单次有效 | 简单 | 快速测试验证 | root |
| 网络配置更新 | 需配合其他方法 | 较高 | 静态 IP 环境 | root |
| 禁用一致性命名 | 永久生效 | 复杂 | 需要传统 ethX 命名的环境 | root |
建议选择流程:
- 临时修改 → 测试功能 → 确认无误后永久修改
- 简单环境:udev 规则 + 网络配置更新
- 复杂环境:考虑禁用一致性命名
遇到问题时请提供以下信息以便精准诊断:
- 操作系统版本(
lsb_release -a或cat /etc/os-release) - 网络管理工具(
systemctl list-unit-files | grep -i network) - 相关命令的完整输出和报错信息
常见问题解答
Q1:修改后网络服务无法启动怎么办? A1:按顺序检查:
- 确认 udev 规则语法正确
- 检查网络配置文件权限(应为 644)
- 查看系统日志:
journalctl -xe或dmesg | grep eth
Q2:如何恢复默认网络接口命名? A2:
- 删除自定义 udev 规则文件
- 移除 GRUB 的
net.ifnames参数 - 更新 GRUB 并重启
Q3:为什么修改后 eth0 仍然不显示? A3:可能原因:
- MAC 地址输入错误
- 规则文件位置不正确
- 需要更新 initramfs:
sudo update-initramfs -u
通过本指南的系统性方法,您应能成功完成网络接口重命名操作,建议操作前充分理解各步骤的作用,并在测试环境中验证后再应用于生产系统。
相关阅读:
1、如何为VPS添加Zend?一步步操作指南
2、揭秘VPS派克斯服务,云端解决方案的全方位探索
3、VPS快速架设SS教程,轻松实现一键操作指南
4、深度解析优质VPS服务,带你走进神秘的52vps.net世界!
5、VPS FTP开启教程,轻松实现文件传输服务器搭建
高防服务器,游戏服务器,高防IP,服务器租用托管





