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


9

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


В 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». Я не уверен, что это решит вашу проблему, но может.


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


0

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


-1

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

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

:(

Дейв


1
Добрый и дружелюбный, но не ответ на вопрос.
— Алекс Роше
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.