如何在centos 6和rhel 6中将em0转换为eth0
将平台从centos版本5升级到centos版本6的用户,或者安装了fedora 15或者其他最新版本的用户可能已经注意到,其NIC卡接口命名与以前的完全不同。
从现在开始,redhat/centos将遵循的新命名约定不仅是简单的名称更改,而且还可以解决NIC命名约定中的一个重要问题。
想象一下这样的情况:服务器上有4个NIC卡,并且我们想快速确定其中一个是板载NIC卡,哪个是外部PCI卡。
在某些情况下,重新启动后分配给NIC卡的名称也不一致。
或者设想一种情况,我们刚刚添加了一张另外的NIC卡,却无法识别哪个是新添加的NIC卡。
以前,NIC卡的命名方式如下。
eth [0,1,2,3,4,5,6 ....]
Centos和Redhat中的新NIC卡命名约定是什么?
为了解决基于NIC卡位置识别的问题,戴尔的Matt Domsch提出了一种名为“一致的网络设备命名”的解决方案。
“一致的网络设备命名”如何工作?
根据网络接口卡的物理位置命名功能可以在名为“ biosdevname”的程序的帮助下工作。
Biosdevname infact可以完成udev的工作,udev可以根据系统BIOS提供的信息重命名接口。
新的命名约定如下。
进入ifcfg-eth0内部,将DEVICE =“ em0”更改为DEVICE =“ eth0”。
对我们拥有的所有设备执行此操作。
第三步:
需要修改UDEV规则目录中的70-persistent-net.rules文件。
从上图可以看到,两个subsytem参数都将具有特定MAC地址的NIC卡的名称从“ eth *”更改为em [1,2,3 ..]。
我们需要将这两行中的最后一个NAME参数更改为NAME =“ eth0”或者“ eth1”或者“ eth2”或者任何我们需要的特定MAC地址。
例如,编辑后的行将如下所示。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="<Your MAC Address Here>", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
唯一更改的是上一行中的粗体。
通过上述方式,我们可以为所需的mac地址分配所需的名称。
如果我们不想编辑它,则可以删除该文件(在卸载“ biosdevname”软件包之后)。
步骤4:现在我们可以重新启动计算机...并恢复旧的命名约定。
如何在安装期间禁用“一致的网络设备命名”?
我们也可以在安装期间禁用此功能。
在安装引导屏幕中,输入以下命令。
linux biosdevname=0