[System] CentOS虚拟机系统克隆后的网络配置

VMware Workstation 虚拟机在进行克隆 CentOS 系统之后,在克隆机上配置网卡时,会出现一些细节问题,讨论一二。

一、情景描述

克隆机上默认由 NetworkManager 服务管理网络配置;但是克隆机上显示如下:

[System] CentOS虚拟机系统克隆后的网络配置

在“网络连接”处只有显示“Auto eth1”网络,在右键“设置”里虽然有“System eth0”网络选项,但是没法启动使用;

通过“ifconfig”命令查看当前网卡状态如下:

[root@CentOS-NameNode ~]# ifconfig
eth1 Link encap:Ethernet HWaddr :0C::::C4
inet addr:192.168.1.110 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe62:51c4/ Scope:Link
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (26.9 KiB) TX bytes: (9.5 KiB)
Interrupt: Base address:0x2000 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::/ Scope:Host
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (480.0 b) TX bytes: (480.0 b)

控制台显示

并不识别 System eth0 的网卡驱动;但是我们去目录“/etc/sysconfig/network-scripts/”目录下却能找到“ifcfg-eth0”的网络配置文件;

于是我们编辑该配置文件“vim /etc/sysconfig/network-scripts/ifcfg-eth0”,内容如下:

[System] CentOS虚拟机系统克隆后的网络配置

检查内容并无错误,IP不与其他冲突,默认网关和 DNS 都正确,但是当运行“service network restart”命令重启network服务,打算启用eth0网卡驱动时,出现如下错误:

[System] CentOS虚拟机系统克隆后的网络配置

二、原因及解决方案如下:

由于克隆虚拟机,WMware 只是修改了虚拟机的名字等信息,并没有修改虚拟硬盘中的任何信息,导致克隆后网卡的 MAC 地址和操作系统中记录的 MAC 地址不符,导致 eth0 无法启动起来,所以只需要把配置中的“HWADDR”值改为当前克隆机的MAC地址即可。

编辑当前的网络连接“Auto eth1”,即可查看该克隆机的MAC地址

[System] CentOS虚拟机系统克隆后的网络配置

覆盖“ifcfg-eth0”文件中 HWADDR 值后,运行“service network restart”重启网卡驱动服务

结果如下图所示:

[System] CentOS虚拟机系统克隆后的网络配置

以上操作就可以已经解决问题了,下面是增加的内容:

1:如果不想让“NetworkManager”服务管理的“Auto eth1”网卡也启动,或者不想用 NetworkManager 服务,则可以用如下命令:

service NetworkManager stop    //关闭服务
chkconfig NetworkManager off //禁止该服务开机启动

2:编辑文件“vim /etc/udev/rules.d/70-persistent-net.rules”,如下图

[System] CentOS虚拟机系统克隆后的网络配置

其中 eth0 对应的 Mac 地址即为克隆来源机的 MAC 地址;eth1 即为网卡“Auto eth1”对应的 MAC 地址,也就是本克隆机的 MAC 地址。

应做如下修改,删除 eth0 相关信息,然后把 eth1 改为 eth0;然后再编辑 ifcfg-eth0 文件,把其中的 HWADDR的MAC 值换为修改后的 eth0 的 MAC 地址。

上一篇:.net core + headless chrome实现动态网页爬虫


下一篇:黑客编程教程(二)Win API编程简介