最近在部署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的配置也在该配置文件中如下:
- DEVICE=em1
- BOOTPROTO=none
- HWADDR=00:26:b9:xx:b1:xx
- NM_CONTROLLED=yes
- ONBOOT=yes //设置为yes,在启动时激活网卡
- TYPE=Ethernet
- UUID=“7799bca7-4a68-4619-a685-xxxxxxx2345”
- IPADDR=192.168.2.80
- NETMASK=255.255.255.0
- DNS2=8.8.8.8
- GATEWAY=192.168.2.254
- DNS1=192.168.2.88
- IPV6INIT=no
- 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/目录下有你想看到的文件了
网卡名也修改过来了,也可以上网了。
���文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141382.htm