您的位置:首页 > 运维架构 > Linux

CentOS 6.4安装后网卡em改回eth的两种方法

2014-01-04 15:04 519 查看
CentOS 6.4安装后网卡em改回eth的两种方法

 

[日期:2013-07-04]

来源:Linux社区  作者:fdgui

[字体:大 中 小]

 

 

 第一上方法有效

 

今天我用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.

 

 

5.

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

6.

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

7.

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

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2013-07/86885.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: