修改CentOS网卡接口eth1改成eth0

在虚拟化中,从模板克隆出来的虚拟机网卡都会被命名为eth1(这是由于克隆得到的虚拟机网卡的MAC地址和原始模板的虚拟机网卡的MAC地址不同),而有些程序或者脚本,涉及到网卡的,默认写的是eth0,这时就存在要将eth1改为eth0的问题,方法如下:

Step-1. 在shell中运行以下命令,修改网络规则文件:

  1. vi /etc/udev/rules.d/70-persistent-net.rules

70-persistent-net.rules中仍然保留了老网卡的配置内容,新网卡则被识别为eth1。将表示老网卡的行注释或删掉,然后将表示新网卡的行中eth1改成eth0。将上述配置文件中的如下内容注释或删除:

  1. # PCI device 0x8086:0x100f (e1000)
  2. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:58:c3:ec", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

注意,00:0c:29:58:c3:ec是原始模板虚拟机的网卡MAC地址,在每个人的虚拟机中都有可能不同。注释行以#符号开始。

将上述配置文件中的如下内容:

  1. # PCI device 0x8086:0x100f (e1000)
  2. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:3d:2b:f0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

替换为:

  1. # PCI device 0x8086:0x100f (e1000)
  2. SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:3d:2b:f0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

注意,其实只是将网卡名eth1改为eth0,此处要将新网卡的MAC地址拷贝出来,后续配置将会用到。此处新网卡的MAC地址为00:50:56:3d:2b:f0,在每个人的虚拟机中都有可能不同。

Step-2. 在shell中运行以下命令,修改网卡配置文件:

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0

将上述配置文件中的如下内容:

  1. HWADDR=00:0C:29:58:C3:EC

替换为:

  1. HWADDR=00:50:56:3d:2b:f0

Step-3. 在shell中运行以下命令,重新启动虚拟机:

  1. reboot

Step-4. 在shell中运行以下命令,验证配置是否成功:

  1. ifconfig

若命令返回输出如下图所示,则表明新网卡配置成功:

本文中的方法适用于CentOS 6.4/5/6/7版本。