原因: VM移动,导致实际网卡地址变动
见 有详细说明
https://www.linuxidc.com/Linux/2012-12/76248.htm
https://www.cnblogs.com/gracejiang/p/6109085.html
ifconfig...没有看到eth0.。然后重启网卡又报下面错误。
故障现象:
service network restart
Shutting down loopback insterface: [ OK ]
Bringing up loopback insterface: [ OK ]
Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]
解决办法:
首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示:
# vi /etc/udev/rules.d/70-persistent-net.rules
# 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 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:9
7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:1
7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
记录下,eth1网卡的mac地址00:0c:29:50:bd:17
接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
将 DEVICE="eth0" 改成 DEVICE="eth1" ,
将 HWADDR="00:0c:29:8f:89:97" 改成上面的mac地址 HWADDR="00:0c:29:50:bd:17"
最后,重启网络
# service network restart
或者
# /etc/init.d/network restart
正常了。
简单的解决办法:
删除 :/etc/udev/rules.d/70-persistent-net.rules 文件, 我本机删除一次,重启后自动生成70-persistent-net.rules
文件 就可以
下面比较极端的情况
https://www.cnblogs.com/liujiacai/p/8067954.html
ifconfig -a
使用这个命令后确实,发现每刷新一次mac地址,就生成一个新的eth。
在Linux中,还有一个配置文件:/etc/udev/rules.d/70-persistent-net.rules,打开这个配置文件后,会发现里面列出了所有Linux找到的网卡,包括历史的。因此,解决无法加载网卡的问题就有两个解决办法:
1.修改interfaces配置文件,使其使用最新的eth网卡
2.删除.rules文件,让linux重新将网卡认为是eth0
我找了下interfaces这个文件没有找到,于是我选择了第二个方法,删除rules配置文件,让他重新选择网卡。重启机器之后,敲了ifconfig,出现的不再是eth2了,但是使用的居然是eth1了, 这又让我迷茫了,怎么会变成是eth1了呢? 同时 也没有发现eth1的配置文件,这样子,我还是没法控制IP啊。我查看了下ifconfig命令中的mac地址和ifcfg-eth0中的mac地址比较下,发现两者的mac地址不一样,使用/etc/init.d/network restart 重启网卡,居然报eth0没有这个设备,由此断定,eth0配置文件中的mac地址是错误,于是把eth0配文件中的mac地址改成了ifocnfig中出来的mac地址,然后再次删除/etc/udev/rules.d/70-persistent-net.rules文件,重启机器,让他再次重新选择网卡,启动之后,查看了ifocnfig,这时候变成了eth0,看来是正常了,然后修改下ifcfg-eth0的ip,重启网络服务,没有报错,正常,查看下IP,改过来了,OK,一切正常。
这时又发现新问题了,我在这个虚拟机中常识去访问主机所在网段的机器时,居然报:network unreachable,断定是网关的问题,查看下网关,果然没有设置,在终端是命令:arp -a ,查看本机器的网关,然后修改ifgcfg-eth0,重启服务器,OK,搞定!