CentOS 6.x修改网卡名称em1、2...为eth0、1...

最近在部署OpenStack环境时,采用双网卡,安装完cenos6.6后发现网卡名称为em1,em2,不是以前熟悉的eth0,eth1,由于openstack配置比较麻烦,于是想修改网卡名为eth0、1...

查看网上的一些资料:

--------------------------------------分割线 --------------------------------------

CentOS 6.3 mini安装后没有网卡和网卡变成em1问题解决

采用最小化mini方式安装CentOS6.3后重启,结果在系统里面看不到网卡;ifconfig也显示只一个本地回环lo口,

检查/etc/sysconfig/network-scripts/下的网卡配置文件,结果也没有找到 ifcfg-eth0这样的配置文件,但是却多出了 ifcfg-em1和ifcfg-em2这样的2个配置文件;难不成Linux也开始像FreeBSD靠拢?网卡代号也采用em的形式了?后来在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就出现了!固定IP的配置也在该配置文件中如下:

  1. DEVICE=em1 
  2. BOOTPROTO=none  
  3. HWADDR=00:26:b9:xx:b1:xx 
  4. NM_CONTROLLED=yes  
  5. ONBOOT=yes                     //设置为yes,在启动时激活网卡 
  6. TYPE=Ethernet  
  7. UUID="7799bca7-4a68-4619-a685-xxxxxxx2345" 
  8. IPADDR=192.168.2.80  
  9. NETMASK=255.255.255.0  
  10. DNS2=8.8.8.8  
  11. GATEWAY=192.168.2.254  
  12. DNS1=192.168.2.88  
  13. IPV6INIT=no  
  14. USERCTL=no 

修改em1为eth0 方法1: (发现有些服务器没有70-persistent-net.rules文件,这是就无从下手了

总觉得Linux的网卡代号变成了em1不习惯,想还原为一直以来熟悉的eth0也是可以的,调整udev的网卡命名规则配置文件 /etc/udev/rules.d/70-persistent-net.rules 修改内容如下:

 

  • # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool)  
  • SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:26:b9:80:b1:
  • a5", ATTR{type}=="1", KERNEL=="eth*", NAME="em2"       // 修改为eth1
  •  
  • # PCI device 0x14e4:0x163b (bnx2) (custom name provided by external tool)  
  • SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:26:b9:80:b1:
  • a4", ATTR{type}=="1", KERNEL=="eth*", NAME="em1"      //修改为eth0

 

我的机器有2张网卡,所以这个rule配置文件中指定了将kernel识别出的eth*设备分别命名为了 em1和em2(em代号是从1开始的,默认没有em0)这里我们只需要将em1和em2分别替换成 eth0和eth1即可!

这样系统就会把网卡命名还原为eth0了,但是我们还需要对网卡配置文件做相应修改否则网络和IP的配置都不会应用到eth0的网卡上;

将/etc/sysconfig/network-scripts/ifcfg-em1文件改名为 /etc/sysconfig/network-scripts/ifcfg-eth0,

并修改文件中的 DEVICE=em1为 DEVICE=eth0

如果有多张网卡,都要做相应修改,注意网卡代号的对应;

重启系统,熟悉的eth0网卡回来了,IP设置也生效了!

修改em1为eth0 方法2: (这个方法 不确认biosdevname=0 关闭了dev会产生什么其他影响

解决问题如下:

1、在grub里增加biosdevname=0的启动参数,形如

kernel /vmlinuz-2.6.32-131.21.1.el6.i686 ro root=/dev/mapper/vg_test-lv_root rd_LVM_LV=vg_test/lv_root rd_LVM_LV=vg_test/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latar
cyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet biosdevname=0

2、删除udev的配置文件rm -f /etc/udev/rules.d/70-persistent-net.rules

3、把网卡配置文件改名

mv ifcfg-em1 ifcfg-eth0

4、把网卡配置文件内容修正,把em1的全部改成eth0

--------------------------------------分割线 --------------------------------------

可是在/etc/udev/rules.d/下没有发现70-persistent-net.rules

无法按照上文进行操作

于是自己先备份网卡配置文件ifcfg-em1 ifcfg-em2

修改文件名为ifcfg-eth0 ifcfg-eth1

然后在对应的文件内容修改DEVICE=eth0或eth1 设置onboot=yes

然后重启电脑,登陆后发现还是不行,

不要急,再重启一次就可以了

然后你就可以发现在/etc/udev/rules.d/目录下有你想看到的文件了

网卡名也修改过来了,也可以上网了。

相关推荐