因為原先的EXSI 5.5的伺服器硬體掛點了,所以又複製一台 Linux 虛擬主機,結果開機後發現網路卡未啟動,執行 ifup eth0 出現下列訊息。
# ifup eth0
Device eth0 does not seem to be present, delaying initialization.
經查詢發現因為"再製"出來的虛擬機會變更新的 MAC Address,所以造成 Linux 判斷成另一張網卡
下列兩種方法任選一種就可以解決。
方法一:
(1) 我們可以先用下列指令查看系統目前抓到哪幾張網卡
# cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
這裡可以發現網卡代號已經變成 eth1
(2) 編輯 /etc/udev/rules.d/70-persistent-net.rules
# vi /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:64:f9:37", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:64:f9:39", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
可以將 eth1 修改為 eth0,重新開機。
3) 編輯 /etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
將"HWADDR="參數修改成正確的 MAC Address,或刪除此參數,若沒有這個參數應該在上一個步驟重新開機後會自動啟動網卡。
4) 修改完成後,就可以順利啟動網卡。
# ifup eth0
方法二:
(1) 我們可以先用下列指令查看系統目前抓到哪幾張網卡
# cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
這裡可以發現網卡代號已經變成 eth1
(2) 編輯 /etc/sysconfig/network-scripts/ifcfg-eth0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 -> 修改為 DEVICE=eth1
HWADDR= -> 刪除或修改成正確的 MAC Address
3) 因為裝置名稱已變更,所以 ifcfg-eth0 也要跟著更名
# mv ifcfg-eth0 ifcfg-eth1
4) 修改完成後,就可以順利啟動網卡。
# ifup eth1
資料來源 Gavin's Linux學習手札