解決在Ubuntu/Debian底下因更換網路卡或將硬碟安裝在另一台伺服器之後找不到eth0/網路的問題

| No Comments | No TrackBacks
Ubuntu Desktop / Ubuntu Server / Kubuntu與Debian會紀錄網路卡的MAC Address來判斷目前所用的網卡是否與紀錄一致, 倘若不同, 就會自動新增一筆紀錄. 所以就算更換新的網卡(同樣道理, 在A 電腦的VirtualOS 的網卡與B電腦的VirtualOS 的網卡Mac Address 不同), 舊網卡的資料還是一樣會被判定成eth0, 而其他新增的網卡會依照eth1,eth2...一直自動新增下去.

解決的辦法:

sudo vi /etc/udev/rules.d/70-persistent-net.rules

你會看到類似以下的參數設定...

# PCI device 0x10de:0x00df (forcedeth)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10de:0x00df (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="55:44:33:22:11:00", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


只保留最底下的參數 (# PCI device 0x10de:0x00df (forcedeth) 開始), 其餘的通通刪除, 並且將NAME="eth1" 更改成 NAME="eth0"


範例:
# PCI device 0x10de:0x00df (forcedeth)
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:11:22:33:44:55", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


# PCI device 0x10de:0x00df (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="55:44:33:22:11:00", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"


更改之後, /etc/udev/rules.d/persistent-net.rules 內的參數如下:

# PCI device 0x10de:0x00df (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="55:44:33:22:11:00", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


修改完畢並且儲存之後重新啟動伺服器 (sudo shutdown -r now)就行了.



注: 這方法適用於所有使用Ubuntu/Debian 的伺服器/電腦.  不管是否用Virtualbox, 都可以用.  比如VMWare 或者安裝在真正的硬碟而非虛擬OS.


參考資料: http://nabeko-notebook.blogspot.com/2009/04/eth0debianubuntu.html

No TrackBacks

TrackBack URL: http://www.ode2forest.com/mt-tb.cgi/40

Leave a comment

About this Entry

This page contains a single entry by Gordon Lim published on August 11, 2009 10:00 AM.

簡單易懂的現代魔法 - 生成魔法 was the previous entry in this blog.

在Lighttpd設定Rewrite is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.