CentOS的虚拟机网卡eth0变成eth1

1.借鉴:

                  虚拟机拷贝后网卡eth0变成了eth1的解决办法  

2.开始

                  why: 使用parallels desktop或者是VMware克隆虚拟机之后,无法连接上网络,使用命令ifconfig eth0 找不到eth0,所以有了这篇文章。

           2.1  修改 /etc/udev/rules.d/70-persistent-net.rules 文件

                         具体做法是:

                                   将eth0那行删除,并将name由eth1改为eth0,注意:不能图方便删除eth1,因为ATTR{address}属性有用到

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:d6:67:b6", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}==" 00:0c:29:42:00:55 ", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

           2.2 配置ifcfg-eth0

                          [root@hadoop ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

eEVICE="eth0"

BOOTPROTO="static"

HWADDR="00:0c:29:42:00:55"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

UUID="01786dd9-7107-44d7-ad97-a82411385918"

NM_CONTROLLED=no

PEERDNS=no

IPADDR=192.168.22.150

GATEWAY=192.168.22.2

DNS1=8.8.8.8

DNS2=192.168.1.1

NETMASK=255.255.255.0

                          需要注意的是:ifcfg-eth0文件中的HWADDR(一般为大写)要和70-persistent-net.rules文件中name为eth0的ATTR{address}(一般为小写)属性相同

需要注意的是标红的部分要相同

           2.3 虚拟机重启 reboot

<think>好的,用户问的是如何将CentOS 10网卡名称改为eth0。首先,我需要确认CentOS的版本,因为通常说的CentOS 10可能是指CentOS 7或8,因为官方没有CentOS 10这个版本。CentOS 7和8之后的版本默认使用Predictable Network Interface Names,也就是类似enp0s3这样的命名方式,而不再是传统的eth0。用户可能更习惯旧的命名方式,或者某些脚本依赖eth0的名称,所以需要修改。 接下来,我需要回忆修改网卡名称的步骤。通常这涉及修改grub配置文件,添加net.ifnames=0的启动参数,然后更新grub,并重命名网卡配置文件。但要注意不同版本可能有差异,比如CentOS 7和8在grub配置上的区别,以及使用grub2-mkconfig还是其他命令生成新的grub配置。 还需要检查用户的网卡配置文件是否正确,比如/etc/sysconfig/network-scripts/下的ifcfg-enp0s3这样的文件,需要将里面的NAME和DEVICE改为eth0,同时文件名也要改成ifcfg-eth0。此外,可能需要禁用NetworkManager或者确保服务重启后生效。 另外,用户可能遇到的问题包括重启后网卡名称没变,这可能是因为grub参数没有正确添加,或者配置文件有错误。需要提醒用户备份原文件,避免配置错误导致网络无法连接。同时,如果是虚拟机环境,可能需要不同的处理,比如检查虚拟化平台对网卡名称的影响。 最后,要确保步骤清晰,提醒用户每一步的操作和可能的风险,比如修改grub时的注意事项,以及测试网络连接是否正常。如果有遗漏的步骤或者版本差异,可能导致用户操作失败,所以需要尽可能详细地说明每个步骤,并给出验证方法,比如重启后使用ip addr查看网卡名称是否更改成功。</think>以下是将CentOS系统网卡名称改为传统命名方式(如eth0)的标准化步骤,适用于CentOS 7/8/Stream等版本: --- ### 操作步骤 #### 1. 验证当前网卡命名模式 ```bash ip a ``` 当前网卡名称通常显示为$enp0s3$或$ens192$等格式 #### 2. 修改GRUB引导参数 ```bash sudo vi /etc/default/grub ``` 在$GRUB_CMDLINE_LINUX$行添加: ```bash net.ifnames=0 biosdevname=0 ``` 修改后示例: $$ GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevname=0" $$ #### 3. 生成新GRUB配置 ```bash # CentOS 7 sudo grub2-mkconfig -o /boot/grub2/grub.cfg # CentOS 8/Stream(UEFI系统) sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg ``` #### 4. 重命名网卡配置文件 ```bash # 查看原始配置文件 ls /etc/sysconfig/network-scripts/ifcfg-* # 重命名文件(假设原网卡为enp0s3) sudo mv /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-eth0 # 修改配置文件内容 sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 ``` 将文件内的: $$ NAME=enp0s3 $$ $$ DEVICE=enp0s3 $$ 修改为: $$ NAME=eth0 $$ $$ DEVICE=eth0 $$ #### 5. 重建initramfs镜像 ```bash sudo dracut -f ``` #### 6. 重启系统 ```bash sudo reboot ``` --- ### 验证与排错 1. 重启后执行: ```bash ip a ``` 应看到网卡名称已变为$eth0$ 2. 如遇到网络故障: - 检查$ifcfg-eth0$文件中的MAC地址是否匹配硬件地址 - 确认$HWADDR$或$MACADDR$参数正确 - 使用`journalctl -xe`查看启动日志 --- ### 注意事项 1. 适用于物理机和大部分虚拟机(VMware/KVM等) 2. 在云服务器(AWS/Azure/阿里云等)上可能不适用 3. 操作前建议备份重要配置文件 4. 修改后如出现网络问题,可通过控制台连接进行恢复 --- 该方案通过禁用RedHat的Predictable Network Interface Names方案,恢复传统的网卡命名方式。核心原理是通过内核参数$net.ifnames=0$关闭新命名规则,$biosdevname=0$禁用Dell开发的命名工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值