Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法
一、問題描述
VMware中克隆虛擬機是經(jīng)常的事情,雖然如此,用到虛擬機時,本人還是喜歡新安裝一個操作系統(tǒng),針對服務器的應用,在安裝操作系統(tǒng)時,一并安裝好,并且也花不了多少時間。但最近需要大量的配置一樣的虛擬機進行測試,故安裝了一個模板虛擬機,然后直接復制模板虛擬機到不同的文件夾,然后使用VMware 直接打開使用,但問題出來了,打開這些復制(克隆)的虛擬機全部會出現(xiàn)網(wǎng)絡無法啟動的問題。使用 service network start? 命令出現(xiàn)報錯如下:
device eth0 does not seem to be present
RTNETLINK answers: File exists?
RTNETLINK answers: File exists?
RTNETLINK answers: File exists
玩Linux蠻多年了,自認為對linux網(wǎng)絡配置很熟悉了,我第一直覺就是MAC地址的問題,怎么更改配置都不行,百度半天,網(wǎng)上很多處理方法都是說與NetworkManager服務沖突導致,只要把該服務停止即可,查半天,本人安裝的操作系統(tǒng)根本就沒這個服務,哪來的沖突?
直到今天才發(fā)現(xiàn)原來還有太多的東西需要學習。不過我相信只要肯鉆研及善用谷歌與百度,還是找到了解決方法。
?
二、原因分析
使用VMware 打開復制過來的操作系統(tǒng)文件,VMware會為新產(chǎn)生的虛擬機配置一個與原始虛擬機網(wǎng)卡MAC地址不同的網(wǎng)卡。對于CentOS這樣的Linux系統(tǒng),會把運行時的網(wǎng)卡MAC地址記入到 /etc/udev/rules.d/70-persistent-net.rules 文件中。這樣克隆好的新系統(tǒng)里也保存了這個記錄。當新系統(tǒng)啟動時,由于vmware已經(jīng)為其配置了不同的MAC地址,因此系統(tǒng)會在啟動掃描硬件時把這個新的MAC地址的網(wǎng)卡當做是eth1,并且增加記入上述文件中。而此時配置文件里的 /etc/sysconfig/network-scripts/ifcfg-eth0 里記錄的還是原來的MAC地址,而這個MAC地址在新系統(tǒng)里是不存在的,所以無法啟動。
?
三、解決方法
編輯/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地址一樣。
--------------------------------------------------------------------------------
?
最后 init 6 或者reboot 系統(tǒng)搞定;
原文鏈接:http://www.linuxidc.com/Linux/2014-01/95253.htm
轉(zhuǎn)載于:https://blog.51cto.com/zhangguangjun/1968474
總結(jié)
以上是生活随笔為你收集整理的Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上云有风险 公有云选型小心进坑
- 下一篇: [译]HTMLCSS Lesson2: