歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 6.4安裝後網卡em改回eth的兩種方法

CentOS 6.4安裝後網卡em改回eth的兩種方法

日期:2017/2/28 14:46:19   编辑:Linux教程

今天我用mini的方式在Dell R710服務器上安裝了CentOS 6.4系統,完成重啟後ifconfig只能看到一個本地回環地址。檢查/etc/sysconfig/network-scripts/下的網卡配置文件,結果也沒有找到 ifcfg-eth0這樣的配置文件,但是卻多出了 ifcfg-em1和ifcfg-em2.....這樣的幾個個配置文件。由於不明白為什麼會變成em,所以就找了些資料。最終有兩種方式可以修改回eth形式。

推薦閱讀:CentOS安裝後ifconfig 無法顯示網卡 http://www.linuxidc.com/Linux/2013-04/82573.htm

經過整理如下!

第一種:

dmesg中看到如下一行信息:

kernel: udev: renamed network interface eth0 to em1

原來是udev這個設備管理進程在開機過程中將系統默認的eth0改名為em1了,其實em1對應的就是系統原本的eth0網卡;由於我在mini安裝過程中沒有對網絡進行配置,所以系統默認沒有將網卡激活導致ifconfig看不到任何網卡;只需要在/etc/sysconfig/network-scripts/ifcfg-em1中將參數 ONBOOT=no改為yes,然後service network restart 網卡em1就出現了!

總覺得Linux的網卡代號變成了em1不習慣,想還原為一直以來熟悉的eth0也是可以的,調整udev的網卡命名規則配置文件 /etc/udev/rules.d/70-persistent-net.rules 修改內容如下:

  1. # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool)

  2. SUBSYSTEM==“net”, ACTION==“add”, DRIVERS==“?*”, ATTR{address}==“00:26:b9:80:b1:

  3. a5″, ATTR{type}==“1″, KERNEL==“eth*”, NAME=“em2“// 修改為eth1

  4. # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool)

  5. SUBSYSTEM==“net”, ACTION==“add”, DRIVERS==“?*”, ATTR{address}==“00:26:b9:80:b1:

  6. a4″, ATTR{type}==“1″, KERNEL==“eth*”, NAME=“em1“ //修改為eth0

……………………依此類推。

這樣系統就會把網卡命名還原為eth0了,但是我們還需要對網卡配置文件做相應修改否則網絡和IP的配置都不會應用到eth0的網卡上;

將/etc/sysconfig/network-scripts/ifcfg-em1文件改名為 /etc/sysconfig/network-scripts/ifcfg-eth0,

並修改文件中的 DEVICE=em1為 DEVICE=eth0

如果有多張網卡,都要做相應修改,注意網卡代號的對應;

重啟系統,熟悉的eth0網卡回來了,IP設置也生效了!

第二種:

第一步:修改系統grub
vi /boot/grub/grub.conf

增加一個 biosdevname=0 的啟動參數,我修改的結果如下:

[root@localhost ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/sda1
# initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-220.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=360d089b-d466-4005-abcb-c5e517d31a96 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM biosdevname=0 #--->這裡是新加的
initrd /boot/initramfs-2.6.32-220.el6.x86_64.img

第二步:刪除udev的配置文件rm -f /etc/udev/rules.d/70-persistent-net.rules

第二步可以不需要操作。

第三步:修改當前網卡配置文件的名稱
mv ifcfg-em1》》》》》 ifcfg-eth0
mv ifcfg-em2》》》》》 ifcfg-eth1
mv ifcfg-em3》》》》》 ifcfg-eth2
mv ifcfg-em4》》》》》 ifcfg-eth3

第四步:修改網卡配置文件內容,把em1全部修改改為eth0

[root@xingfujie ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="24:B6:FD:F8:D5:84"
NM_CONTROLLED="yes"
ONBOOT="yes"

可以使用命令進行替換,如下:

perl -p -i -e 's/em1/eth0/g' ifcfg-eth0 或sed -i 's/em1/eth0/g' ifcfg-eth0

最後一步:重新啟動系統 shutdown -r now 啟動之後你就發現熟悉的eth0-eth4已經回來啦,順便說下centos 6.2 還有一個問題就是如果你沒有在網卡配置文件裡寫dns的話,重啟之後你就會發現 /etc/resolv.conf 文件被清空了,一個方法就是在網卡配置文件中寫DNS,另一個方法就是給/etc/resolv.conf加i屬性,chattr +i /etc/resolv.conf

更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14

Copyright © Linux教程網 All Rights Reserved