虚拟机里创建新主机使用克隆的办法,可以大大节省主机反复安装消耗的时间精力。但克隆出来的主机网卡及配置文件会发生改变,给我们在进行网卡设置时的很多麻烦。题主本文将从Linux里CentOS6发行版克隆的主机网卡重新恢复为我们习惯的形态,这样可以很方便地对网卡进行设置了。
在VMWare中安装CentOS6的过程不再详述。安装设定虚拟机网卡为桥接如下:
此时看下刚安装的CentOS虚拟系统网卡的信息如下:
一是使用dmesg查看网卡信息如下:
ifconfig下看到的也是我们熟悉的“eth0”网卡:
在/etc/sysconfig/network-scripts/目录下也是我们熟悉的网卡配置文件“ifcfg-eth0”
最重要的是,查看ifcfg-eth0中网卡的MAC地址与上述dmesg和ifconfig中看到的MAC地址均一致,网卡编号也均为“eth0”。
我们将这个虚拟机关机,克隆出一台一模一样的机器,如下:
在“克隆虚拟机向导”中选择“下一步”,再“下一步”
后面可选择“创建链接克隆”或“创建完整克隆”。创建链接克隆依赖原虚拟机系统,占用磁盘空间较小;创建完整克隆可以不依赖原虚拟机运行,需要占用完整的虚拟机所需磁盘空间。因两种方式都不影响正常使用,我们选择“创建链接克隆”,然后“下一步”:
虚拟机名称任意,选择一个存放克隆机的文件夹,然后完成:
此时新建的克隆虚拟机配置与原机完全一致,但一些区别只有在开机后才能看出来。现在我们打开克隆完成的虚拟机:
使用dmesg查看网卡信息时,我们注意到网卡信息中多了一行,我们熟悉的eth0已经被renamed成了eth1:
多了个“eth1”!我们再看看另外两条网卡的信息。ifconfig下看到的已经不是我们熟悉的“eth0”网卡,而变成了“eth1”:
在/etc/sysconfig/network-scripts/目录下仍然是我们熟悉的网卡配置文件“ifcfg-eth0”
但查看“ifcfg-eth0”文件中的MAC地址却与上述dmesg命令及ifconfig命令看到的MAC地址不一致。这样,在我们试图使用ifcfg-eth0文件配置本机网卡参数时就碰到了麻烦,想按照自己的想法调整虚拟机的IP地址等参数,无论怎样修改ifcfg-eth0文件都达不到目的。
是什么原因呢?原来VMware在实现克隆时,已经将原虚拟主机的MAC地址进行了修改,以满足任何虚拟主机MAC地址的唯一性。但显然没有按照linux的常规方法将iifcfg-ethX文件进行修改。这时ifcfg-ethX文件在克隆机里并没有起到配置网卡的作用。要重新起用ifcfg-ethX文件的网络配置作用,要将这个文件的MAC地址改为与上述ifconfig显示的MAC一致,再对设备选项作一些修改如下:
首先将ifcfg-ethX文件的MAC地址改为上述ifconfig中显示出的地址,修改文件内容的命令和修改完成后的内容如下(手动将网卡IP地址分配为192.168.1.50):
配置文件修改内容:HWADDR网卡MAC地址,要保证此MAC地址与ifconfig及dmesg命令所显示的MAC地址一致;UUID行删除;BOOTPROTO修改为“none”表示不使用自动分配地址。IP网络参数是新加入以为主机的静态地址。
后面是最关键的一步:修改网卡设备信息。输入以下命令:
前文说到,克隆主机在使用dmesg命令查看网卡时有一行
代表克隆主机已经将eth0网卡renamed为eth1,所以修改上述文件时,将原“NAME="eth0"”这一行删除,将原“NAME="eth1"”改为NAME="eth0",保存退出。重启克隆虚拟主机。此时再看ifconfig网卡配置,已经按照ifcfg-eth0文件中的描述完成了固定IP地址的配置如下:
这样我们便可以自由地使用ifcfg-eth0配置主机的ip地址。
最后,若主机添加第二张甚至第三张网卡后,可以新建一个ifcfg-eth1等文件,再按上述原则修改“70-persistent-net.rules”的内容,重启主机即可完成网卡的修改。