今天在使用 VirtualBox 复制一个 CentOS6.5 虚拟机后,发现复制后的虚拟机网卡的命名不是从 eth0开始。比如之前的虚拟机4个网卡名称是eth0-eth3,但是复制后的虚拟机4个网卡名称是eth4-eth7,而且还跟 VirtualBox 中配置的网卡顺序不一致。其实很早之前就注意到这个问题了,只是没想着解决。今天恰好发现了一个解决方案,记录下来。
- 修改
/etc/udev/rules.d/70-persistent-net.rules
文件,将内容改为如下:
# Map ethernet devices according to kernel enumeration
# this should match the adaptor numbering in the virtualbox console
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth0*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth1*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth2*", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth3*", NAME="eth3"
- 修改
/etc/sysconfig/network-scripts/ifcfg-eth0
文件,去掉 HWADDR= 一行。 - 重启虚拟机。
这时候网卡编号就从 eth0 开始了,并且应该和 VirtualBox 中配置的网卡顺序一致。如果和配置的网卡顺序不一致,那么就删除所有的网卡再添加。
参考 serverfault