CentOS7将网卡名称修改为eth0的详细步骤

LEAF
CentOS7修改网卡名称为eth0需三步:首先编辑/etc/default/grub,在GRUB_CMDLINE_LINUX参数中添加net.ifnames=0 biosdevname=0,执行grub2-mkconfig -o /boot/grub2/grub.cfg更新配置;其次将原网卡配置文件(如/etc/sysconfig/network-scripts/ifcfg-ens33)重命名为ifcfg-eth0,修改其中的NAMEDEVICEeth0;最后重启系统,使用ip a确认网卡名称已变为eth0,此方法通过禁用PNN命名规则实现名称固定。

在CentOS 7及后续版本中,系统默认采用Predictable Network Interface Names(可预测网络接口名)机制,网卡名称不再是传统的eth0eth1,而是根据硬件信息自动生成,如ens33ens160enp0s3等,这种命名方式虽然能避免硬件变更导致的名称混乱,但部分用户或脚本可能仍习惯使用传统的eth0名称,本文将详细介绍如何在CentOS 7中将网卡名称修改为eth0,涵盖配置文件修改、内核参数调整及系统重启验证等完整步骤。

为什么需要修改网卡名称?

CentOS 7引入可预测网络接口名的主要目的是:

  • 稳定性:无论硬件如何更换(如更换网卡、主板),网卡名称不会因硬件顺序变化而改变。
  • 一致性:不同Linux发行版的命名规则更统一,减少适配成本。

但以下场景可能需要改回eth0

CentOS7将网卡名称修改为eth0的详细步骤

  • 兼容旧版脚本或工具(如某些自动化运维脚本、监控插件)。
  • 习惯传统命名方式,便于快速识别和管理。

修改网卡名称为eth0的步骤

确认当前网卡名称

首先通过命令查看当前系统的网卡名称,假设目标网卡为ens33(实际操作时需替换为你的网卡名称):

ip a
# 或
ifconfig

输出示例中,你会看到类似ens33的网卡信息,记下其名称和MAC地址(后续步骤需要用到)。

修改网卡配置文件

CentOS 7的网卡配置文件位于/etc/sysconfig/network-scripts/目录下,文件名格式为ifcfg-网卡名称(如ifcfg-ens33),我们需要修改该文件中的NAMEDEVICE字段为eth0

操作步骤:
(1)备份原配置文件(防止修改错误导致无法联网):

cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak

(2)编辑原配置文件(以ens33为例,替换为你的网卡名称):

vi /etc/sysconfig/network-scripts/ifcfg-ens33

(3)修改以下两行:

  • NAME=ens33改为NAME=eth0
  • DEVICE=ens33改为DEVICE=eth0

其他配置(如BOOTPROTOONBOOTIPADDR等)保持不变,修改后保存退出(wq)。

示例配置文件内容:

TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8

修改udev规则(持久化网卡名称)

udev是Linux的设备管理工具,通过规则文件可以固定网卡名称与MAC地址的绑定关系,我们需要创建或修改udev规则,确保系统重启后仍使用eth0名称。

操作步骤:
(1)查看当前网卡的MAC地址(以ens33为例):

ip a show ens33 | grep link/ether

输出示例:link/ether 00:0c:29:12:34:56(记下MAC地址)。

(2)创建udev规则文件(文件名建议使用70-persistent-net.rules,位于/etc/udev/rules.d/目录):

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

(3)添加以下规则(将MAC地址替换为你的网卡MAC地址):

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:12:34:56", NAME="eth0"

说明:

  • SUBSYSTEM=="net":针对网络设备。
  • ACTION=="add":设备添加时触发。
  • ATTR{address}=="MAC地址":匹配网卡的物理地址。
  • NAME="eth0":指定设备名称为eth0

(4)保存退出(wq)。

修改内核参数(禁用可预测命名)

CentOS 7通过内核参数net.ifnamesbiosdevname控制网卡命名规则,我们需要修改/etc/default/grub文件,禁用这两个参数,使系统使用传统命名方式。

操作步骤:
(1)编辑grub配置文件:

vi /etc/default/grub

(2)找到GRUB_CMDLINE_LINUX行,添加net.ifnames=0 biosdevname=0(多个参数用空格隔开)。

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"

(3)重新生成grub配置文件:

grub2-mkconfig -o /boot/grub2/grub.cfg

注意:如果是UEFI启动的系统,目标路径可能为/boot/efi/EFI/centos/grub.cfg,可通过ls /boot/确认。

重启系统验证

完成上述配置后,重启系统使所有配置生效:

reboot

重启后,再次通过ip aifconfig命令查看网卡名称,此时应已显示为eth0

ip a | grep eth0

输出示例:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever

常见问题及解决方法

重启后网卡名称未变为eth0

  • 检查grub参数:确认/etc/default/grub中是否正确添加了net.ifnames=0 biosdevname=0,并执行了grub2-mkconfig
  • 检查udev规则:确认/etc/udev/rules.d/70-persistent-net.rules中的MAC地址是否正确,且与网卡实际MAC地址一致。
  • 检查配置文件:确认/etc/sysconfig/network-scripts/ifcfg-eth0中的NAMEDEVICE是否为eth0

修改后无法联网?

  • 确认ONBOOT:检查网卡配置文件中ONBOOT=yes,确保网卡开机启动。
  • 确认IP配置:如果是静态IP,检查IPADDRNETMASKGATEWAY是否正确;如果是动态IP(BOOTPROTO=dhcp),确认服务是否运行。
  • 重启网络服务:可尝试systemctl restart network重启网络服务(临时生效,重启系统后仍需按上述步骤配置)。

多块网卡如何处理?

如果有多个网卡(如ens33ens37),需分别对每个网卡执行上述步骤:

  1. 修改对应的ifcfg-网卡名称文件(如ifcfg-ens33改为ifcfg-eth0ifcfg-ens37改为ifcfg-eth1)。
  2. 70-persistent-net.rules中为每个网卡添加规则(使用各自的MAC地址)。
  3. 确保内核参数修改(net.ifnames=0 biosdevname=0)对所有网卡生效。

注意事项

  1. 操作前备份:修改配置文件前务必备份,避免因配置错误导致系统无法联网。
  2. MAC地址唯一性:udev规则中的MAC地址必须与网卡实际MAC地址一致,可通过ip a确认。
  3. 虚拟机环境:在VMware、VirtualBox等虚拟机中,网卡名称可能因虚拟机版本不同而变化(如ens33enp0s3),操作时需以实际名称为准。
  4. 生产环境谨慎操作:生产环境修改网卡名称前,建议在测试环境验证,避免因配置错误导致服务中断。

通过上述步骤(修改网卡配置文件、调整udev规则、更新内核参数、重启系统),即可将CentOS 7的网卡名称从默认的可预测名称(如ens33)修改为传统的eth0,虽然CentOS 7默认使用可预测命名,但通过合理配置,仍可兼顾兼容性和习惯需求,操作过程中需注意细节,确保配置准确,避免因修改错误引发网络问题。

文章版权声明:除非注明,否则均为XMSDN - MSDN原版系统镜像 | 纯净ISO系统下载原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码