Знакомство с Virtualbox. Сетевые настройки программы и виртуальных машин. Часть - 1.

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

Общие сетевые настройки

Выберите раздел Сеть в окне настроек виртуальной машины.

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

В меню Дополнительно можно увидеть дополнительные настройки сетевого адаптера.

virtualbox настройкиТип адаптера - настройка позволяющая выбрать эмуляцию сетевой карты определенного вида. По умолчанию создается адаптер с эмуляцией сетевой карты - Intel PRO/1000 MT Desktop

virtualbox настройкиЭто реально существующая сетевая карта, подходящая для работы с системами любого типа. Если что-то не работает, то тип адаптера можно изменить, решив проблему совместимости виртуального и физического оборудования.

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

MAC-адрес (Media Access Control) - уникальный идентификатор устройства в сети, один из главных параметров по которому может определяться тот или иной компьютер. MAC-адрес вшивается в каждую сетевую карту в процессе создания, то же что и imei в мобильных телефонах. В железных картах MAC изменить нельзя, но можно подменить программно. В Virtualbox изменить можно, нажав на синий кружочек в виде двух стрелочек. Генерируется автоматически при создании адаптера.

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

Типы подключений сетевых адаптеров

Существует семь типов подключений сетевых адаптеров. Каждый создает собственный режим взаимодействия между виртуальным и физическим сетевыми устройствами.

Не подключен

Режим симулирует выдернутый из разъема сетевой кабель. Virtualbox сообщает системе что сетевой адаптер существует, но является неактивным.

NAT (Network Address Translation)

Тип подключения присваивающийся каждой виртуальной машине по умолчанию. Отвечает минимальным требованиям для работы в сети интернет и не требует первоначальной настройки.

NAT соединяет гостевую ОС с внешней сетью изолируя от прямых подключений извне. Наверно все слышали выражение - сидеть за NAT? Это оно и есть, вы можете просматривать сайты, выполнять любую работу в сети, но при этом прямые подключения извне невозможны.

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

Виртуальная машина получает сетевой адрес от встроенного DHCP-сервера. Машине присваивается адрес из диапазона 10.0.X.0/24, где "X" обозначает адрес интерфейса, определяемый по формуле +2. Таким образом "X" будет равен 2, если имеется только один активный NAT-интерфейс. Гостевая операционная система получит адрес 10.0.2.15, сетевому шлюзу назначается адрес 10.0.2.2, сервер имен (DNS) получит 10.0.2.3.

Сетевой мост

Сетевой мост эмулирует карту подключенную к сети напрямую. Адаптер подключается к распределяющему устройству внутри сети, после чего машина получает стандартный ip-адрес из ее диапазона и в составе сети появляется еще один "компьютер".

Все соединения между виртуальной машиной и внешней сетью, осуществляются посредством физической сетевой карты хост-компьютера. Если у вас несколько сетевых карт, то вы можете выбирать карту, которая будет обслуживать соединение. Делается это на вкладке Имя, появляющейся если типом подключения выбран Сетевой мост.

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

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

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

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

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

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

В хост-системе появляется устройство VirtualBox Host-Only Network. Оно имеет собственную подсеть 192.168.56.0 и шлюз с адресом - 192.168.56.1. Устройство соединяет подсеть и хост-систему без прямого выхода во внешнюю сеть.

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

Режим использует драйверы специальных типов взаимодействий, входящие в пакет расширений VirtualBox. Используется крайне редко и в обычной работе не нужен.

Сеть NAT

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

Виртуальная машина как локальный сервер

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

  • NAT
  • Сеть NAT
  • Сетевой мост
  • Виртуальный адаптер хоста

Для каждого типа существуют свои условия, при соблюдении которых выбор типа подключения будет оправдан.

virtualbox настройкиNAT и Сеть NAT

Если компьютер подключен к сети напрямую, без дополнительного сетевого оборудования, просто кабелем вставленным в разъем сетевой карты или 3G/4G/ADSL модемом, то ваш тип подключения NAT или Cеть NAT.

NAT создает изолированное соединение между виртуальной машиной и хост-системой. Для каждой новой машины создается собственное соединение, все виртуальные машины находящиеся в этом режиме не могут общаться между собой, поскольку все сетевые соединения изолированы друг от друга.

virtualbox настройкиСеть NAT представляет из себя подобие локальной подсети, являющейся общей для всех виртуальных машин входящих в ее состав.

virtualbox настройкиРассуждая с точки зрения использования виртуальной машины в качестве локального сервера, главным недостатком данных типов подключения является их недоступность извне. Из-за этого не работают некоторые нужные функции: подключение к серверу по SSH, любые обращения к тестовым сайтам.

Ограничения NAT-режимов можно обойти пробросив порты для соединений или добавив сетевой адаптер с типом подключения - Виртуальный адаптер хоста. Оба способа обеспечивают входящие соединения между хост-системой и локальным сервером.

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

Виртуальный адаптер хоста предоставляет возможность обойти ограничения NAT. При совместном использовании двух режимов получается полноценное сетевое соединение. Все входящие пакеты проходят через виртуальный адаптер хоста обходя тем самым ограничения NAT режима.

Сетевой мост

Если вы являетесь обладателем домашнего маршрутизатора или роутера, то ваш тип подключения - Сетевой мост. Режим сетевого моста является самым простым и не требующим настроек режимом. В отличие от режима NAT, не требует танцев с бубном вроде подключения дополнительных интерфейсов или проброса портов.

Как то мне задали вопрос: если нет роутера, то почему NAT, а не Сетевой мост? Действительно, почему? Если режим сетевого моста так хорош, то почему бы не использовать его, неважно есть у меня домашний маршрутизатор или нет?

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

Маршрутизатор

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

virtualbox настройки

В состав сети входят две виртуальные машины, находящиеся на компьютере с адресом 192.168.1.2. Хоть виртуальные машины и работают на одном компьютере, они имеют разные ip-адреса. Достигается это за счет использования сетевого моста.

Сетевой мост использует физическую сетевую карту компьютера, создавая собственное прямое подключение к маршрутизатору. Установив соединение, сетевой адаптер виртуальной машины получает ip-адрес из диапазона сети. Для маршрутизатора это выглядит будто к сети подключили еще одно устройство.

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

Без маршрутизатора

Теперь я выдернул сетевой кабель из роутера и подключил напрямую к сетевой карте компьютера (хост-системы). Домашняя сеть пропала и все стало выглядеть следующим образом.

virtualbox настройка

Виртуальная машина соединяется с маршрутизатором, но теперь это маршрутизатор провайдера. Виртуальной машине будет назначен динамический ip-адрес из его диапазона. У хост-системы теперь статический ip-адрес домашнего маршрутизатора, так как у него была привязка по MAC.

Хост-система:

virtualbox настройки

Виртуальная машина:

virtualbox настройки

Хост-система и виртуальная машина теперь имеют ip-адреса из диапазона провайдера. В этом нет ничего такого, все работает и соединяется между собой по SSH, FTP, HTTP и т.д. Но есть одно но…

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

Так что если у вас нет маршрутизатора и ваш компьютер подключается к сети напрямую, то вам надо использовать NAT или Сеть NAT, но ни в коем случае не Cетевой мост.

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