Linux 重启网络提示找不到eth0(no device found for “System eth0”)
一、背景
使用VMWare创建了一个虚拟机(VM1),然后通过拷贝的方式创建了另一台虚拟机(VM2)。在第二台虚拟机上设置网卡为固定IP,使用service network restart重启网络的时候报错,eth0找不到。
二、原因
因为任何两块网卡的物理地址不能相同,所以通过拷贝的方式创建的虚拟机网卡的物理地址会与原来的不同。通过ifconfig命令可以看到VM2网卡的物理地址,通过查看/etc/udev/rules.d/70-persistent-net.rules文件,可以发现其中包含了两个eth:eth0和eth1。eth0对应的物理地址为VM1上网卡的物理地址(NHA1),eth1对应的物理地址为VM2上网卡的物理地址(NHA2)。查看/etc/sysconfig/network-scripts/ifcfg-eth0文件的内容,发现配置的信息还是VM1上网卡的物理地址(NHA1)。
个人理解,因为VM2上根本不存在物理地址为NHA1的设备,因此会报这个错误。
三、修改
1、ifconfig查看VM2上网卡的物理地址,记住
2、vi /etc/udev/rules.d/70-persistent-net.rules,删除eth0的所有信息
3、vi /etc/sysconfig/network-scripts/ifcfg-eth0,把其中的信息改成eth1的相关信息,包括eth名字,物理地址
4、service network restart,执行成功
5、如果要修改hostname相关信息,可以修改/etc/sysconfig/network和/etc/hosts信息即可