怎麼解決虛擬機遷移後eth0變成了eth1

原文鏈接:http://blog.sina.com.cn/s/blog_5356e47901016b7b.html

轉自http://blog.sina.com.cn/s/blog_5356e47901016b7b.html,親測有用。

當克隆或者重裝虛擬機後,再啓動系統時會發現系統下不再有eth0,而變成了eth1,當使用/etc/init.d/network重啓網絡時,會提示找不到設備eth0及eth1的啓動腳本。

 

做以下改動:

/etc/sysconfig/network-scripts/ifcfg-eth0重命名爲/etc/sysconfig/network-scripts/ifcfg-eth1

/etc/init.d/network restart 提示找不到eth0

發現腳本中的device一項沒有改過來,將其改爲eth1(或者刪掉)

/etc/init.d/network restart 提示網卡的物理地址不匹配

/etc/sysconfig/network-scripts/ifcfg-eth0中的mac地址爲原來eth0網卡的物理地址,而虛擬機爲eth1分配新的物理地址,故啓動腳本中的信息與實際信息時不匹配的,將MAC的地址信息從腳本中刪除,再次重啓網絡,OK!

爲什麼原來的eth0會變成eth1?

很多Linux distribution使用udev動態管理設備文件,並根據設備的信息對其進行持久化命名。udev會在系統引導的過程中識別網卡,將mac地址和網卡名稱對應起來記錄在udev的規則腳本中。而對於新的虛擬機,VMware會自動爲虛擬機的網卡生成MAC地址,當你克隆或者重裝虛擬機軟件時,由於你使用的是以前系統虛擬硬盤的信息,而該系統中已經有eth0的信息,對於這個新的網卡,udev會自動將其命名爲eth1(累加的原則),所以在你的系統啓動後,你使用ifconfig看到的網卡名爲eth1。

如何把名字改回eth0?

在fedora 11中,udev記錄網絡規則的腳本爲:/etc/udev/rules.d/70-persistent-net.rules

打開該文件,這時你會發現,裏面有eth0,eth1兩個網卡的信息,但實際上你ifconfig時只能發現eth1一個網卡的信息,這時因爲eth0根本就不存在。

將其中eth0的信息刪掉,並將eth1信息中的設備名改爲eth0,並且確保/etc/sysconfig/network-scripts/目錄下網卡文件名爲ifcfg-eth0,且該文件中DEVICE=eth0     

重啓系統,你看到的網卡就是eth0了,或者刪掉其中所有的信息重啓系統udev會幫你發現新的設備的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章