首页 > 代码库 > 虚拟中没有eth0

虚拟中没有eth0

进行虚拟机的软拷贝和硬拷贝,或直接从一台机器上拷贝虚拟机硬盘文件到另一台机子的虚拟机上时,发现通过修改/etc/network/interfaces配置的IP没用,输入ifconfig,发现根本就没有eth0.

其原因是udev搞的鬼,udev在/etc/udev/rules.d/下面搞了一个持久命名规则(persistent-net.rules),对于网卡的持久命令,就采取了MAC地址的匹配方式,也就是类似下面这样:
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:19:b9:52:04:3d”, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”et
h0″
上面的ATTR{address}==”00:19:b9:52:04:3d”匹配的就是机器网卡的MAC地址,显然这里填写的应该是拷贝的那台机器上的MAC地址,而不是当前机器的网卡MAC地址。
原理型解决办法是修改上面的MAC地址,要不直接删除这行。然后重启

还有一个通用的做法:

1.删除配置文件

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

重启

2.打开70-persistent-net.rules

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

3.修改ifcfg-eth0

vim/etc/sysconfig/network-scripts/ifcfg-eth0

对于有ifcfg-eth1,没有ifcfg-eth0的,可以把ifcfg-eth1拷贝为ifcfg-eth0。

4.重启网卡

service network restart

又一个方法:

修改/etc/udev/rules.d/70-persistent-net.rules 文件,将eth0删除将eth1改名为eth0后保存,重启系统

 

虚拟中没有eth0