Две виртуальные машины VirtualBox, работающие параллельно, имеют один и тот же IP-адрес

9

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

amphibient
источник
В VMWare, если вы запустили ранее использованную виртуальную машину по другому пути, она спросила, скопировали ли вы ее или перенесли виртуальную машину, чтобы избежать таких ситуаций ... Как вы клонировали виртуальную машину?
ppeterka
я боюсь, что это не ситуация здесь ...
амфибия
1
Возможно, вы скопировали аппарат с MAC-адресом (Ethernet). Это одно из различий между копированием и перемещением в VMware, как упомянуто ppeterka. Не могли бы вы проверить адреса? Не могли бы вы также описать, как именно вы клонировали машину?
Пабук
да, когда я побежал ifconfig -a, он показал одинаковый MAC-адрес для обоих (отображается как HWaddr)
амфибия
но то, как я его клонировал, было в пользовательском интерфейсе, просто щелкнул правой кнопкой мыши на виртуальной Clone
машине

Ответы:

12

Это называется конфликтом 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». Я не уверен, что это решит вашу проблему, но может.

tbenz9
источник
4
Я сделал это и перезапустил обе виртуальные машины, но им все еще был присвоен один и тот же IP :(
амфибия
у клона нет, eth0когда я бегуifconfig
амфибия
Я обновил свой ответ для решения проблем, о которых вы написали в комментариях.
tbenz9
@amphibient, я заново создал вашу проблему и смог легко решить ее, удалив все из файла /etc/udev/rules.d/70-persistent-net.rules и перезагрузившись. Удачи!
tbenz9
1

Я получил те же IP- 10.0.2.15виртуальные машины, когда клонировал Ubuntu на Mac.
Чтобы решить эту проблему, я сначала отключил виртуальные машины.
Затем для каждой виртуальной машины
я выбираю настройки, затем нажимаю вкладку «Сеть», затем меняю привязанный к: Bridged Adapter
затем я нажимаю «Дополнительно», выбираю «Разрешить все для случайного режима»,
наконец обновляю MAC-адрес, чтобы изменить MAC-адрес. Нажмите ОК.
Теперь запустите виртуальные машины, и вы получите разные IP-адреса.
Я получил 192.168.0.14за первое и 192.168.0.15за второе. Они также были доступны для хоста Mac.

введите описание изображения здесь

Миан Асбат Ахмад
источник
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) интерфейсах на исходных и клонированных виртуальных машинах, внешняя сеть (Интернет) работала хорошо.

edwardo
источник
0

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

Xbox
источник
-1

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

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

:(

Дейв

Дэвид Сайвс-Резерфорд
источник
1
Добрый и дружелюбный, но не ответ на вопрос.
Алекс Роше