修改Linux网卡由eth1变成eth0

正常来说,Linux在识别网卡时第一张会是eth0,第二张才是eth1。有时候我们使用虚拟机克隆技术后网卡的信息就会改变,新克隆出来的虚拟主机网卡名字可能变为eth1.无论我们怎么修改都无法改变,这就对我们使用N台虚拟机进行HA-heartbeat实验时造成了困扰(目前还不知道此处说的什么东西...待百度...)。

当使用linux更换了网卡,或者将虚拟机从一台电脑拷贝到另一台电脑时,由于设备网卡mac地址改变,但是系统配置文件/etc/udev/rules.d/70-persistent-net.rules中仍然保留了老网卡的内容,新网卡则被识别为eth1。

在这里成这样是因为复制系统的过程中复制的文件已经有一个网卡在/etc/udev/rules.d/70-persistent-net.rules被识别成了eth0,而虚拟机中的识别成了eth1。

解决方法:

1.编辑/etc/udev/rules.d/70-persistent-net.rules,找到与ifconfig -a得出的MAC相同的一行(NAME='eth1'这一行),把它改为"NAME=eth0 ",然后把上面一行(这一行是对应的老网卡)(NAME='eth0')删除掉。

也可以把老网卡的卡的行注释掉,将新网卡的行的eth1改为eth0

vim /etc/udev/rules.d/70-persistent-net.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:41:2b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

2.编辑/etc/sysconfig/network-script/ifcfg-eth0,把MAC改为正确的,把UUID删掉。

3.编辑/etc/sysconf/network,把hostname也改一下。

4.重启生效!

//========================================================================================

为什么eth0会变成eth1?

很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中而对于新的虚拟机,VMware会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0的信息,对于这个新的网卡,udev会自动将其命名为eth1(累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth1。

修改Linux网卡由eth1变成eth0

//======================================================================================

上面修改过程中把ifconfig-eth0中的UUID给干掉了....强迫症犯了....生怕出问题....

百度到怎么知道该Linux系统下的网卡的UUID的方法:

详细见博文:

http://www.cnblogs.com/DreamDrive/p/5494961.html

上一篇:Entity FrameWork 增删查改


下一篇:转: html5 history api详解~很好的文章