У меня была одна виртуальная машина в моем VirtualBox, и я хотел использовать ее в качестве шаблона / изображения, поэтому я ее клонировал. Затем я одновременно запустил и оригинал, и клон (чтобы смоделировать кластер серверов для чего-то, над чем я работал), однако обоим экземплярам был присвоен один и тот же IP-адрес. Возможно, это ошибка в нашем DHCP, которую, я думаю, VirtualBox использует для получения IP-адресов? Или, может быть, что-то в том, как я настроил свои виртуальные машины? В любом случае, я в конечном итоге заинтересован в решении этой проблемы, чтобы я мог одновременно использовать две виртуальные машины одного и того же образа.
4 ответа
Это называется конфликтом 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". Я не уверен, что это решит вашу проблему, но это возможно.
Я сталкивался с такой же ситуацией сегодня. Я использовал адаптер NAT и адаптер Ethernet только для хоста для моей виртуальной машины Solaris. IP-адрес клона изменился, когда я обновил mac-адрес адаптера Host-Only.
Пожалуйста, прочитайте о доступных адаптерах в 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) интерфейсах на исходных и клонированных виртуальных машинах, внешняя сеть (Интернет) работала хорошо.
Я понимаю вашу боль. Я клонировал свой вм. Создал новый Mac на виртуальной коробке Oracle, загрузил клон, изменил имя хоста и обновил файл сетевых скриптов с новым Mac.
При перезагрузке он все еще использовал тот же ip из dhcp. Интерфейс установлен на Nat.
:(
Дейв