Linux修改網卡名稱

導讀網卡,即網絡接口板,又稱網絡適配器或NIC (網絡接口控制器),是一塊被設計用來允許計算機在計算機網絡上進行通訊的計算機硬件。由於其擁有MAC地址,因此屬於OSI模型的第1層。它使得用戶可以透過電纜或無線相互連接。 每一個網卡都有一個被稱為MAC地址的獨一無二的48位串行號,它被寫在卡上的一塊ROM中。

一、環境

VirtualBox + CentOS6.5

二、問題

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

Linux修改網卡名稱

即:在接口配置文件ifcfg-eth0中,配置的是網卡eth1的信息。

這種不一致有可能對強迫症造成一定的困擾,有時候我們更想要的是:在ifcfg-eth0文件中,配置的應該是網卡eth0的信息,而網卡eth1,則應該是在ifcfg-eth1中進行配置。

三、解決辦法

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

1) 將接口配置文件的文件名由ifcfg-eth0修改為ifcfg-eth1;

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

方法一:

Linux修改網卡名稱

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

方法二:

Linux修改網卡名稱

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

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

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

Linux修改網卡名稱

為了解決這個問題,我們先修改/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,恰恰就是我們要修改的條目。)

Linux修改網卡名稱

2) 修改接口配置文件ifcfg-eth0,將網卡由eth1修改為eth0

Linux修改網卡名稱

3) 重啟機器,讓服務器根據/etc/udev/rules.d/70-persistent-net.rules文件重新配置網卡信息

可以發現,重啟機器之後一進入服務器,網絡就已經配置成一致的了,如下圖:

Linux修改網卡名稱

至此,修改完畢。


分享到:


相關文章: