centos 7 将网卡名改为 eth0 需三步同步:一、在 /etc/default/grub 的 grub_cmdline_linux 中添加 net.ifnames=0 biosdevname=0 并执行 grub2-mkconfig -o /boot/grub2/grub.cfg;二、重命名网卡配置文件(如 ifcfg-ens33 → ifcfg-eth0),并将其中 name 和 device 均改为 eth0,删除 hwaddr 和 uuid;三、重启后用 ip -br a 和 nmcli connection show 双验证接口名与连接名均为 eth0。

eth0 这个名字不是默认的,CentOS 7 默认用的是 ens33、eno16777736 这类基于硬件拓扑的名称。想改回 eth0,必须同时满足内核不生成新名、配置文件匹配、网络服务能识别这三件事,缺一不可。
修改 /etc/default/grub 禁用新命名规则
这是最底层的开关,不改它,后面全白做。只改配置文件或重命名脚本,重启后网卡名仍会变回去。
-
net.ifnames=0关闭 systemd 的可预测网卡名(ensXX) -
biosdevname=0关闭 BIOS 设备名(enoXXXX),有些机器没这个参数也会 fallback 到旧名,但加上更稳妥 - 确保两项都加在
GRUB_CMDLINE_LINUX引号内,且与原有参数用空格分隔,比如:GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0" - 改完必须执行
grub2-mkconfig -o /boot/grub2/grub.cfg,否则参数不会生效
重命名并更新网卡配置文件
光改内核参数还不够:系统启动时 NetworkManager 或 ifup 仍会按旧文件名去找配置,所以配置文件名和内容必须同步对齐。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 先确认当前网卡名:
ip -br a或ls /sys/class/net/,排除lo后看到的就是真实接口名(如ens33) - 重命名配置文件:
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0 - 编辑新文件,把
NAME和DEVICE都改成eth0;UUID可删(克隆虚拟机时保留反而容易冲突);HWADDR建议删掉或核对是否匹配ip link show eth0 | grep link/ether输出的 MAC - 如果用了
nmcli,执行nmcli connection reload,否则重启前可能无法识别新配置
重启后验证网卡名是否真正生效
别急着用 ifconfig —— CentOS 7 默认没装 net-tools,且 ifconfig 显示的是内核接口名,但 NetworkManager 可能还在用旧连接名。
- 先看内核层:
ip -br a,输出第一列必须是eth0,不是ens33或其他 - 再看 NetworkManager 层:
nmcli connection show,NAME列应为eth0,DEVICE列也应为eth0 - 如果
ip显示eth0但nmcli里还是旧名,说明配置文件里的UUID没清干净,或者nmcli connection delete "旧连接名"没执行 - 常见报错
RTNETLINK answers: File exists多因重复加载两个同名接口(旧配置未删净),此时需nmcli connection delete "ens33"再nmcli connection up eth0
克隆虚拟机后特别注意 HWADDR 和 UUID
克隆出来的 CentOS 7 虚拟机,MAC 地址变了但配置文件里还留着旧 HWADDR,会导致 ifup 拒绝启动,或者启动后无 IP。
- 删掉配置文件中的
HWADDR行是最省事的做法;若必须保留,请用ip link show eth0 | awk '/link\/ether/ {print $2}'获取真实 MAC 并填入 -
UUID不是必须项,NetworkManager 会为新连接自动生成;保留旧 UUID 可能导致多个克隆机冲突,建议删除 - 如果用了 cloud-init,它可能覆盖网卡配置,此时需检查
/etc/cloud/cloud.cfg.d/下是否有网络相关设置
eth0 在重启后“消失”。最稳的做法是:改 grub → 重生成 grub.cfg → 改配置文件名+内容 → 清 UUID/HWADDR → 重启 → 用 ip 和 nmcli 双验证。










