Как сделать сеть между виртуальными машинами в VirtualBox?


92

У меня есть две виртуальные машины в VirtualBox. Я хотел бы установить связь между ними. На данный момент у меня есть конфигурация по умолчанию на обоих, но они, похоже, имеют одинаковый IP-адрес 10.0.2.15. Я также хотел бы иметь возможность использовать Интернет с обоими, и это возможно сейчас.

По умолчанию сетевым параметром является NAT, но кажется, что они не могут работать внутри сети, поскольку имеют одинаковый IP-адрес. Но если я перехожу на, internal networkingя думаю, что я не могу получить доступ к Интернету с виртуальными машинами.

Как я могу настроить сеть между виртуальным гостем и иметь доступ к Интернету на них?

Ответы:


57

Вы пробовали это руководство по виртуальным сетям ?

Виртуальная машина получает свой сетевой адрес и конфигурацию в частной сети от сервера DHCP, встроенного в VirtualBox. Таким образом, IP-адрес, назначенный виртуальной машине, обычно находится в сети, отличной от хоста. Поскольку более одной карты виртуальной машины можно настроить для использования NAT, первая карта подключается к частной сети 10.0.2.0, вторая карта к сети 10.0.3.0 и так далее.

Я думаю, что вы ищете " Внутренние сети ", соединяющие внутренние виртуальные машины друг с другом.

Вы можете использовать диалоговое окно «Настройки» виртуальной машины в графическом пользовательском интерфейсе VirtualBox. В категории «Сеть» диалогового окна настроек выберите «Внутренняя сеть» из выпадающего списка режимов сети. Теперь выберите имя существующей внутренней сети из выпадающего списка ниже или введите новое имя в поле ввода.


1
Спасибо, все верно. Внутренняя сеть работает, но не поставляется с DHCP, поэтому я попробовал решение Bridged, и это прекрасно работает. Благодарю.
Джонас


3
@Joe Internet с вашей ссылкой все в порядке, но я понял ее только после прочтения blog.techprognosis.com/2011/02/28/… . Тем не менее, я получил внутреннюю сеть работает. Я не смог выбрать режим «только для хоста» или «мост», потому что отсутствуют подходящие адаптеры.
bernd_k

1
Ссылка в предыдущем комментарии у меня не сработала, похоже, она правильная: blog.techprognosis.com/how-to-enable-dhcp-in-virtualbox-4
Никола Мусатти,

Это не сработало для меня, пока я не установил статический IP.
VaTo

31

Я нашел следующее решение для моей среды:

  • первый адаптер с внутренней сетью для доступа к другой виртуальной машине
  • второй адаптер с NAT для доступа в интернет.

Эти настройки могут быть выполнены с помощью графического интерфейса Oracle VM VirtualBox Manager. Изначально у меня была та же проблема, что и у Йонаса, я пропустил DHCP. Наконец я нашел эту статью (архивная копия, оригинальная ссылка не работает) и использовал:

VBoxManage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable

из командной строки. После этого все работало нормально.

Я осмелюсь сказать, что руководство является плохим ресурсом, так как большая часть конфигурации VirtualBox на хосте Windows может быть выполнена с помощью графического интерфейса, и это серьезное неудобство, что нельзя настроить DHCP с графическим интерфейсом.

Моя среда: я использую портативный VirtualBox 4.1.2r73507 в 64-битной Windows 7. В настоящее время режим только хоста и мостового режима не работает, поскольку отсутствует адаптер только для хоста. У меня проблема, аналогичная описанной в немецком вопросе на форуме Virtual Box , у меня нет адаптера только для хоста.


У меня уже есть intnet dhcpserver, который каким-то образом появился по умолчанию при установке virtualbox 4.3.x, но он не подключается к Интернету, когда я использую nat с этим.
Позор

11

Так я подключаю гостей vbox только в режиме NAT (проверено на VirtualBox 4.2.4).

Просто используйте IP-адрес шлюза для перехода от одного гостя к хосту. Затем используйте переадресацию портов для «прокси» трафика хоста к другому гостю.

Например, если гость А хочет связаться со службой гостевого В, которая прослушивает порт 1000, А должен использовать IP-адрес шлюза (для первого интерфейса NAT это 10.0.2.2). Затем вам нужно настроить переадресацию портов на гостевой B так, чтобы весь трафик, полученный хостом на порту 1000, направлялся на гостевой B на порту 1000.

Это может не сработать для каждого сервиса, но, похоже, работает хорошо для ssh, salt, ...

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


1
Это работало безупречно для моего варианта использования (тестирование ie8 на гостевой системе xp, подключающейся к серверу в гостевой системе linux).
Тед

+1 за простоту и простоту!
Эмре Севинч

9

Вам нужен тип локальной сети с хост-соединением (что-то подобное в английской версии) на гостевых машинах и мостовое соединение на вашей хост-машине.


3

(ответ на вопрос от bernd_k)

Для обмена файлами между хостом и гостями на самом деле делятся каталогами, а не файлами.

Если сетевой режим является мостовым или NAT, то хост и гости являются равными сетевыми партнерами. Хотя вся установка содержится в одном хосте, в сети они все равны в сети, как если бы они были физическими машинами. (NAT иногда более проблематичен в использовании, чем мостовой.)

Таким образом, любая общая папка на любом компьютере, виртуальном или физическом, доступна всем. Поскольку не все виртуальные машины могут быть включены постоянно, имеет смысл настроить одну папку хоста в качестве общей папки. Затем хост разделяет папку, а виртуальные машины используют ее как есть или как подключенный диск.

В следующей статье подробно объясняется, как открыть общий доступ к папкам в Windows.
Как открыть общий доступ к папкам в Windows 7 с помощью мастера общих папок?


2
Ваши подсказки полезны на более позднем этапе, но перед совместным использованием файлов или папок вы должны иметь возможность пропинговать другой компьютер.
bernd_k

2

У меня есть две сетевые карты на моем компьютере Oracle VM XP

1-й мост с быстрым IP-адресом, поскольку я использую его в качестве клиента с сетевой конфигурацией сервера. Изменен шлюз по умолчанию на тот же, что и у сетевой карты два (Nat 2nd)

2-й Nat С получения IP-адреса от Oracle VM

работает отлично!


2

Я сделал следующие шаги, и это наконец-то сработало у меня (на CentOS VB):

  • Используйте NAT для основного сетевого адаптера (Настройки -> Сеть -> Адаптер1 "подключен к NAT").
  • Добавьте другой адаптер («Настройки» -> «Сеть» -> «Включить адаптер 2», подключенный к адаптеру только для хоста ») -> установите« Разнородный режим »на« Разрешить все ».
  • Запустите VB.
  • Добавьте другой сетевой интерфейс (cp / etc / sysconfig / network-scripts / ifcfg-eth0 / etc / sysconfig / network-scripts / ifcfg-eth1).
  • Измените MAC-адрес для eth1 в соответствии с тем, который отображается в Adapter2 ((Настройки -> Сеть ->).
  • Перезагрузите сеть "Служба перезагрузки сети"

Тогда этот VB должен получить доступ к Интернету и может быть доступен из других (VB и локального компьютера).

Примечание:

Адаптер NAT будет использоваться для доступа в Интернет, в то время как адаптер Host-Only будет использоваться для сетевого доступа между любыми другими VB и локальным компьютером.


0

Я не знаю, сработает ли это, но моя идея такова:

  1. Измените IP на diff номер только в одной виртуальной машине (в режиме NAT).

  2. Измените другую виртуальную машину на Bridged.

  3. Установите настройки в обеих системах, чтобы машины находили друг друга. Перезапустите все.

Если 1 + 3 или 1 + 2 + 3 не работают, попробуйте следующее: Создайте общую папку на хост-компьютере и поделитесь этой папкой с двумя виртуальными машинами в настройках virtualbox. Перезагрузка и вуаля?

Я знаю, что второй вариант - это обходной путь.


0

Измените сеть, подключенную к мостовому адаптеру, в разделе «Настройки».

Это оно; К нему можно подключить два виртуальных ПК.

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