轉殖CentOS 6網絡卡無法自動識別的解決方法

2021-12-29 21:56:27 字數 1429 閱讀 7396

轉殖centos 6網絡卡無法自動識別的解決方法

vmware 下linux下使用ifconfig檢視時無eth0網絡卡相應資訊! 

最近裝了虛擬機器系統centos 6.2,為了以後使用方便對虛擬機器進行轉殖或複製。當使用轉殖後的虛擬機器時發現原來在基本系統中的網絡卡eth0到了新系統卻沒有了,使用 ifconfig -a會發現只有eth1。因為基本系統的網路相關配置都是基於eth0的,eth1沒有網路相關的配置,此時要正常該虛擬機器中的網路,只有新增eth1的網路配置,這樣每次都要修改網絡卡配置在做多linux系統測試的時候很不方便。更進一步,如果基於此轉殖虛擬機器繼續轉殖或複製新的虛擬機器,網絡卡的標識每一次都會自動加1(第二次轉殖會變成eth2),dmesg卻顯示核心只識別到網絡卡eth0。

www.2cto.com  

原因分析: 很多linux distribution使用udev動態管理裝置檔案,並根據裝置的資訊對其進行持久化命名。例如在debian etch中,udev會在系統引導的過程中識別網絡卡,將mac位址和網絡卡名稱對應起來記錄在udev的規則指令碼中。而vmware會自動生成虛擬機器的 mac位址。這樣,由於基本系統的虛擬機器已經記錄了該虛擬機器的網絡卡mac位址對應於網絡卡eth0,在轉殖出的虛擬機器中由於mac位址發生改變,udev會自動將該mac對應於網絡卡eth1。以此類推,udev會記錄所有已經識別的mac與網絡卡名的關係,所以每次轉殖網絡卡名稱會自動加1,而其實kernel 僅僅只識別到一張網絡卡,跟網絡卡名相關的網路配置也未發生任何變化。 

解決方案:網路搜尋發現在debian etch下,udev將mac與網絡卡名稱的對應關係儲存在/etc/udev/rules.d/z25_persistent-net.rules中, 

在轉殖出的虛擬機器中只要刪除跟name="eth0"相關的行,並重啟系統即可。 

例如在debian etch中刪除如下兩行:   www.2cto.com  

# pci device 0x1022:0x2000(pcnet32) 

subsystem=="net",drivers=="?*",attrs=="00:0c:29:4c:46:01",name="eth0" 

在我的fedora9 下修改/etc/udev/rules.d 下的 70-persistent-net.rules 檔案 

刪除 # advanced micro devices [amd] 79c970 [pcnet32 lance] (rule written by anaconda) subsystem=="net", action=="add", drivers=="?*", attr=="00:0c:29:ad:06:2a", attr=="1", kernel=="eth*", name="eth0" 

然後把eth1對應的哪一行的"eth1"修改為"eth0"即可。 

另外一種方法是:把裡面的內容都刪除, 

然後重新啟動, 

系統也會重新發現網絡卡硬體, 

重新產生該檔案。 一切正常。

vmware轉殖Centos6 網絡卡無法啟動

原因是以下三處mac位址不一致 1 使用dmesg grep eth,獲得eth編號和mac位址 2 cat etc udev rules.d 70 persistent net.rules 3 cat etc sysconfig network scripts ifcfg eth0 處理辦法1 修...

CentOS6網絡卡靜態IP設定

centos網絡卡配置原始檔如下 device eth0 hwaddr 00 0c 29 a8 67 46 type ethernet uuid 4103d7a8 d073 4e93 ac68 e6f8496f35f0 onboot no nm controlled yes bootproto dh...

CentOS 6橋接網絡卡配置

安裝kvm虛擬機器軟體,需要配置乙個橋接網絡卡,以便客戶機獲取到跟真實系統同一網段的ip,本文實驗環境基於centos 6 64bit,記錄一下,本文所有命令均是在真實系統裡操作,而非在客戶機操作。1,準備工作 關閉networkmanager服務,啟用network服務 root localhos...