修改Linux網卡由eth1變成eth0


正常來說,Linux在識別網卡時第一張會是eth0,第二張才是eth1。有時候我們使用虛擬機克隆技術后網卡的信息就會改變,新克隆出來的虛擬主機網卡名字可能變為eth1.無論我們怎么修改都無法改變,這就對我們使用N台虛擬機進行HA-heartbeat實驗時造成了困擾(目前還不知道此處說的什么東西...待百度...)。

當使用linux更換了網卡,或者將虛擬機從一台電腦拷貝到另一台電腦時,由於設備網卡mac地址改變,但是系統配置文件/etc/udev/rules.d/70-persistent-net.rules中仍然保留了老網卡的內容,新網卡則被識別為eth1。

在這里成這樣是因為復制系統的過程中復制的文件已經有一個網卡在/etc/udev/rules.d/70-persistent-net.rules被識別成了eth0,而虛擬機中的識別成了eth1。

解決方法:

1.編輯/etc/udev/rules.d/70-persistent-net.rules,找到與ifconfig -a得出的MAC相同的一行(NAME='eth1'這一行),把它改為"NAME=eth0 ",然后把上面一行(這一行是對應的老網卡)(NAME='eth0')刪除掉。

也可以把老網卡的卡的行注釋掉,將新網卡的行的eth1改為eth0

vim /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:41:2b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

2.編輯/etc/sysconfig/network-script/ifcfg-eth0,把MAC改為正確的,把UUID刪掉。

3.編輯/etc/sysconf/network,把hostname也改一下。

4.重啟生效!

//========================================================================================

為什么eth0會變成eth1?

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

//======================================================================================

上面修改過程中把ifconfig-eth0中的UUID給干掉了....強迫症犯了....生怕出問題....

百度到怎么知道該Linux系統下的網卡的UUID的方法:

詳細見博文:

http://www.cnblogs.com/DreamDrive/p/5494961.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM