Гид по технологиям

Управление VirtualBox через терминал на headless‑сервере

• 8 min read • Виртуализация • Обновлено 20 Nov 2025
VirtualBox в консоли на headless‑сервере
VirtualBox в консоли на headless‑сервере

Логотип VirtualBox

  • В этой инструкции описано, как установить VirtualBox и VBox Extension Pack, создать виртуальную машину из командной строки (headless), подключить сеть с NAT Network и настроить проброс портов для SSH/RDP. Подойдёт для серверов без графического интерфейса. Дополнительно — чеклисты, сценарии отказа, безопасность и рекомендации по альтернативам.

Быстрые ссылки

  • Установка VirtualBox и VBox Extension Pack
  • Создание виртуальной машины
  • Проброс портов после установки

Кому это пригодится

Кратко: системным администраторам и инженерам DevOps, которые хотят запускать виртуальные машины на собственных серверах без графической оболочки. Под «headless» подразумевается сервер без подключённого монитора/DE — доступ к гостю организуется по сети.

Определение: hypervisor — программный уровень, который создаёт и управляет виртуальными машинами.

Обзор и модель принятия решений

Ментальная модель: если вы хотите просто запускать несколько ОС на хосте и при этом иметь гибкость — используйте Type‑2 гипервизор (VirtualBox) для простоты. Если нужна высокая производительность и интеграция в Linux‑стек — KVM/QEMU. Для простых тестовых сред и обучения VirtualBox в headless‑режиме — хороший компромисс между удобством и функциональностью.

Ключевые варианты:

  • VirtualBox (Type‑2) — просто устанавливать, полный CLI, Extension Pack добавляет RDP/VNC и USB 2/3.
  • KVM/QEMU (Type‑1/Type‑2 hybrid на Linux) — лучше по производительности, сложнее настройка.
  • Proxmox/ESXi — полноценные гипервизоры/платформы для дата‑центров.

1. Установка VirtualBox и VBox Extension Pack

VirtualBox — бесплатное приложение с графическим интерфейсом, но также с полной CLI (VBoxManage), что позволяет управлять ВМ без GUI. Если на сервере есть немного RAM и вы предпочитаете GUI, можно установить лёгкую среду рабочего стола, но в большинстве серверных сценариев удобнее работать только через терминал.

Установка из репозитория APT (пример для Debian/Ubuntu):

sudo apt-get install virtualbox

После установки проверьте версию VirtualBox — она нужна для подбора подходящего Extension Pack:

VBoxManage -v

Скачайте соответствующий Extension Pack с сайта VirtualBox. Пример команды wget (замените версию на ту, что у вас установлена):

wget https://download.virtualbox.org/virtualbox/5.2.42/Oracle_VM_VirtualBox_Extension_Pack-5.2.42.vbox-extpack

Установите пакет расширений (внимание на имя файла):

sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.42.extpack

Иногда встроенный VNC‑плагин конфликтует с VRDE. Если VRDE не работает, попробуйте удалить VNC extpack:

sudo VBoxManage extpack uninstall VNC

Важно: расширения следует устанавливать версии, совпадающей с VBoxManage -v. Если версии не совпадают — часть функций может не работать.

2. Создание виртуальной машины (VM) через CLI

Просмотреть поддерживаемые типы ОС:

VBoxManage list ostypes

Создадим VM с именем “Ubuntu” и типом Ubuntu_64:

sudo VBoxManage createvm --name "Ubuntu" --ostype Ubuntu_64 --register

Выделим RAM и создадим виртуальный диск. В примере — 4 ГБ RAM и 32 ГБ виртуального HDD (VDI):

sudo VBoxManage modifyvm "Ubuntu" --memory 4096
sudo VBoxManage createhd --filename "Ubuntu.vdi" --size 32000

Настроим количество vCPU (подразумевайте, что это потоки/threads):

sudo VBoxManage modifyvm "Ubuntu" --cpus 2

Создаём контроллер SAS и прикрепляем диск (в GUI это делается автоматически):

sudo VBoxManage storagectl "Ubuntu" --name "SAS Controller" --add sas --controller LSILogicSAS
sudo VBoxManage storageattach "Ubuntu" --storagectl "SAS Controller" --port 0 --device 0 --type hdd --medium "Ubuntu.vdi"
sudo VBoxManage storagectl "Ubuntu" --name "SAS Controller" --hostiocache on

Подключим ISO‑накопитель с установочным образом (пример пути: /home/user/Ubuntu.iso — замените на свой):

sudo VBoxManage storagectl "Ubuntu" --name "IDE Controller" --add ide --controller PIIX4
sudo VBoxManage storageattach "Ubuntu" --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium "/home/user/Ubuntu.iso"

Включим оптимизации производительности:

sudo VBoxManage modifyvm "Ubuntu" --nestedpaging on
sudo VBoxManage modifyvm "Ubuntu" --largepages on

Примечание о больших страницах (largepages): они требуют поддержки со стороны хоста и соответствующих настроек в системе (hugepages), иначе включение не даст эффекта.

3. Настройка сети: Выбор и создание NAT Network

Типы сетей в VirtualBox (коротко):

  • NAT — самый простой; VM выходит в интернет через NAT хоста. По умолчанию нет входящих соединений.
  • NAT Network — NAT, но общая подсеть для нескольких ВМ (VM могут общаться друг с другом).
  • Bridged — VM получает IP в вашей физической сети (лучше для интеграции в LAN).
  • Internal/Host‑Only — изолированные сети; Host‑Only позволяет общение с хостом, но не с интернетом.

В этом руководстве используем NAT Network — гибко и удобно.

Создадим NAT Network на подсети 10.0.0.0/24 и запустим её:

sudo VBoxManage natnetwork add --netname natnet1 --network "10.0.0.0/24" --enable
sudo VBoxManage natnetwork start --netname natnet1

Привяжем сеть к VM:

sudo VBoxManage modifyvm "Ubuntu" --nic1 natnetwork --nat-network1 natnet1

Если нужно задать статический IP гостя в этой подсети, можно настроить DHCP или вручную внутри гостевой ОС. По умолчанию VirtualBox выдаёт IP через собственный DHCP сервера NAT Network.

4. Доступ к VM на headless‑сервере: VRDE (RDP)

Поскольку сервер headless, после старта VM мы не сможем подключиться к инсталлятору без передачи видео. Для этого включаем VRDE — удалённый RDP‑сервер VirtualBox (поставляется через Extension Pack).

Включаем VRDE и устанавливаем порт (например, 5587):

sudo VBoxManage modifyvm "Ubuntu" --vrde on
sudo VBoxManage modifyvm "Ubuntu" --vrdeport 5587

Запускаем VM в headless режиме (без открытия GUI на хосте):

sudo VBoxManage startvm "Ubuntu" --type headless

Подключитесь с любого RDP‑клиента к хоста:5587. По умолчанию VRDE может запросить логин; стандартно — пользователь “admin” и пустой пароль, но это зависит от конфигурации. Настоятельно рекомендуется установить пароль и ограничить доступ firewall’ом.

Важно: headless не означает отсутствие видеовыхода в гостевой ОС — это режим запуска на хосте без локального окна.

5. Проброс портов (port forwarding) после установки

Когда установка завершена, эффективнее управлять гостем по SSH и выключить VRDE. Для этого пробрасываем порты из хоста в гостя через NAT Network.

Пример: пробросить порт 2200 хоста на порт 22 гостя (guest IP 10.0.0.2):

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 "ssh:tcp:[]:2200:[10.0.0.2]:22"

Пример проброса RDP (если гостевая ОС использует RDP сервер) с порта 5589 на хосте на порт 3389 гостя:

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 "rdp:tcp:[]:5589:[10.11.0.2]:3389"

Удаление правила по имени (название — первая часть до “:”):

sudo VBoxManage natnetwork modify --netname natnet1 --port-forward-4 delete rdp

После проверки SSH/RDP можно выключить VRDE на VM:

sudo VBoxManage modifyvm "Ubuntu" --vrde off

Если вы используете UFW/iptables/firewalld на хосте — не забудьте открыть соответствующие порты (2200, 5589 и т. п.).

6. Полезные дополнительные команды

Просмотреть список ВМ и состояния:

VBoxManage list vms
VBoxManage list runningvms

Остановить VM (ACPI shutdown или poweroff):

sudo VBoxManage controlvm "Ubuntu" acpipowerbutton
sudo VBoxManage controlvm "Ubuntu" poweroff

Снэпшоты и бэкап:

sudo VBoxManage snapshot "Ubuntu" take "before-upgrade"
sudo VBoxManage clonemedium disk "Ubuntu.vdi" "Ubuntu-backup.vdi"

Информация о сети VM:

VBoxManage showvminfo "Ubuntu"

7. Отладка и типичные ошибки

Важно: часто проблемы связаны с версией Extension Pack, правами и firewall.

Сценарии и решения:

  • VRDE не отвечает: проверьте, установлен ли Extension Pack соответствующей версии; проверьте правило firewall на хосте; попробуйте удалить VNC‑extpack, если он конфликтует.
  • Ошибка при старте диска: проверьте, что контроллер (SAS/IDE) создан и диск правильно прикреплён.
  • VM не получает IP: проверьте natnetwork запущен ли, проверьте DHCP VirtualBox или настройте статический IP внутри гостя.
  • Не видно VM в GUI: если VM создана от root, GUI, запущенный под другим пользователем, не увидит эту VM. Запустите GUI от того же пользователя, что и VM (root), или создайте ВМ от обычного пользователя.

Краткий чеклист отладки:

  • Проверьте VBoxManage -v → версии совпадают с Extension Pack
  • VBoxManage list natnets → натсети видны
  • journalctl/syslog → ошибки VirtualBox
  • Проверка firewall/selinux → разрешить порты

8. Безопасность и рекомендации по эксплуатации

  • Пароли и доступ: не оставляйте VRDE с пустым паролем. Ограничьте доступ по IP в firewall.
  • SSH: используйте ключи SSH, отключите root‑логин по паролю в госте.
  • Бэкап: регулярно делайте снимки перед апгрейдом гостя и копируйте VDI на удалённое хранилище.
  • Обновления: обновляйте VirtualBox и Extension Pack синхронно.
  • Сегментация сети: храните тестовые ВМ в отдельной NAT Network, не в bridged с production‑сетями.

Рекомендация: если вы планируете длительно эксплуатировать множество ВМ в продакшене, рассмотрите KVM/Proxmox/ESXi — они лучше масштабируются и дают больший контроль безопасности.

9. Альтернативы и когда VirtualBox не подходит

Когда не выбирать VirtualBox:

  • Нужна максимальная производительность и минимальные overhead — выбирайте KVM/QEMU с virtio.
  • Нужна совместная инфраструктура для нескольких хостов — рассматривайте Proxmox, oVirt или VMware vSphere.
  • Планируется масштабирование на десятки/сотни хостов — корпоративные гипервизоры дают централизованное управление.

Коротко про QEMU/KVM: обеспечивает лучшую интеграцию с Linux, поддерживает live‑migration и SR‑IOV, но требует большей экспертизы.

10. Роль‑ориентированные чеклисты

Для системного администратора (быстрый набор задач):

  • Установить VirtualBox и Extension Pack той же версии
  • Создать natnetwork и задать подсеть
  • Создать VM, диск, контроллеры
  • Настроить VRDE и/или проброс портов
  • Настроить firewall и SSH ключи
  • Сделать snapshot перед критическими операциями

Для разработчика/инженера DevOps:

  • Подготовить cloud‑init/ansible playbook для настройки гостя
  • Добавить VM в CI/CD (если нужно) или автоматизированный бэкап
  • Тестировать откат по snapshot
  • Документировать используемые порты и адреса

11. SOP: быстрый план запуска VM из CLI (playbook)

  1. apt-get install virtualbox
  2. Проверить VBoxManage -v
  3. Скачайте Extension Pack версии X.Y.Z и установите extpack
  4. Создать natnetwork и запустить его
  5. Создать VM, диск, контроллеры, прикрепить ISO
  6. Настроить VRDE и порты или проброс SSH
  7. Start VM –type headless
  8. Подключиться по RDP и завершить установку гостя
  9. Настроить SSH в госте, отключить VRDE при необходимости
  10. Сделать snapshot

12. Критерии приёмки

  • VM успешно запускается в headless режиме
  • После установки гостевой ОС доступен SSH по проброшенному порту
  • VRDE отключён или защищён паролем, если не используется
  • Сделан snapshot и резервная копия диска
  • Журналы запуска без ошибок критического уровня

13. Мини‑чеклист тестирования (acceptance)

  • Проверить, что VBoxManage list runningvms показывает нужную ВМ
  • Установить соединение SSH на порт хоста 2200 → отвечает guest
  • Попросить коллегу подключиться извне — проверить firewall
  • Выполнить остановку и запуск VM, убедиться, что состояние восстанавливается

14. Терминология (глоссарий)

  • Host — физический сервер, на котором установлен VirtualBox
  • Guest — виртуальная машина
  • VRDE — VirtualBox Remote Desktop Extension (RDP‑сервер)
  • NAT Network — виртуальная сеть VirtualBox с NAT и DHCP
  • VDI — формат виртуального диска VirtualBox

15. Рекомендации по миграции и совместимости

  • При обновлении VirtualBox на хосте — одновременно обновляйте Extension Pack
  • При переносе VDI на другой хост — используйте VBoxManage clonemedium и проверьте версии VBox
  • Создавайте VMs от нерутового пользователя, если планируете управлять ими через GUI под этим пользователем

16. Заключение и советы

VirtualBox в режиме CLI на headless‑сервере — надёжный инструмент для небольших сред, тестирования и быстрых лабораторных развёртываний. Для продакшн‑инфраструктуры с высокими требованиями по производительности и масштабируемости следует рассмотреть KVM/Proxmox/ESXi.

Важно: всегда тестируйте процессы резервного копирования и отката, а также защищайте доступ к управлению VM и портам RDP/SSH.


Если вы хотите, могу подготовить примеры Ansible‑скриптов для автоматизации создания VM и проброса портов, или Mermaid‑диаграмму сети для вашей инфраструктуры.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро