一、環境 VirtualBox + CentOS6.5 二、問題 有時候在克隆伺服器之後配置網路時,或者在維護別人建好的伺服器時,會遇到這樣一種情況。如下圖所示: 即:在介面配置文件ifcfg-eth0中,配置的是網卡eth1的信息。 這種不一致有可能對強迫症造成一定的困擾,有時候我們更想要的是:在 ...
一、環境
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 不存在的錯誤,如下圖所示,該問題的解決參考《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地址是唯一的。
為瞭解決這個問題,我們先修改/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文件重新配置網卡信息
可以發現,重啟機器之後一進入伺服器,網路就已經配置成一致的了,如下圖:
至此,修改完畢。