Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法

一、问题描述VMware中克隆虚拟机是经常的事情,虽然如此,用到虚拟机时,本人还是喜欢新安装一个操作系统,针对服务器的应用,在安装操作系统时,一并安装好,并且也花不了多少时间。但最近需要大量的配置一样的虚拟机进行测试,故安装了一个模板虚拟机,然后直接复制模板虚拟机到不同的文件夹,然后使用VMware直接打开使用,但问题出来了,打开这些复制(克隆)的虚拟机全部会出现网络无法启动的问题。使用servicenetworkstart命令出现报错如下:deviceeth0doesnotseemtobepresent

RTNETLINKanswers:Fileexists

RTNETLINKanswers:Fileexists

RTNETLINKanswers:Fileexists

玩Linux蛮多年了,自认为对linux网络配置很熟悉了,我第一直觉就是MAC地址的问题,怎么更改配置都不行,百度半天,网上很多处理方法都是说与NetworkManager服务冲突导致,只要把该服务停止即可,查半天,本人安装的操作系统根本就没这个服务,哪来的冲突?

直到今天才发现原来还有太多的东西需要学习。不过我相信只要肯钻研及善用谷歌与百度,还是找到了解决方法。

二、原因分析

使用VMware打开复制过来的操作系统文件,VMware会为新产生的虚拟机配置一个与原始虚拟机网卡MAC地址不同的网卡。对于CentOS这样的Linux系统,,会把运行时的网卡MAC地址记入到/etc/udev/rules.d/70-persistent-net.rules文件中。这样克隆好的新系统里也保存了这个记录。当新系统启动时,由于vmware已经为其配置了不同的MAC地址,因此系统会在启动扫描硬件时把这个新的MAC地址的网卡当做是eth1,并且增加记入上述文件中。而此时配置文件里的/etc/sysconfig/network-scripts/ifcfg-eth0里记录的还是原来的MAC地址,而这个MAC地址在新系统里是不存在的,所以无法启动。

三、解决方法

编辑/etc/udev/rules.d/70-persistent-net.rules

找到含NAME=”eth0″的那行直接删除,如下:

SUBSYSTEM==”net”,ACTION==”add”,DRIVERS==”?*”,ATTR{address}==”00:0c:29:ac:95:31″,ATTR{type}==”1″,KERNEL==”eth*”,NAME=”eth0″

编辑含NAME=”eth1″的那行:”eth1″更改为”eth0″

编辑/etc/sysconfig/network-scripts/ifcfg-eth0

更改HWADDR地址跟上面rules文件的MAC地址一样。

最后init6或者reboot系统搞定;

本文出自 “方寸小山” 博客,请务必保留此出处

当你见过了世界上最美丽的风景,

Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法

相关文章:

你感兴趣的文章:

标签云: