我在 VMware Fusion(适用于 Mac)和 VMware ESXi/vSphere 上都遇到了以下问题。你们中的许多人都熟悉这个问题,它在 VMware KB 中有描述:“克隆的 Linux 虚拟机中网络连接不正常 (2002767)“”。
- 创建一个 CentOS VM。
- 这是一台基本版虚拟机,包含最少的软件和正常运行的网络堆栈。我们的想法是,采用最小虚拟机,克隆它,然后添加更多软件。
- 克隆该虚拟机
- VMware Fusion 或 vCenter 将为克隆的 VM 上的网络接口分配一个新的 MAC 地址。
- Linux 不知道这个新的 MAC 地址,因此网络无法正常工作。该文件
/etc/sysconfig/network-scripts/ifcfg-ethN
包含第一台机器上接口的 MAC 地址。 - 为了解决这个问题,我需要找到新虚拟机的 MAC 地址,编辑
ifcfg-ethN
并将此 MAC 添加到HWADDR=
字段中。我不能简单地将 MAC 剪切并粘贴到字段中,因此这是一个容易出错的任务,尤其是当我忘记带笔和纸来记下 MAC 时。 - (加分项)在新虚拟机上,eth0、eth1 等通常显示顺序错误。修复此问题需要神秘的舞蹈
/etc/udev/rules.d
我可以这样做,但是当我只是想启动一个新的虚拟机来测试某些东西时,它很容易出错并且有点麻烦。
有没有办法简化这个手动过程?当你克隆一台新机器时,你如何修复 MAC 地址问题?
答案1
由于设备持久性只是妨碍这些虚拟机,因此将其删除:
- 从文件中完全删除
HWADDR
和行,然后UUID
ifcfg
/etc/udev/rules.d/70-persistent-net.rules
克隆前删除
这应该让具有新 MAC 地址的 eth0ifcfg-eth0
在初始启动时实际使用。