8

У меня была одна виртуальная машина в моем VirtualBox, и я хотел использовать ее в качестве шаблона / изображения, поэтому я ее клонировал. Затем я одновременно запустил и оригинал, и клон (чтобы смоделировать кластер серверов для чего-то, над чем я работал), однако обоим экземплярам был присвоен один и тот же IP-адрес. Возможно, это ошибка в нашем DHCP, которую, я думаю, VirtualBox использует для получения IP-адресов? Или, может быть, что-то в том, как я настроил свои виртуальные машины? В любом случае, я в конечном итоге заинтересован в решении этой проблемы, чтобы я мог одновременно использовать две виртуальные машины одного и того же образа.

4 ответа4

11

Это называется конфликтом IP-адресов и может вызвать серьезные проблемы в сети.

Вы можете повторно инициализировать MAC-адрес клонированной виртуальной машины; это просто означает генерировать новый случайный. На вашей клонированной виртуальной машине нажмите «Настройки» >> «Сеть»> «Дополнительно», затем нажмите две круглые стрелки, чтобы создать новый MAC. Ваша виртуальная машина должна быть выключена. При загрузке ваш DHCP-сервер должен назначить виртуальной машине другой IP-адрес.

Также, к вашему сведению, когда вы клонировали свою виртуальную машину, вы должны были увидеть флажок со словами "переинициализировать MAC", который бы клонировал виртуальную машину и генерировал новый MAC вместо клонирования.

Если вам интересно, клонирование виртуальной машины часто используется для создания полной резервной копии виртуальной машины, в этом случае вы бы хотели, чтобы MAC и IP были одинаковыми в случае использования резервной копии. В вашем случае клонирования виртуальной машины для создания кластера вам нужно будет повторно инициализировать MAC для каждого клона.

Обновление 1 В ответ на ваши комментарии от 8.10.2013.

Убедитесь, что IP-адрес не установлен статически. Вы упомянули в своем вопросе, что виртуальная машина должна получать свой IP от DHCP. Если это так, то конфигурация должна выглядеть примерно так: Для систем на основе Debian его можно найти в /etc /network /interfaces

auto eth0
iface eth0 inet dhcp

Для систем на базе RedHat сетевая конфигурация находится в /etc /sysconfig /network-scripts /ifcfg-eth0

Ваш второй комментарий упоминал, что eth0 отсутствует. У тебя есть eth1? Поскольку ваш компьютер изменил mac-адреса, ОС сохраняет исходный mac как eth0 и обычно назначает eth1 новому mac. Чтобы сбросить устройства eth *, чтобы у вас был eth0, а не eth1, вам нужно очистить сетевые правила udev.

Возиться с сетью может стать волосатым. Одним из вариантов будет удаление вашей клонированной виртуальной машины, повторное клонирование оригинала и проверка "reinitialize mac". Я не уверен, что это решит вашу проблему, но это возможно.

0

Я сталкивался с такой же ситуацией сегодня. Я использовал адаптер NAT и адаптер Ethernet только для хоста для моей виртуальной машины Solaris. IP-адрес клона изменился, когда я обновил mac-адрес адаптера Host-Only.

0

Пожалуйста, прочитайте о доступных адаптерах в VirtualBox (https://www.virtualbox.org/manual/ch06.html#networkingmodes). Если вам нужно соединение только между виртуальными машинами, то для ваших тестов больше подойдет адаптер внутренней сети. Однако из вашего комментария я понимаю, что вы используете NAT.

Я проверил приведенный ниже сценарий на VirtualBox 5.0.2 на хосте Mint 17.2 и гостях Fedora 21:

Создайте основную виртуальную машину с адаптером NAT по умолчанию. Создайте связанный клон (https://www.virtualbox.org/manual/ch01.html#clone) с переинициализацией MAC. Клонированная и исходная виртуальная машина имеют одинаковые значения в файле:

/etc/sysconfig/network-scripts/ifcfg-enp0s3

тем не мение

ip a

показывает разные MAC-адреса на каждом.

Когда я обновил HWADDR в этом файле в соответствии со значением link/ether из команды ip и изменил UUID на новый, используя

uuidgen

затем, несмотря на тот же IP на этих (enp0s3) интерфейсах на исходных и клонированных виртуальных машинах, внешняя сеть (Интернет) работала хорошо.

-1

Я понимаю вашу боль. Я клонировал свой вм. Создал новый Mac на виртуальной коробке Oracle, загрузил клон, изменил имя хоста и обновил файл сетевых скриптов с новым Mac.

При перезагрузке он все еще использовал тот же ip из dhcp. Интерфейс установлен на Nat.

:(

Дейв

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .