Меню Закрыть

Virtualbox настройка сети между виртуальными машинами

Содержание


Правильная настройка сети в виртуальной машине VirtualBox позволяет связать хостовую операционную систему с гостевой для наилучшего взаимодействия последних.

В данной статье настроим сеть на виртуальной машине под управлением Windows 7.

Настройка VirtualBox начинается с установки глобальных параметров.

Перейдем в меню «Файл – Настройки».

Затем откроем вкладку «Сеть» и «Виртуальные сети хоста». Здесь выбираем адаптер и нажимаем кнопку настройки.

Сперва устанавливаем значения IPv4 адреса и соответствующей маски сети (см. скриншот выше).

После этого переходим на следующую вкладку и активируем DHCP сервер (вне зависимости от того, статический или динамический вам присвоен IP-адрес).

Следует задавать значение адреса сервера, соответствующее адресам физических адаптеров. Значения «Границ» обязаны охватывать все использующиеся в ОС адреса.

Теперь о настройках ВМ. Заходим в «Настройки», раздел «Сеть».

В качестве типа подключения устанавливаем подходящий вариант. Рассмотрим эти варианты подробнее.

1. Если адаптер «Не подключен», VB сообщит пользоваелю о том, что он имеется, однако подключения нет (можно сравнить с тем случаем, когда Ethernet-кабель не подключен в порт). Выбор этого параметра может симулировать отсутствие подключения кабеля к виртуальной сетевой карте. Таким образом, можно информировать гостевую операционную систему о том, что соединения с интернетом нет, однако его можно настроить.

2. При выборе режима «NAT» гостевая ОС сможет выходить в интернет; в этом режиме происходит перенаправление пакетов. Если необходимо из гостевой системы открывать веб-страницы, читать почту и скачивать контент, то это подходящий вариант.

3. Параметр «Сетевой мост» позволяет осуществлять больше действий в интернете. К примеру, сюда входит моделирование сетей и активных серверов в виртуальной системе. При выборе этого режима VB осуществит подключение к одной из доступных сетевых карт и начнет прямую работу с пакетами. Сетевой стек хост-системы не будет задействован.

4. Режим «Внутренняя сеть» применяется для организации виртуальной сети, к которой можно получить доступ из ВМ. Эта сеть не имеет отношения к программам, запущенным на главной системе, или сетевому оборудованию.

5. Параметр «Виртуальный адаптер хоста» используется для организации сетей из главной ОС и нескольких ВМ без задействования реального сетевого интерфейса основной ОС. В главной ОС организуется виртуальный интерфейс, посредством которого устанавливается подключение между ней и ВМ.

6. Реже остальных используется «Универсальный драйвер». Здесь пользователь обретает возможность выбрать драйвер, входящий в VB либо в расширения.

Выберем Сетевой мост и назначим для него адаптер.

После этого осуществим запуск ВМ, откроем сетевые подключения и зайдем в «Свойства».



Следует выбрать протокол интернета TCP/IPv4. Жмем «Свойства».

Теперь нужно прописать параметры IP-адреса и т.д. Адрес реального адаптера выставляем в качестве шлюза, а в качестве IP-адреса может быть значение, следующее за адресом шлюза.

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

Настройка Сетевого моста завершена, и теперь можно выходить в интернет и взаимодействовать с хостовой машиной.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Тип подключения сети VirtualBox: что они означают, и чем отличаются друг от друга?

VirtualBox (она же VB) в своих сетевых настройках очень гибка. Причём некоторые изменения в настройках виртуальной машины можно проводить на лету. Однако перед созданием виртуальной системы лучше сразу разобраться что означают настройки в разделе Тип подключения сети. Какой выбрать в зависимости от поставленной цели, и что ожидает пользователя с такими настройками? Virtual Box при этом, напомню, позволяет менять тип подключения сети, что называется, “на лету” – т.е. прямо во время работы гостевой машины.

Для быстрого ознакомления можно представить и держать в голове вот такую простую табличку – какая какую видит, и какое соединение будет недоступно:

Читайте также:  Бателфилд 3 характеристики игры

Продолжая поблочное отображение типа сетей, можно представить предлагаемые схемы в нижеследующих вариантах. Выбор каждой из схем ложится на пользователя, но практическое применение и настройка (в т.ч. DHCP) будут рассматриваться в контексте отдельных примеров/статей.

Тип подключения сети VirtualBox: что мы имеем?

VirtualBox делает возможным настройку отдельного NAT-роутера в сетевом интерфейсе внутри гостевой машины. Каждая из гостевых ОС получает собственный виртуальный роутер и с остальными гостевыми машинами взаимодействовать не может. Запросы по протоколу DHCP отзываются с IP гостевой машины и адреса NAT роутера в виде межсетевого шлюза. Сам сервер DHCP может быть настроен через интерфейс командной строки (без графического интерфейса). Сам роутер NAT использует интерфейс сети хозяйской ОС, никаких особых сетевых интерфейсов создавать не нужно. “Снаружи” или из внешнего интернета/сети виден только интерфейс Хозяйки. Принцип работы сводится к следующему:

  • роутер NAT открывает определённый порт в интерфейсе хозяйской ОС
  • внутренний адрес переводится в адрес Хозяйки: запрос на требуемый IP адрес считается совершённым;
  • после запроса ответ пробрасывается к гостевой ОС; при этом таблица проброса от внешнего порта к внутреннему IP адресу хранится в памяти роутера. При этом возможен ручной проброс на какой-то конкретный порт гостевой ОС.

Такой тип подключения сети VirtualBox просто использовать, настройки минимальны. При этом настройки по большей части изолированы: каждая из гостевых ОС имеет свой собственный “роутер”, роль которого играет сетевой движок VB. Гостевая ОС сразу получает выход в интернет. Возможно присвоение фиксированного IP адреса. Но некоторые характеристики соединения могут нам не подойти. Так, гостевые ОС между собой не контактируют, у них один и тот же адрес. Виртуальный роутер поддаётся настройкам из консоли, что требует определённых навыков. А доступ к гостевой машине из хозяйской требует проброса портов и иногда редакции файла hosts, если требуется указать особые веб-интерфейсы.

Сеть NAT

Этот тип подключения сети VirtualBox означает, что VB может организовать виртуальный изолированный NAT роутер на сетевом интерфейсе внутри гостевой машины. Каждая гостевая ОС при этом получает собственный виртуальный роутер, но с другими гостевыми контактировать не сможет. DHCP-запросы на интерфейс получают ответ от IP адреса гостевой машины и адреса роутера NAT в качестве шлюза. Сервер DHCP также настраивается без GUI. NAT роутер использует при этом сетевой интерфейс хозяйской ОС.

Никаких особых сетевых интерфейсов создавать здесь нет необходимости; при этом роутер NAT открывает любые порты в интерфейсе хозяйской системы. Далее внутренний адрес переводится в IP адрес хоста. Таким образом, запрос на требуемый IP завершается. Возможна картография портов с целью разрешить попасть на нужный порт гостевой машины через некий порт “хозяйки”. Т.е для доступа к гостевой ОС необходим проброс портов с хозяйской. При этом может потребоваться редактирование hosts файла “хозяйки”.

Отсюда, к особенностям NAT стоит отнести простоту настройки с выходом в интернет, изолированность благодаря “отдельному” роутеру. NAT позволяет закреплять за каждой гостевой ОС фиксированный IP-адрес. При этом “гости” друг друга не видят, а сервер DHCP также настраивается только из командной строки.

Сетевой мост

В этом случае гостевая машина будет использовать интерфейс хозяйской. В интерфейсе хоста появляется сетевой фильтр в виде специального драйвера, который позволяет VirtualBox отправлять данные в сторону “гостевой”. Такой режим работы позволяет сетевому адаптеру использовать множественные mac-адреса. Однако большинство беспроводных модулей такой неразборчивый (смешанный) режим работы адаптера не поддерживает физически. И тогда VB подменяет mac-адрес пакетов, которые адаптеру точно видны. При этом используется внешний сервер DHCP, виртуальный DHCP здесь не требуется. Гостевая машина в таком режиме доступна из сети, к которой присоединилась хозяйская ОС: у них единый доступ. Хозяйка контактирует с гостевыми машинами по IP, и те видят хост на такой же манер. Гостевые ОС также могут переговариваться друг с другом. Но этот же факт делает невозможным создание изолированных внутри хозяйки сетей (на основе гостевых машин). Более того, такой тип сетевого соединения капризен в работе, а о безопасном сёрфинге по интернету говорить не приходится.

Читайте также:  Что лучше флешка или внешний жесткий диск

Внутренняя сеть

В VirtualBox возможно настроить сетевой интерфейс внутри гостевой машины. Так как куча гостевых машин делят между собой этот единственный интерфейс, они соединяются на манер коммутатора (свитча) и способны между собой общаться. Характеристиками такой сети являются быстрая настройка, возможность гостевых систем общаться между собой. При этом доступа из хозяйской ни в одну гостевую не будет. Равно как и никакая из гостевых машин не увидит хозяйскую ОС. Кроме того, гостевая система в интернет не выйдет. Сервер DHCP внутренней сети опять же нельзя настроить с помощью графического интерфейса – только командами из консоли.

Виртуальный адаптер хоста

Виртуальный адаптер хоста – это такой тип сетевого соединения VirtualBox, когда VB создаёт хозяйский интерфейс, который может быть разделён между гостевыми машинами. Гости могут между собой разговаривать, при этом можно использовать отдельные гостевые сети. Фиксация IP адреса для каждой гостевой машины также возможна. Запросы по протоколу DHCP получают ответы с IP адреса гостевой ОС виртуального адаптера. Здесь DHCP-сервер можно настроить, используя интерфейс VirtualBox GUI. Однако для доступа из хозяйской ОС в гостевую необходим проброс портов, а также возможно придётся прибегнуть к редактированию hosts-файла хозяйки. И выхода в интернет из гостевой ОС также не будет.

Универсальный драйвер

Этот тип подключения сети VirtualBox стоит особняком, “Window”-возы им пользуются отчасти. Смысл этого типа сетевого подключения – совместная работа разных гостевых машин на разных хозяйских ОС. Единственный вариант виртуальной сети, где без дополнительных свитчей и кабелей часто не обойтись. В составе Oracle VB эта сетевая настройка идёт лишь опционально. Для указанного режима существуют две настройки, которые имеют разный акцент:

  • UDP-туннель
  • Децентрализованная виртуальная сеть Ethernet (она же VDE-сеть)

Туннеллирование позволяет создавать виртуальную сеть между гостевыми ОС, которые находятся на различных хозяйских машинах. Технически это реализуется в виде выделения сетевых блоков данных (пересылаемых или получаемых гостевой машиной) в самостоятельный, выделенный модуль UDP-пакетов. Такие пакеты способны “гулять” по любой сети, на которую настроена хозяйская машина. Режим UDP туннеля имеет такие характеристики как

  • адресный UDP-порт (порт слушается “хозяйкой” и принимает данные со всех адресов, пересылая на сетевую карту гостевой машины)
  • IP адрес назначения хозяйской ОС
  • принимающий UDP порт

При этом гостевые ОС, сидящих на разных “хозяйках”, обмениваются IP адресами в прямом смысле этого слова. Если же хост один, это происходит с номерами UDP-портов.

VDE-сеть доступна только на ОС Linux и FreeBSD. Требует подключения специальных библиотек на хозяйской машине, по умолчанию VirtualBox идёт без них. Суть схемы – работа гостевых ОС, сидящих на разных хостах в защищённом режиме благодаря эмуляции интернета, дополнительной виртуализации VLAN, специальных связующих сетевых протоколов. В этой части настроек я, честно говоря, уже плаваю (на практике его использовать никогда не приходилось), и подробнее, чем эта Wiki-справка, мануала не обнаружил.

Настройка локальной сети между компьютером и виртуальной машиной virtualbox является довольно легкой, просто нужно знать некоторые ньюансы, о которых я и расскажу в этой статье.

Первый шаг — настройка сети в virtualbox. Виртуальная машина должна быть выключена. Идем в «Настройки -> Сеть», выбираем неиспользуемый адаптер, включаем его и выбираем тип подключения — «виртуальный адаптер хоста»:

Читайте также:  Чем проверить жесткий диск на вирусы

Далее загружаем виртуальную машину и проверяем сеть.

В windows сеть можно проверить командой «ipconfig»:

На ОС Linux из терминала сеть можно проверить так:

В ответ вы должны увидеть работающие сетевые интерфейсы:

По ip можно догадаться, какой интерфейс отвечает за организацию локальной сети между компьютером и виртуальной машиной, по умолчанию (если вы сами не настраивали ip в virtualbox) такой ip должен выглядеть так: 192.168.56.* (вместо * обычно бывает 101 или 102 и т. д.).

Этот ip и нужно использовать для доступа к виртуальной машине.

По умолчанию ip выдается dhcp сервером virtualbox. Для удобства можно задать статический ip адрес в самой виртуальной машине. Например в windows это делается редактированием свойств сети. В интерфейсе linux все аналогично, а вот как это сделать в терминале, без графической оболочки, будет показано ниже, на примере добавления нового сетевого интерфейса в ubuntu server.

В linux бывает, что интерфейс локальной сети между компьютером и виртуальной машиной по умолчанию не задействован, и как следствие, отсутствует локальная сеть. В этом случае необходимо поднять интерфейс локальной сети между компьютером и виртуальной машиной вручную. Далее будет описан процесс задействования сетевого интерфейса в ubuntu server.

Сначала нужно найти название сетевого интерфейса, который нам нужен. В терминале набираем:

В результате вы получите список всех сетевых интерфейсов.

Находим нужный интерфейс, он чаще всего последний. Возможно скорее всего это либо eth1 (для ubuntu server 14.04), либо enp0s8 (для ubuntu server 16.04), все зависит от количества подключенных сетевых адаптеров к виртуальной машине.

Далее редактируем файл /etc/network/interfaces

Файл /etc/network/interfaces для ubuntu server 14.04:

В конец файла добавляем строку (для ip, задаваемого динамически):

Для статического ip:

Вместо eth1 может быть другое название интерфейса, в зависимости от вашей конфигурации.

После этого нужно перезагрузить виртуальную машину и снова набрать команду:

В списке должен появиться интерфейс eth1, или тот, который прописали вы.

Настройка файла /etc/network/interfaces для ubuntu server 16.04:

Здесь интерфейс называется enp0s3 вместо eth0. Согласно данным, полученным командой «ip a», в моем случае в конец файла нужно добавить:

После внесения изменений так же необходимо перезапустить виртуальную машину, либо можно перезапустить только службу networking:

На ubuntu server 14.04 у меня она не всегда перезапускается, просто продолжает работать, с ubuntu 16.04 в этом плане все впорядке, но для полной уверенности я считаю что лучше все таки перезапустить виртуальную машину.

После перезапуска машины и набора в терминале команды ifconfig в полученном списке сетевых интерфейсов должен появится интерфейс enp0s8.

Что делать, если сетевой интерфейс так и не заработал?

Тут два основных варианта: либо вы указали неправильный интерфейс в файле /etc/network/interfaces — в таком случае еще раз внимательно посмотрите список всех доступных сетевых интерфейсов командой «ip a» и выберите нужный. Либо виртуальная ОС вообще не видит сетевой адаптер. В этом случае скорее всего в ОС нет подходящих драйверов для этого адаптера. Эту проблему можно решить сменой типа адаптера, например на «паравиртуальная сеть (virtio-net)»:

Можете поэксперементировать с типом адаптера для достижения нужного результата.

ssh-доступ к виртуальной машине в virtualbox

После успешной настройки локальной сети между компьютером и виртуальной машиной можно к ней подключиться, например по ssh. Для этого набираем ip адрес, про который я писал вначале статьи, в ssh клиенте и радуемся успешному подключению)

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.