Содержание
Виртуальные машины VirtualBox очень часто используются для тестирования различного программного обеспечения и его взаимодействия между собой. Обычно, таким программам необходим доступ к интернету. Время от времени возникает необходимость протестировать работу программ по сети или даже создать небольшую тестовую лабораторию из виртуальных машин.
В этой инструкции мы рассмотрим как выполняется настройка сети VirtualBox различными способами. Вы узнаете как объединить машины в одну локальную сеть, как дать им доступ к интернету и как связать их с основной системой. Но сначала поговорим о том, как может работать сеть.
Виды сетевых адаптеров VirtualBox
Существует несколько способов как настроить сеть в virtualbox, и каждый из них подходит для лучше для решения одной задачи и меньше для другой. Рассмотрим основные:
- NAT — этот способ используется по умолчанию. Для каждой машины создается отдельная внутренняя локальная сеть, в которой машина получает ip 10.10.0.1. Машина может связаться с интернетом, используя технологию NAT, и вы можете обратиться к машине, используя проброс портов VirtualBox, но если у вас будет две виртуальные машины, то вы уже не сможете между ними так взаимодействовать. И если из основной системы к гостевой можно обратиться, то к основной ни гостевой уже никак не получится;
- Виртуальный адаптер хоста — создается виртуальный сетевой адаптер, к которому можно подключить несколько виртуальных машин, тем самым объединив их в локальную сеть. Доступа к интернету нет, но зато машины находятся в одной сети и каждая имеет свой ip адрес, теперь они могут взаимодействовать между собой. Основная система тоже доступна по ip 192.168.56.1. Машины доступны не только между собой, но и из основной системы;
- Сетевой мост — при таком подключении виртуальная машина становится полноценным членом локальной сети, к которой подключена основная система. Машина использует сетевой интерфейс чтобы получить адрес у роутера и становится доступна для других устройств, как и основной компьютер по своему ip адресу.
- Внутренняя сеть — почти то же самое, что и виртуальный адаптер хоста, только без возможности доступа к виртуальной сети из основной системы, доступа к интернету нет.
- Универсальный драйвер — позволяет использовать драйвер из расширений VirtualBox для связи между машинами, расположенными на разных физических хостах.
Теперь рассмотрим каждый вариант настройки более подробно.
Настройка сети Virtualbox
1. Настройка сети NAT
Здесь почти нет о чем говорить. Получение доступа к сети через NAT включено по умолчанию. Проброс портов я рассматривал в отдельной статье. Но если вы раньше отключали сетевые адаптеры, то чтобы включить NAT обратно достаточно открыть настройки нужной машины:
Перейти на вкладку «Сеть»:
Выбрать один из адаптеров. К виртуальной машине можно подключить несколько адаптеров и это очень удобно, так как вы можете комбинировать вместе адаптер виртуального хоста и NAT чтобы получить преимущества обоих режимов. Дальше вам нужно выбрать пункт «NAT» в списке «Тип подключения».
На вкладке «Дополнительно» вы можете настроить марку устройства адаптера и MAC адрес:
Если вы собираетесь устанавливать туда в Windows, то лучше будет работать Intel PRO/1000 MT Desktop, а для Linux можно оставить AMD PCNet FAST III, так как он поддерживается всеми операционными системами.
2. Настройка сети NAT
В версии Virtualbox, начиная с 4.3 была добавлена поддержка сетей NAT, это работает очень похоже на виртуальный адаптер хоста, все машины, подключенные к одной сети могут получить доступ друг к другу, а доступ в интернет выполняется через NAT, но основная система доступа к гостевым не имеет. Чтобы настроить такое подключение нужно сначала создать сеть NAT. Для этого откройте «Файл» -> «Настройки», «Сеть». Здесь перейдите на вкладку «Сети NAT». Дальше нажмите кнопку с зеленым плюсом, чтобы создать новую сеть:
Нажмите «Ok» и закройте это окно. Дальше откройте настройки для виртуальной машины, перейдите на вкладку «Сеть» -> «Адаптер 1»:
Выберите «Тип подключения» — «Сеть NAT», а «Имя» — только что созданную сеть.
Теперь все машины, подключенные к этой сети, будут доступны друг другу, как в VMWare.
3. Настройка адаптера виртуального хоста
Теперь задача немного интереснее — нам нужна локальная сеть virtualbox между несколькими виртуальными машинами и хостом. Для того чтобы все это заработало в Linux, нам нужно чтобы были загружены модули ядра vboxnetadp и vboxnetflt:
Возможно, для их правильной работы вам придется установить пакет net-tools. Дальше нужно создать сам виртуальный адаптер. Для этого откройте меню «Файл», затем «Настройки» -> «Сеть». Затем нажмите кнопку с зеленым значком плюс, а затем «Ok», все параметры можно оставить по умолчанию. В VirtualBox 5.2 и выше интерфейс был изменен. Теперь вам нужно открыть меню «Инструменты» -> «Менеджер сетей хоста»:
Нажмите кнопку «Создать», затем, в появившемся адаптере, напротив пункта DHCP установите галочку «Включен».
Теперь вернитесь к списку виртуальных машин, зайдите в настройки машины, «Сеть»:
Выберите «Тип подключения» — «Виртуальный адаптер хоста», а имя vboxnet0, тот, который вы создали раньше.
Для всех машин, которые вы хотите объединить в одну сеть нужно выбирать один и тот же адаптер хоста. Если вы захотите добавить машинам также доступ в интернет, просто перейдите на вкладку «Адаптер 2», включите его и настройте NAT, как описано в первом пункте.
4. Настройка сетевого моста VirtualBox
Режим сетевого моста позволяет виртуальной машине выступать в роли реального сетевого устройства с отдельным ip адресом. Чтобы это настроить откройте это же меню — настойки виртуальной машины, затем «Сеть». Здесь выберите «Тип подключения» — «Сетевой мост»:
В поле «Имя» вам необходимо выбрать сетевой интерфейс, который будет использоваться для связи с внешним миром. Минус такого способа в том, что внешние компьютеры смогут получить доступ к виртуальной машине, а это не очень хорошо с точки зрения безопасности.
5. Внутренняя сеть VirtualBox
Режим внутренняя сеть Virtualbox похож на «Виртуальный адаптер хоста», за тем лишь исключением, что из хостовой системы доступа к гостевым не будет, и настроить все немного проще. Достаточно выбрать «Тип подключения» — «внутренняя сеть», а затем просто выбрать нужную сеть в поле «Имя», или создать новую, просто изменив имя текущей.
Как видите, существует тип подключения NAT — где только интернет, Мост — где машина становится членом внешней сети, а все остальные — это настройка виртуальной сети virtualbox, где машины могут видеть друг друга.
Выводы
В этой небольшой статье мы рассмотрели как выполняется настройка сети VirtualBox, как видите, это не так уж сложно, как может показаться на первый взгляд, несмотря на операционную систему, которую вы используете. В большинстве случаев достаточно сети NAT, но иногда может понадобиться виртуальный адаптер хоста, все же остальные режимы используются намного реже.
02.05.2019
Тип подключения сети VirtualBox: что они означают, и чем отличаются друг от друга?
VirtualBox (она же VB) в своих сетевых настройках очень гибка. Причём некоторые изменения в настройках виртуальной машины можно проводить на лету. Однако перед созданием виртуальной системы лучше сразу разобраться что означают настройки в разделе Тип подключения сети. Какой выбрать в зависимости от поставленной цели, и что ожидает пользователя с такими настройками? Virtual Box при этом, напомню, позволяет менять тип подключения сети, что называется, “на лету” – т.е. прямо во время работы гостевой машины.
Для быстрого ознакомления можно представить и держать в голове вот такую простую табличку – какая какую видит, и какое соединение будет недоступно:
Продолжая поблочное отображение типа сетей, можно представить предлагаемые схемы в нижеследующих вариантах. Выбор каждой из схем ложится на пользователя, но практическое применение и настройка (в т.ч. DHCP) будут рассматриваться в контексте отдельных примеров/статей.
Тип подключения сети VirtualBox: что мы имеем?
NAT
VirtualBox делает возможным настройку отдельного NAT-роутера в сетевом интерфейсе внутри гостевой машины. Каждая из гостевых ОС получает собственный виртуальный роутер и с остальными гостевыми машинами взаимодействовать не может. Запросы по протоколу DHCP отзываются с IP гостевой машины и адреса NAT роутера в виде межсетевого шлюза. Сам сервер DHCP может быть настроен через интерфейс командной строки (без графического интерфейса). Сам роутер NAT использует интерфейс сети хозяйской ОС, никаких особых сетевых интерфейсов создавать не нужно. “Снаружи” или из внешнего интернета/сети виден только интерфейс Хозяйки. Принцип работы сводится к следующему:
- роутер NAT открывает определённый порт в интерфейсе хозяйской ОС
- внутренний адрес переводится в адрес Хозяйки: запрос на требуемый IP адрес считается совершённым;
- после запроса ответ пробрасывается к гостевой ОС; при этом таблица проброса от внешнего порта к внутреннему IP адресу хранится в памяти роутера. При этом возможен ручной проброс на какой-то конкретный порт гостевой ОС.
Сеть NAT
Этот тип подключения сети VirtualBox означает, что VB может организовать виртуальный изолированный NAT роутер на сетевом интерфейсе внутри гостевой машины. Каждая гостевая ОС при этом получает собственный виртуальный роутер, но с другими гостевыми контактировать не сможет. DHCP-запросы на интерфейс получают ответ от IP адреса гостевой машины и адреса роутера NAT в качестве шлюза. Сервер DHCP также настраивается без GUI. NAT роутер использует при этом сетевой интерфейс хозяйской ОС.
Никаких особых сетевых интерфейсов создавать здесь нет необходимости; при этом роутер NAT открывает любые порты в интерфейсе хозяйской системы. Далее внутренний адрес переводится в IP адрес хоста. Таким образом, запрос на требуемый IP завершается. Возможна картография портов с целью разрешить попасть на нужный порт гостевой машины через некий порт “хозяйки”. Т.е для доступа к гостевой ОС необходим проброс портов с хозяйской. При этом может потребоваться редактирование hosts файла “хозяйки”.
Сетевой мост
В этом случае гостевая машина будет использовать интерфейс хозяйской. В интерфейсе хоста появляется сетевой фильтр в виде специального драйвера, который позволяет VirtualBox отправлять данные в сторону “гостевой”. Такой режим работы позволяет сетевому адаптеру использовать множественные mac-адреса. Однако большинство беспроводных модулей такой неразборчивый (смешанный) режим работы адаптера не поддерживает физически. И тогда VB подменяет mac-адрес пакетов, которые адаптеру точно видны. При этом используется внешний сервер DHCP, виртуальный DHCP здесь не требуется. Гостевая машина в таком режиме доступна из сети, к которой присоединилась хозяйская ОС: у них единый доступ. Хозяйка контактирует с гостевыми машинами по IP, и те видят хост на такой же манер. Гостевые ОС также могут переговариваться друг с другом. Но этот же факт делает невозможным создание изолированных внутри хозяйки сетей (на основе гостевых машин). Более того, такой тип сетевого соединения капризен в работе, а о безопасном сёрфинге по интернету говорить не приходится.
Внутренняя сеть
В VirtualBox возможно настроить сетевой интерфейс внутри гостевой машины. Так как куча гостевых машин делят между собой этот единственный интерфейс, они соединяются на манер коммутатора (свитча) и способны между собой общаться. Характеристиками такой сети являются быстрая настройка, возможность гостевых систем общаться между собой. При этом доступа из хозяйской ни в одну гостевую не будет. Равно как и никакая из гостевых машин не увидит хозяйскую ОС. Кроме того, гостевая система в интернет не выйдет. Сервер DHCP внутренней сети опять же нельзя настроить с помощью графического интерфейса – только командами из консоли.
Виртуальный адаптер хоста
Универсальный драйвер
Этот тип подключения сети VirtualBox стоит особняком, “Window”-возы им пользуются отчасти. Смысл этого типа сетевого подключения – совместная работа разных гостевых машин на разных хозяйских ОС. Единственный вариант виртуальной сети, где без дополнительных свитчей и кабелей часто не обойтись. В составе Oracle VB эта сетевая настройка идёт лишь опционально. Для указанного режима существуют две настройки, которые имеют разный акцент:
- UDP-туннель
- Децентрализованная виртуальная сеть Ethernet (она же VDE-сеть)
Туннеллирование позволяет создавать виртуальную сеть между гостевыми ОС, которые находятся на различных хозяйских машинах. Технически это реализуется в виде выделения сетевых блоков данных (пересылаемых или получаемых гостевой машиной) в самостоятельный, выделенный модуль UDP-пакетов. Такие пакеты способны “гулять” по любой сети, на которую настроена хозяйская машина. Режим UDP туннеля имеет такие характеристики как
- адресный UDP-порт (порт слушается “хозяйкой” и принимает данные со всех адресов, пересылая на сетевую карту гостевой машины)
- IP адрес назначения хозяйской ОС
- принимающий UDP порт
При этом гостевые ОС, сидящих на разных “хозяйках”, обмениваются IP адресами в прямом смысле этого слова. Если же хост один, это происходит с номерами UDP-портов.
VDE-сеть доступна только на ОС Linux и FreeBSD. Требует подключения специальных библиотек на хозяйской машине, по умолчанию VirtualBox идёт без них. Суть схемы – работа гостевых ОС, сидящих на разных хостах в защищённом режиме благодаря эмуляции интернета, дополнительной виртуализации VLAN, специальных связующих сетевых протоколов. В этой части настроек я, честно говоря, уже плаваю (на практике его использовать никогда не приходилось), и подробнее, чем эта Wiki-справка, мануала не обнаружил.
Успехов.
РубрикаПолезные программыКак узнать внешний IP адрес из консоли команд Windows?Бездействие системы загружает процессор?
Виртуальную машину VirtualBox можно использовать как реальный ПК с сетевым адаптером.
Переходим в настройки сети VirtualBox
Не подключен — в данном режиме адаптер присутствует в гостевой системе, но ведет себя так, как будто сетевой кабель в него не включен.
Сетевой мост — виртуальная машина работает также, как и все остальные компьютеры в сети. В этом случае адаптер выступает в роли моста между виртуальной и физической сетями. Со стороны внешней сети имеется возможность напрямую соединяться с гостевой операционной системой.
Адаптер в режиме «Сетевой мост» подключается, минуя хост, к роутеру, которое распределяет IP-адреса внутри локальной сети для всех физических сетевых карт. VirtualBox соединяется с одной из установленных сетевых карт и передает пакеты через нее напрямую; получается работа моста, по которому передаются данные. Как правило, адаптер в модели «Сетевой мост» получает стандартный адрес из диапазона 192.168.х.х от роутера. Поэтому виртуальная машина в сети выглядит так, как будто это обычное физическое устройство, неотличимое от остальных.
NAT — позволяет гостевой операционной системе выходить в Интернет, используя при этом частный IP, который не доступен со стороны внешней сети или же для всех машин локальной физической сети. Такая сетевая настройка позволяет посещать web-страницы, скачивать файлы, просматривать электронную почту. И все это, используя гостевую операционную систему. Однако извне невозможно напрямую соединиться с такой системой, если она использует NAT.
Принцип трансляции сетевых адресов заключается в следующем. Когда гостевая ОС отправляет пакеты на конкретный адрес удаленной машины в сети, сервис NAT, работающий под VirtualBox, перехватывает эти пакеты, извлекает из них сегменты, содержащие в себе адрес пункта отправки (IP-адрес гостевой операционной системы) и производит их замену на IP-адрес машины-хоста. Затем заново упаковывает их и отправляет по указанному адресу.
Сеть NAT — несколько гостей за NAT не видят друг друга, При использовании Сеть NAT они как бы в одном широковещательном домене и могут друг с другом общаться
Внутренняя сеть — если потребуется настроить взаимосвязь между несколькими гостевыми операционными системами, работающими на одном хосте и могущими сообщаться только между собой, тогда можно воспользоваться режимом «Внутренняя сеть». Конечно, для этой цели можно использовать режим «Сетевой мост», но режим «Внутренняя сеть» обладает большей безопасностью. В режиме «Сетевой мост» все пакеты отправляются и получаются через адаптер физической сети, установленный на машине-хосте.
Виртуальный адаптер хоста — гостевые ОС могут взаимодействовать между собой, а также с хостом. Но все это только внутри самой виртуальной машины VirtualBox. В этом режиме адаптер хоста использует свое собственное, специально для этого предназначенное устройство, которое называется vboxnet0
. Также им создается под-сеть и назначаются IP-адреса сетевым картам гостевых операционных систем. Гостевые ОС не могут взаимодействовать с устройствами, находящимися во внешней сети, так как они не подключены к ней через физический интерфейс. Режим «Виртуальный адаптер хоста» предоставляет ограниченный набор служб, полезных для создания частных сетей под VirtualBox для ее гостевых ОС.
Универсальный драйвер — пользователь сам выбирает драйвер сетевого адаптера, который может быть входит в состав VirtualBox или загружается с пакетом дополнений к VirtualBox. На данный момент существует 2 драйвера реализующих 2 режима работы виртуального адаптера:
- UDP Туннель. Режим для связи виртуальных машин, запущенных на различных хостах. Работает над существующей сетевой инфраструктурой.
- VDE (Виртуальный Распределенный Ethernet). Этот режим может быть использован для подключения распределенных виртуальных машин к Виртуальному коммутатору Ethernet на Linux или FreeBSD хостах.
Посмотрим на дополнительные настройки
Можно выбрать:
Тип адаптера — можно выбрать тип сетевого адаптера
Неразборчивый режим (Promiscuous Mode) — применяется для работы VM в качестве виртуального маршрутизатора в локальных сетях; как сетевой мост или же хост. В этом режиме порт виртуальной машины способен принимать любые пакеты, отправляемые для других операционных систем; и даже для хоста. То есть, принимаются сетевые пакеты, предназначенные не только для этого адаптера, но и для других сетевых устройств. В 99% случаев обычным пользователям «Неразборчивый режим» не нужен. Он используется сетевыми администраторами для диагностики проблем, возникающих в сети.
MAC-адрес — можно ввести желаемый MAC-адрес сетевой карты, по умолчанию задается виртуальной машиной
Подключение кабеля — имитация подключения кабеля
Вот очень подробная статья Настройка сети в VirtualBox
Еще почитать:
VirtualBox
VirtualBox (Oracle VM VirtualBox) — система виртуализации предназначенная для создания виртуальной машины с параметрами железа реального компьютера, на которой можно запускать любую операционную систему. Последняя версия 5.2. Сайт компании www.virt…
Автоматический перехват порта USB VirtualBox
VirtualBox умеет при старте забирать себе порт usb с нужным устройством. Например, мы используем usb-принтер (или хотим использовать флешку), который работает только под Windows XP. Заберем порт с подключенным принтером от основного ПК (естественно, принте…
Запуск VirtualBox в скрытом режиме
Как запустить виртуальную машину VirtualBox так, что бы пользователь этого не увидел? Зачем это нужно? Например, виртуальная машина XPprint занимается печатью на старом принтере (да, только под Windows XP). Есть несколько вариантов. Используем отдельную у…
Запуск VirtualBox для нескольких пользователей
Будем использовать VirtualBox для нескольких пользователей ПК. По умолчанию VirtualBox создает папку с машинами в разделе одного пользователя. Создадим папку, куда имеют доступ все пользователи ПК и укажем ее в настройках. Например C:VirtualBox…
Как сохранить состояние виртуальной машины VirtualBox
Что такое Snapshots on VirtualBox? Даже целая папка на диске есть. Это папка, в которой хранятся все сохраненные состояния виртуальной машины VirtualBox Сохраняем состояние виртуальной машины VirtualBox Выбираем нужную машину и заходим…
Общая папка VirtualBox для основной и гостевой ОС
Будем создавать общую папку в основной системе и в виртуальной машине. Нам нужно как-то видеть файлы реальной системы из виртуальной машины. Для этой цели необходимо настроить общую папку (или несколько общих папок). Заходим в устройства, выби…
Установка VirtualBox и создание машины
Будем устанавливать Windows 10 с помощью VirtualBox Зачем? Например, у нас нет современного процессора, который хочет Windows 10, но у нас есть XEON 771 . Он поддерживает виртуализацию и позволит нам создать правильный «нарисованный» процессо…Используемые источники:
- https://losst.ru/nastrojka-seti-virtualbox
- https://computer76.ru/2019/05/02/тип-подключения-сети-virtualbox/
- http://comphome.ru/virtualbox-virtualnaja-mashina/nastrojka-seti-virtualbox.html