Найти в Дзене
knowledge base

Как настроить более четырёх интерфейсов в VirtuaBox.

В гипервизоре VirtualBox, есть возможность подключить к виртуальным машинам восемь сетевых карт, GUI интерфейс позволяет настроить только первые четыре интерфейса, для настройки всех восьми карт следует использовать утилиту командной строки vboxmanager. Эта утилита присутствует и в Linux и в Windows версиях VirtualBox.
Далее речь пойдёт о Windows версии гипервизора, а настраивать будем адаптеры следующих типов: Заходим в командную строку и переходим в каталог с установленным гипервизором
cd "C:\Program Files\Oracle\VirtualBox"
Выведем список виртуальных машин на гипервизоре
VBoxManage.exe list vms Показывать настройку буду на машине Astra01, сеть будем приводить к следующей схеме Посмотрим настройки виртуальной машины командой
VBoxManage.exe showvminfo Astra01
Нас интересует секция с сетевыми интерфейсами VBoxManage.exe list bridgedifs
выведет список сетевых карт на ПК, которые могут быть использованы гипервизором для создания бриджей. Назначаем интерфейсу nic1 режим работы bridg
Оглавление

В гипервизоре VirtualBox, есть возможность подключить к виртуальным машинам восемь сетевых карт, GUI интерфейс позволяет настроить только первые четыре интерфейса, для настройки всех восьми карт следует использовать утилиту командной строки vboxmanager. Эта утилита присутствует и в Linux и в Windows версиях VirtualBox.
Далее речь пойдёт о Windows версии гипервизора, а настраивать будем адаптеры следующих типов:

  • Внутренняя сеть (Internal Network);
  • Сетевой мост (Bridged Interface);
  • Виртуальный адаптер хоста (Host-only Interface).

Заходим в командную строку и переходим в каталог с установленным гипервизором

cd "C:\Program Files\Oracle\VirtualBox"

Выведем список виртуальных машин на гипервизоре

VBoxManage.exe list vms

Показывать настройку буду на машине Astra01, сеть будем приводить к следующей схеме

-2
  • первый интерфейс подключим к сетевой карте моего ПК в режиме моста;
  • второй и пятый интерфейсы подключим в внутренней сети intnet-sw1 (сеть уже создана);
  • четвёртый и шестой интерфейс подключим к внутренней сети intnet-sw3, которую создадим в процессе настройки;
  • третий интерфейс подключим к виртуальному адаптеру хоста "VirtualBox Host-only Ethernet Adapter";
  • седьмой интерфейс подключим к виртуальному адаптеру хоста "VirtualBox Host-only Ethernet Adapter #3", который создадим во время настройки;
  • восьмой интерфей оставим несконфигурированным.

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

VBoxManage.exe showvminfo Astra01

Нас интересует секция с сетевыми интерфейсами

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

VBoxManage.exe list bridgedifs

выведет список сетевых карт на ПК, которые могут быть использованы гипервизором для создания бриджей.

Будет показана достаточно полная картина по параметрам интерфейсов.
Будет показана достаточно полная картина по параметрам интерфейсов.

Назначаем интерфейсу nic1 режим работы bridge и связываем его с беспроводной картой ПК

VBoxManage.exe modifyvm Astra01 --nic1=bridged --bridge-adapter1="Intel(R) Wi-Fi 6 AX201 160MHz"

, где
- опция
--nic1=bridged задаёт режим работы интерфейса
- опция
--bridge-adapter1="Intel(R) Wi-Fi 6 AX201 160MHz" связывает интерфейс с конкретным физическим адаптером, тут требуется указать имя адаптера (берём его из опции "Name" в выводе list bridgedifs.

Как видим из GUI интерфейса, настройки для nic1 успешно применились.
Как видим из GUI интерфейса, настройки для nic1 успешно применились.

Посмотрим список доступных внутренних подсетей командой

VBoxManage.exe list intnets

-6

Согласно схеме, подключим к сети intnet-sw1 интерфейсы nic2 и nic5

VBoxManage.exe modifyvm "Astra01" --nic2=intnet --intnet2=intnet-sw1
VBoxManage.exe modifyvm "Astra01" --nic5=intnet --intnet5=intnet-sw1


, где
- опция
--nicN=intnet - задаёт тип интерфейса
- опция
--intnetN=intnet-sw1 - задаёт внутреннюю подсеть для интерфейса
-
N - номер интерфейса, который настраиваем (должен совпадать в обеих опциях в рамках одной команды).

Настройку второго интерфейса можно увидеть через GUI

-7

А вот настройку пятого интерфейса можно увидеть только через запрос

VBoxManage.exe showvminfo Astra01

-8

Если у нас нет нужной нам внутренней подсети, выполняем обычную команду, которая задаёт тип интерфейса "внутренний адаптер хоста", в которой указываем имя нужной нам внутренней сети, она автоматически создастся

VBoxManage.exe modifyvm "Astra01" --nic4=intnet --intnet4=intnet-sw3
VBoxManage.exe modifyvm "Astra01" --nic6=intnet --intnet6=intnet-sw3


Проверяем наличие внутренней сети intnet-sw3 на гипервизоре

VBoxManage.exe list intnets

-9

Смотрим настройки интерфейса nic4 в GUI

-10

Подключим третий интерфейс к первому виртуальному адаптеру хоста, для этого выведем список виртуальных адаптеров, чтобы в выводе увидеть имя нужного нам адаптера (секция "Name")

VBoxManage.exe list hostonlyifs

-11

VBoxManage.exe modifyvm Astra01 --nic3=hostonly --hostonlyadapter3="VirtualBox Host-Only Ethernet Adapter"

, где
- опция
--nic3=hostonly - задаёт тип адаптера;
- опция
--hostonlyadapter3="VirtualBox Host-Only Ethernet Adapter" - указывает, к какому виртуальному адаптеру бедет подключён интерфейс.

Проверяем через GUI

-12

По схеме, нам надо подключить nic7 к виртуальному адаптеру хоста "VirtualBox Host-Only Ethernet Adapter #3", которого в системе нет, создадим его

VBoxManage.exe hostonlyif create

Данная команда создаёт виртуальный интерфейс с именем вида "
VirtualBox Host-Only Ethernet Adapter #N", где N - номер интерфейса. В документации не нашёл, есть ли возможность задать имя интерфейса, если вдруг вы знаете как задать имя виртуальному интерфейсу, при его создании, просьба написать в комментарии.

Проверяем, создался ли наш интерфейс

VBoxManage.exe list hostonlyifs

Подключаем к нему карту nic7

VBoxManage.exe modifyvm Astra01 --nic7=hostonly --hostonlyadapter7="VirtualBox Host-Only Ethernet Adapter #3"

Проверяем как сконфигурированы наши интерфейсы

VBoxManage.exe showvminfo Astra01

В выводе видно, что сконфигурены все интерфейсы, кроме восьмого.
В выводе видно, что сконфигурены все интерфейсы, кроме восьмого.

Если потребуется сбросить настройки на интерфейсах и выключить их, сделать это можно следующими командами:

Сброс настроек интерфейса -
VBoxManage.exe modifyvm Astra01 --nic8=null
Отключение интерфейса -
VBoxManage.exe modifyvm Astra01 --nic8=none

Вывод

Все сетевые настройки виртуальных машин в гипервизоре VirtualBox можно гибко назначать через командную утилиту VBoxManager, это полезно в случаях, когда требуется настроить для виртуальных машин более четырёх интерфейсов, когда гипервизор работает под Linux, а подключаемся мы к нему через ssh, либо если требуется автоматизировать процесс создания\конфигурирования виртуальных машин скриптами.

UPD.

Настройки всех активных сетевых карт виртуальной машины видны ещё в общем меню гипервизора. Если выделить виртуалку, все её параметры, в том числе и сетевые, будут показаны справа

-14