首頁 > 軟體

Linux解決Device eth0 does not seem to be present,delaying initialization問題

2020-06-16 16:49:28

問題前提:

在VirtualBox中克隆Linux伺服器,如下,由CentOS6.5_Base克隆得到node01伺服器,採用的是完全克隆的方式,克隆時重新初始化MAC地址。

原伺服器Centos6.5_Base的IP地址是192.168.137.10,原本打算是:將克隆得到的伺服器node01的IP地址設定成192.168.137.31。

那麼很自然的,當我啟動node01之後,自然而然想到的就是要去修改/etc/sysconfig/network-script目錄下的網路介面組態檔ifcfg-ethXXX,將檔案中的IP修改為192.168.137.31。

如上圖,除了ifcfg-lo回環網路組態檔之外就是ifcfg-eth0了,則我修改ifcfg-eth0檔案,將其中IP修改如下:

註:其實mac地址也是影響設定的一個重要點,為了更清楚第闡述現在這個問題,這裡我把組態檔中mac地址設定給注釋掉了(沒關係的,檔案中不設定mac地址也可以)。

接著使用service network restart命令重新啟動網路:

 

於是,就出現了Device eth0 does not seem to be present的問題。

解決方法:

針對這個問題,有兩種解決方法。其實這兩種方法的最終解決手段是一樣的,只不過過程不同而已。

方法一:

使用ifconfig -a命令。

如上圖,可以看到目前伺服器所擁有的是eth1這個網絡卡(且對應的mac地址是08:00:27:93:B8:C2),而我們的組態檔ifcfg-eth0中給網絡卡設定的名稱卻是eth0。這是不對的,下面我們改過來。

 

註:如果你願意的話,這裡同時也可以將HWADDR的井號註釋去掉,並把等號後面修改為正確的mac地址08:00:27:93:B8:C2。

 

接著重新啟動網路。

可以看到,網絡卡啟動成功了。

方法二:

該方法參考自《CentOS Linux解決Device eth0 does not seem to be present

下面簡單總結一下它的步驟:

檢視/etc/udev/rules.d/70-persistent-net.rules檔案

 

看到最後一行,裝置是eth1,對應的mac地址是08:00:27:93:b8:c2。記錄下來,然後像上面一樣,把這兩項修改到組態檔ifcfg-eth0檔案中,然後重新啟動網路即可。

小結:

1)其實方法二中的/etc/udev/rules.d/70-persistent-net.rules檔案才是根源,因為該檔案中給網絡卡設定的名稱是eth1,所以在第一種方法中使用ifconfig -a命令檢視到的才是eth1,假如這裡寫的是eth3,那麼用ifconfig -a命令檢視到的也將是eth3。

2)最後,到這裡,其實已經解決了Device eth0 does not seem to be present的問題了,不過我們也注意到了,我們在ifcfg-eth0檔案中設定eth1的資訊,感覺有點擰巴對不對……我們大部分人想要的應該是——我的ifcfg-eth0介面組態檔中,對應的設定就應該是網絡卡eth0的資訊,至於網絡卡eth1,則應該是在ifcfg-eth1檔案中進行設定。關於這個問題,可以參考《Linux系統修改網絡卡名稱(eth1修改為eth0)》。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新連結地址https://www.linuxidc.com/Linux/2018-08/153408.htm


IT145.com E-mail:sddin#qq.com