首頁 > 軟體

Linux系統修改網絡卡名稱(eth1修改為eth0)

2020-06-16 16:49:30

一、環境

  VirtualBox + CentOS6.5

二、問題

  有時候在克隆伺服器之後設定網路時,或者在維護別人建好的伺服器時,會遇到這樣一種情況。如下圖所示:

   

  即:在介面組態檔ifcfg-eth0中,設定的是網絡卡eth1的資訊。

  這種不一致有可能對強迫症造成一定的困擾,有時候我們更想要的是:在ifcfg-eth0檔案中,設定的應該是網絡卡eth0的資訊,而網絡卡eth1,則應該是在ifcfg-eth1中進行設定。

三、解決辦法

  要解決上面的問題,大致有兩種方法:

  1) 將介面組態檔的檔名由ifcfg-eth0修改為ifcfg-eth1;

  2) 將網絡卡eth1的名稱修改為eth0.

方法一:

  該方法實測是可行的,如下圖所示,修改完之後直接重新啟動網路即可。

   

方法二:

  這種方法的直觀感覺是直接在ifcfg-eth0組態檔中將網絡卡名稱由eth1修改為eth0,但是這樣改的話,重新啟動網路會出現Device eth0 does not seem to be present即:裝置 eth0 不存在的錯誤,如下圖所示,該問題的解決參考《Linux解決Device eth0 does not seem to be present,delaying initialization問題》 。

   

  所以還不能簡單粗暴的這麼改,因為,正如下圖由ifconfig –a命令查詢到的,伺服器所識別的網絡卡依然是eth1,而不是eth0。

  註:記住這裡的mac地址08:00:27:74:39:02,在後面的實施步驟中可作為修改的依據,因為一台伺服器的IP可以隨意改變,但是mac地址是唯一的。

 

  為了解決這個問題,我們先修改/etc/udev/rules.d/70-persistent-net.rules檔案中的設定,使得伺服器的網絡卡名稱由eth1變為eth0,然後,我們再將ifcfg-eth0中的網絡卡名也跟著改過來,最後重新啟動網路。

  1) 修改組態檔/etc/udev/rules.d/70-persistent-net.rules。

  原/etc/udev/rules.d/70-persistent-net.rules檔案內容如下:

 

# This file was automatically generated by the /lib/udev/write_net_rules

# program, run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single

# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100e (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:9b:bb:3c", ATTR{type}=="1

", KERNEL=="eth*", NAME="eth0"

 
# PCI device 0x8086:0x100e (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:74:39:02", ATTR{type}=="1

", KERNEL=="eth*", NAME="eth1"

修改後的內容如下:

# This file was automatically generated by the /lib/udev/write_net_rules

# program, run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single

# line, and change only the value of the NAME= key.

 
# PCI device 0x8086:0x100e (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:74:39:02", ATTR{type}=="1

", KERNEL=="eth*", NAME="eth0"

  如上面所示

  a)將原檔案中的eth0的設定刪掉了(因為它沒用了,這項設定是我本次測試時克隆本伺服器時源機器的設定,設定中對應的mac地址也是源伺服器的mac地址,對我們目前這台伺服器而言沒用);

  b)將eth1網絡卡名稱修改為了eth0(可注意到它的mac地址為08:00:27:74:39:02,恰恰就是我們要修改的條目。)

   

 

  2) 修改介面組態檔ifcfg-eth0,將網絡卡由eth1修改為eth0

   

 

  3) 重新啟動機器,讓伺服器根據/etc/udev/rules.d/70-persistent-net.rules檔案重新設定網絡卡資訊

  可以發現,重新啟動機器之後一進入伺服器,網路就已經設定成一致的了,如下圖:

   

   至此,修改完畢。

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

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


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