Product SiteDocumentation Site

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

Режим Виртуальный адаптер хоста создает сеть между хост-системой и ВМ, минуя физическую сетевую карту. На хосте создаётся программный сетевой интерфейс, предназначенный для обмена данными между хост-системой и ВМ. Все ВМ, подключённые к такому адаптеру, могут взаимодействовать друг с другом и с хостом, как если бы были подключены к одному коммутатору. Так же, как и в режиме Внутренняя сеть, физический интерфейс ВМ не предоставляется, а значит, машины не имеют доступа к внешней сети:
Сеть виртуального адаптера хоста
Для использования этого режима необходимо предварительно создать хотя бы один виртуальный интерфейс хоста.

88.5.6.1. Создание интерфейса в менеджере VirtualBox

Для создания интерфейса в главном окне менеджера VirtualBox следует открыть Менеджер сетей (Ctrl+G), перейти на вкладку Виртуальные сети и нажать кнопку Создать:
Менеджер сетей. Виртуальные сети
В хост-системе появится новое сетевое устройство vboxnet0, которому по умолчанию будет присвоен IP-адрес 192.168.56.1/24. Это устройство соединяет виртуальную подсеть с хост-системой, при этом не имея выхода во внешнюю сеть.
Интерфейс vboxnet0
Чтобы изменить параметры интерфейса, следует нажать кнопку Свойства. В открывшемся окне на вкладке Адаптер можно указать IP-адрес и маску подсети. Указанные значения сразу будут применены к виртуальному адаптеру на стороне хоста.
Настройки интерфейса. Вкладка Адаптер
Чтобы не назначать IP-адрес каждой ВМ вручную, можно активировать встроенный DHCP-сервер VirtualBox. Для этого необходимо перейти на вкладку DHCP сервер и активировать опцию DHCP-сервер (вне зависимости от того, статический или динамический IP-адрес присвоен сетевому адаптеру):
Настройки интерфейса. Вкладка DHCP-сервер

Примечание

Адрес DHCP-сервера следует выбирать в том же диапазоне, что и адрес виртуального адаптера хоста, и он не должен пересекаться с адресами физических сетевых адаптеров.

88.5.6.2. Создание виртуального интерфейса в консоли

Для создания интерфейса можно воспользоваться утилитой командной строки VBoxManage:
$ VBoxManage hostonlyif create
После выполнения этой команды в системе появится новый виртуальный интерфейс.

88.5.6.3. Настройка ВМ

Чтобы подключить ВМ к виртуальному адаптеру хоста, необходимо:
  1. Открыть настройки нужной ВМ.
  2. Перейти на вкладку Сеть.
  3. Выбрать один из доступных сетевых адаптеров.
  4. В списке Тип подключения выбрать Виртуальный адаптер хоста.
  5. В списке Имя выбрать ранее созданный виртуальный интерфейс:
    Настройка ВМ на использование виртуального адаптера хоста

Примечание

Для объединения нескольких машин в одну виртуальную сеть необходимо выбрать один и тот же виртуальный адаптер хоста для всех ВМ.

88.5.6.4. Обход ограничений режима NAT

Ограничения режима NAT можно обойти, пробросив порты для входящих соединений или добавив второй сетевой адаптер с типом подключения Виртуальный адаптер хоста. Оба метода позволяют установить входящие соединения между хост-системой и локальным сервером внутри ВМ.
88.5.6.4.1. NAT/Сеть NAT + Виртуальный адаптер хоста
При совместном использовании двух режимов получается полноценное сетевое соединение. Все входящие пакеты проходят через виртуальный адаптер хоста, обходя тем самым ограничения NAT режимов.
Настройка связки NAT + Виртуальный адаптер хоста:
  1. Создать и настроить виртуальный адаптер (см. Виртуальный адаптер хоста) DHCP-сервер для устройства vboxnet0 можно отключить.
  2. Открыть настройки нужной ВМ.
  3. Перейти на вкладку Сеть.
  4. Настроить первую сетевую карту (Адаптер 1) на использование виртуального адаптера хоста:
    Настройка первого адаптера
  5. Настроить вторую сетевую карту (Адаптер 2) на использование режима NAT:
    Настройка второго адаптера
  6. Запустить ВМ и назначить статический IP-адрес на первом сетевом адаптере.

Примечание

Всегда устанавливайте первый адаптер для связи с хост-системой, а второй адаптер — для выхода в Интернет.
Пример результата настройки:
$ ip -br addr
lo            UNKNOWN        127.0.0.1/8 ::1/128
enp0s3        UP             192.168.56.7/24
enp0s8        UP             10.0.3.15/24
Настройка связки Сеть NAT + Виртуальный адаптер хоста:
  1. Создать и настроить интерфейс (см. Виртуальный адаптер хоста) DHCP-сервер для устройства vboxnet0 можно отключить.
  2. Добавить Сеть NAT и отключить для неё DHCP-сервер.
  3. Открыть настройки нужной ВМ.
  4. Перейти на вкладку Сеть.
  5. Настроить первую сетевую карту (Адаптер 1) на использование виртуального адаптера хоста:
    Настройка первого адаптера
  6. Настроить вторую сетевую карту (Адаптер 2) на использование режима Сеть NAT:
    Настройка второго адаптера
  7. Запустить ВМ и назначить статические IP-адреса для обоих интерфейсов.
Пример результата настройки:
$ ip -br addr
lo            UNKNOWN        127.0.0.1/8 ::1/128
enp0s3        UP             192.168.56.7/24
enp0s8        UP             10.2.0.15/24
88.5.6.4.2. NAT/Сеть NAT + Проброс портов
Проброс портов позволяет получить доступ к сетевым службам гостевой ОС из внешних источников. Этот метод предпочтительнее, чем переход в режим моста, так как пользователь сам управляет, какие порты будут доступны извне.
С помощью проброса портов VirtualBox обеспечивает доступ к нужным службам, перенаправляя запросы, поступающие на хост-систему, к гостевой машине. Это особенно полезно, если ВМ используется как сервер, к которому необходимо подключаться извне (например, по SSH или HTTP).
Для настройки проброса портов в режиме NAT необходимо:
  1. В сетевых настройках ВМ на вкладке нужного адаптера нажать кнопку Проброс портов.
  2. В открывшемся окне добавить новое правило:
    Пример настройки правила проброса
Для настройки проброса портов в режиме Сеть NAT необходимо:
  1. Отрыть настройки сети NAT и перейти на вкладку Проброс портов.
  2. Задать параметры правила:
    Правила проброса
Правила проброса портов заполняются следующим образом:
  • Имя — может быть любым, для удобства можно называть правило именем протокола или службы, работу которого оно обеспечивает;
  • Протокол — протокол, который использует служба (TCP или UDP);
  • Адрес хоста — IP-адрес машины, на который будут идти запросы на соединение (хостовой ОС). Обычно указывается localhost 127.0.0.1;
  • Порт хоста — порт хост-системы, на который поступают запросы на соединение (любой свободный порт > 1024);
  • Адрес гостя — IP-адрес ВМ;
  • Порт гостя — порт ВМ, на котором работает нужная служба.

Примечание

Проброс портов работает только при включённой ВМ. Если ВМ выключена, запросы на соответствующий порт будут игнорироваться или обрабатываться хост-системой.
Для настройки проброса портов в режиме NAT можно использовать команду:
$ VBoxManage modifyvm "ALT Workstation" --natpf1 "SSH,tcp,127.0.0.1,2222,10.0.2.15,22"
здесь
  • ALT Workstation — имя ВМ;
  • natpf1 — правило для первого адаптера с NAT;
  • SSH — имя правила;
  • tcp — используемый протокол;
  • 127.0.0.1,2222 — адрес и порт на хост-системе;
  • 10.0.2.15,22 — адрес и порт на гостевой системе.

Важно

Имя правила должно быть уникальным.