重装了系统,不过原来的虚拟机系统文件都还在,就只重装了虚拟机,虚拟机版本是VM8.0.4,安装好虚拟机然后我就打开我原来安装好的CentOS.vmx文件,版本是centos6.5
但是发现我本机ping不通centos了,没装系统之前是可以的,已经设置过了,而且centos的文件都还在,所以很好奇,
输入命令ifconfig -a 发现设置的ip地址没有生效 ,而且是 eth1 不是原来的eth0
输入命令ifconfig eth0 报了错误: eth0: error fetching interface information : device not found
但在etc/sysconfig/network-scripts/ ifcfg-eth0 是在的,不知道为什么没加载到
vi ifcfg-eth0
发现设置仍是在的,但是就是没生效
网上百度了一下,有的是说:
第一种解决方案:
mv ifcfg-eth0 ifcfg-eth1
vi ifcfg-eth1 把eth0改为ifcfg-eth1
我试了试,可能我操作的不对,没有 ifup eth1 反正
没有成功,我甚至把networking里的ifcfg-eth0改了名字,但是没解决问题
其实我比较好奇为什么会突然网卡变了,专业名词应该叫网卡吧,百度了好久发现有个人说法有点道理
第二种方案:
在 vim /etc/udev/rules.d/70-persistent-net.rules 这个文件里
有两个PCI device 上面的是eth0 下面的是eth1
这是因为我直接用的原始虚拟机的centos系统文件,相当于我现在的系统是克隆过来的。
上面的那个是原始虚拟机的网卡设置,下面的是克隆出来的机器的网卡设置,把第一行去掉,eth1改成eth0就好了
然后重启一下,reboot
不过我试了之后,竟然还是不行。它的名字虽然变成eth0但它加载的还是eth1的设置信息。
不过我已经知道为什么会出现这种问题了。
第三种方案
我发现eth0里面有个HWADDR字段,这个字段是用来判断加载哪个eth 来设置网卡的,我ifconfig -a 的时候 eth1也会显示它的HWADDR值,
所以我就试了试把eth1的HWADDR值替换掉了eth0的HWADDR值
然后server network restart
竟然可以,网卡配置成功了。
所以我是先把 /etc/udev/rules.d/70-persistent-net.rules 里的eth1 改成了eth0
但是reboot之后发现还不行,所以又把HWADDR值也替换掉了,
最后server network restart
这样才行。
不过我好奇的是为什么找不到这个eth1文件在哪儿呢?network-scripts 文件夹下也没有,networking文件夹下也没有,
如果我能找到这个文件的话,我直接去设置它就行了,对Linux我还真是乱七八糟,只能以后慢慢摸索了。
所有评论(0)