如何修复克隆虚拟机中损坏的网络?

如何修复克隆虚拟机中损坏的网络?

我已经设置了一个虚拟机,配置如下桥接网络。克隆了8个之后,新机器就连不上网络了。

我已指示 VirtualBox 重新生成机器的 MAC 地址。

答案1

udev一些规则阻止新接口的出现。

在主机器上,克隆新机器之前只需删除它们:

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules

来源

答案2

使用 Virtual Box 机器设置刷新您的 MAC 地址并删除内核的网络接口规则文件,以便可以重新生成它:

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules
sudo reboot

它将适用于您的克隆虚拟机。

答案3

几个月来我一直在处理同样的问题,今天我决定找到一个更好的解决方案。以下是我在用作模板的机器上所做的操作。

为了良好的管理实践,请在编辑之前备份这两个文件。

您有两个违规/目标文件:

  1. /etc/sysconfig/network-scripts/ifcfg-eth0
  2. /etc/udev/rules.d/70-persistent-net.rules

这将适用于staticdhcp地址:

打开/etc/sysconfig/network-scripts/ifcfg-eth0

删除 MAC 地址行: HWADDR=XX:11:22:XX:33:XX
保存文件。

删除文件/etc/udev/rules.d/70-persistent-net.rules“重新启动虚拟机后它将被重新创建”

sudo rm -f /etc/udev/rules.d/70-persistent-net.rules

您现在可以克隆您的盒子并且每个克隆都将正确部署并显示eth0。

如果您不使用模板,您可以在实际的虚拟机上完成这些过程,只需记住在重新启动机器之前在虚拟机软件中重新初始化 NIC。

答案4

我正在构建并行计算环境,需要虚拟机之间通过ip网络进行互连。

我认为这与重新生成机器的 mac 地址有关。我以前也遇到过类似的问题。

原始虚拟机具有eth0eth1。但由于再生过程,在我的情况下,新克隆的机器具有eth2eth3。您可以通过以下命令进行检查:

ifconfig -a | grep eth

您可以使用ifconfig命令检查在新克隆的机器中是否只注册了。通常,当您输入命令时lo,应该有loeth0和。eth1ifconfig

这是由于 MAC 再生导致克隆机器中有eth2eth3以太网接口,而原始机器中有eth0eth1。您还可以检查/etc/network/interfaces原始机器中的,在我的情况下,它将显示如下:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static

address 192.168.xxx.xxx
netmask 255.xxx.xxx.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 10.0.x.xx

也许您可以修改/etc/network/interfaces文件并将 和 更改eth0eth1eth2eth3大致如下所示:

auto lo
iface lo inet loopback

auto eth2
iface eth2 inet dhcp

auto eth3
iface eth3 inet static

address 192.168.xxx.xxx
netmask 255.xxx.xxx.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 10.0.x.xx

所以,祝大家好运!

相关内容