在Virtualbox中安装完虚拟机之后,可能会有添加网卡,然后删除网卡之类的操作。这种操作一多了的话,虚拟机中的linux系统中,网卡的编号可能会乱套。
默认情况下,Linux会把第一个网卡识别为eth0,第二个为eth2。
但是经过频繁的变更网卡设置后,在网络服务启动时,有可能出现下面的错误(还有人说,在复制虚拟机的时候,也会出现这个问题):
- “Device eth0 does not seem to be present, delaying initialization.”
-
如何解决这个问题呢?
这时可以删除下面的文件,然后重启系统:
- # rm /etc/udev/rules.d/70-persistent-net.rules
- # reboot
-
其实该文件在系统启动时可以自动生成的,而且里面的内容确定了网卡编号与MAC地址的绑定关系。在网卡变动或者虚拟机克隆之后,网卡的MAC地址会发生变化,所以系统会错误的认为网络设备不存在。
重启之后,再次查看一下下面的文件, 如果eth0还是不存在的话,可以修改一下文件的内容,把里面的eth1或者ethN之类的,改成eth0,我的文件如下;
- #cat /etc/udev/rules.d/70-persistent-net.rules
- SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:86:d8:01", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
-
记下里面的MAC地址,修改下面的文件:
- # vim /etc/sysconfig/network-scripts/ifcfg-eth0
- DEVICE=eth0 #注意网卡编号
- TYPE=Ethernet
- ONBOOT=yes
- NM_CONTROLLED=no
- BOOTPROTO=none
- IPADDR=192.168.1.2
- PREFIX=24
- DEFROUTE=yes
- IPV4_FAILURE_FATAL=yes
- IPV6INIT=no
- NAME="System eth0"
- NETWORK=192.168.1.0
- BROADCAST=192.168.1.255
- HWADDR=08:00:27:86:d8:01 #这里的MAC地址一定要和70-persistent-net.rules的一致
- MTU=1500
最后,重启一下网络服务,看看eth0有没有起来:
- # service network restart