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

Как пробросить порты в виртуальную машину и использовать её как сервер

7 min read Сеть Обновлено 18 Dec 2025
Проброс портов в виртуальную машину
Проброс портов в виртуальную машину

Как пробросить порты в виртуальную машину и использовать её как сервер

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

  • Выбор мостового режима сети

  • Проброс портов в виртуальную машину

VirtualBox и VMware по умолчанию создают виртуальные машины с типом сети NAT. Если вы планируете запускать серверное ПО внутри виртуальной машины, нужно либо переключить сетевой режим, либо настроить проброс портов через виртуальный NAT.

По умолчанию виртуальной машине не требуется быть доступной извне, и NAT обеспечивает дополнительную изоляцию и безопасность. Но если вам нужен сервер, к которому будут подключаться другие устройства, используйте мостовой режим или настройте port forwarding.

Выбор мостового режима сети

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

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

Сцентрированное окно настроек VirtualBox с вкладкой сети и выбором Bridged

В секции сети выберите режим Bridged adapter и нажмите OK. Для детального описания всех режимов обратитесь к разделу Introduction to networking modes в руководстве VirtualBox.

Параметры сетевого подключения VirtualBox с выбором Bridged

В VMware процесс похож. Сначала выключите виртуальную машину, щёлкните правой кнопкой и выберите Virtual Machine Settings.

Окно настроек виртуальной машины в VMware перед выбором сетевого адаптера

Выберите виртуальное устройство Network Adapter, установите соединение Bridged и нажмите OK.

Сетевой адаптер VMware — выбор Bridged для виртуальной машины

Проброс портов в виртуальную машину

Если по каким-то причинам вы хотите оставить NAT (удобно для изоляции и тестов), можно настроить проброс портов через виртуальный NAT. Важно: делать это не обязательно, если вы уже включили мостовой режим.

Раньше для проброса портов в VirtualBox приходилось использовать команду VBoxManage, но в современных версиях VirtualBox есть окно настройки port forwarding в графическом интерфейсе. Инструкции по VBoxManage всё ещё есть в документации VirtualBox, если вы предпочитаете CLI.

Чтобы настроить проброс портов в VirtualBox, откройте окно настроек виртуальной машины — выберите “Настройки” в меню.

Окно настроек виртуальной машины VirtualBox — пункт Сеть выделен

Выберите вкладку Сеть, разверните раздел Дополнительно и нажмите кнопку Проброс портов. Кнопка активна только при типе сети NAT — проброс портов нужен лишь в этом режиме.

Окно VirtualBox с разделом Дополнительно и кнопкой Проброс портов

Используйте окно Port Forwarding Rules для добавления правил проброса. IP-адреса указывать необязательно — поля Host IP и Guest IP опциональны.

Важно: если оставить поле Host IP пустым, VirtualBox будет слушать на 0.0.0.0 — то есть принимать трафик со всех интерфейсов локальной сети и перенаправлять его в виртуальную машину. Если в поле Host IP ввести:

127.0.0.1

то VirtualBox будет принимать только трафик, исходящий с локального компьютера (хост ОС).

Правила проброса портов VirtualBox — пример списка правил и полей Host/Guest

В VMware нужно использовать утилиту Virtual Network Editor (vmnetcfg) для настройки проброса портов и сетевых правил. В VMware Workstation её можно открыть через Edit -> Virtual Network Editor.

К сожалению, этот инструмент не входит в комплект VMware Player. Существовали способы извлечь vmnetcfg.exe из установщика, но в последних выпусках он может отсутствовать. Если вы используете VMware Player, проще переключиться на мостовой режим, чтобы сделать сервер доступным.


Что ещё нужно сделать, чтобы сервер работал и был доступен

Проброс портов — только часть работы. Проверьте также:

  • Файрвол внутри гостевой ОС: убедитесь, что порт и программа разрешены в guest firewall. Откройте порт и/или добавьте правило для сервиса.
  • Файрвол на хосте: в режиме NAT с пробросом портов хост может блокировать соединения.
  • Проброс на роутере: если доступ нужен из интернета, настроьте port forwarding на вашем маршрутизаторе на IP хоста (в случае NAT) или на IP виртуальной машины (в случае Bridged). См. руководство по пробросу портов на роутере.

Ментальные модели и когда какой метод выбирать

  • Мост (Bridged): мыслите о VM как о полноценном устройстве в вашей локальной сети. Удобно для постоянных серверов, тестирования сетевых сервисов и когда нужен прямой доступ из локалки.
  • NAT + проброс портов: VM остаётся изолированной, а вы открываете только необходимые порты. Хорошо для разработческих сред, где нужна минимальная экспозиция и контроль.
  • NAT без проброса: для клиентских или тестовых задач, где доступ из вне не требуется.

Когда это не сработает:

  • Провайдер блокирует порт на уровне сети (ISP). В этом случае ни проброс в VM, ни правила роутера не помогут — попробуйте другой порт или VPN.
  • VMware Player без vmnetcfg не позволит гибко настраивать NAT-проброс — используйте мостовой режим.

Быстрый SOP: как включить сервер в VirtualBox за 10 шагов

  1. Выключите виртуальную машину.
  2. Откройте Настройки -> Сеть.
  3. Выберите Bridged adapter, если нужна прямая доступность, или оставьте NAT для изоляции.
  4. Если оставили NAT — Разверните Дополнительно -> Проброс портов.
  5. Добавьте правило: Host Port -> внешний порт, Guest Port -> порт сервиса в госте.
  6. При необходимости укажите Host IP (127.0.0.1 для локального доступа только с хоста).
  7. Запустите VM.
  8. Проверьте, что служба в госте слушает на правильном порту и интерфейсе (команды: netstat, ss или соответствующие).
  9. Проверьте файрвол в гостевой ОС и на хосте.
  10. Если нужен доступ из интернета — настройте проброс портов на роутере.

Ролевые чек-листы

Администратор:

  • Убедиться, что IP-адрес VM корректен (Bridged) или проброс правил настроен (NAT).
  • Настроить правила файрвола на хосте и в гостевой ОС.
  • Протестировать подключение с внешней машины.

Разработчик:

  • Настроить сервис на прослушивание нужного интерфейса (0.0.0.0 или конкретный IP).
  • Локально протестировать доступ: curl/浏览器/тестовый клиент.

Пользователь/тестировщик:

  • Проверить, что URL или IP:порт доступны.
  • Сообщить администратору журналы ошибок при недоступности.

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

  • Сервис в гостевой ОС отвечает на ожидаемом порту с ожидаемым ответом.
  • Подключение успешно с другой машины в локальной сети (для Bridged) или с хоста (для NAT+127.0.0.1).
  • Файрволы не блокируют трафик.
  • Для доступа из интернета проверен проброс портов на роутере и внешняя проверка подключаемости.

Проверки и тест-кейсы

  • Локальная проверка: в гостевой ОС выполнить curl http://127.0.0.1:PORT или аналог.
  • Тест с хоста: curl http://HOST_IP:HOST_PORT (если проброс настроен).
  • Тест из локальной сети: с другой машины выполнить curl http://VM_IP:PORT (для Bridged).
  • Тест из интернета: использовать внешний ресурс проверки портов или попросить коллегу подключиться извне.

Отладка: типичные проблемы и их исправления

  • Нет ответа: проверьте, слушает ли сервис (ss -tln, netstat -tln).
  • Порт закрыт: проверьте правила файрвола (ufw, firewalld, iptables) в госте и на хосте.
  • Проброс не работает: убедитесь, что правило VirtualBox активировано и нет конфликтов портов на хосте.
  • VMware Player: если нет vmnetcfg, используйте Bridged.

Факт-бокс

  • VirtualBox: графический порт-форвардинг доступен через Настройки -> Сеть -> Дополнительно -> Проброс портов.
  • VMware Workstation: Virtual Network Editor доступен через Edit -> Virtual Network Editor.
  • VMware Player: инструмент может отсутствовать в последней сборке — используйте Bridged.

Альтернативные подходы

  • Использовать обратный туннель (reverse SSH tunnel) для временного доступа без изменения роутера.
  • Использовать VPN или Zerotier/Tailscale, чтобы подключать VM к общей виртуальной сети.
  • Развернуть прокси на хосте, который перенаправляет трафик на VM.

Пример решения через обратный SSH-туннель (короткая подсказка)

На хосте/сервере с публичным IP выполните команду из гостевой ОС:

ssh -R 8080:localhost:80 user@public-host

Это пробросит порт 80 гостя на порт 8080 публичного хоста. Используйте с осторожностью и проверяйте безопасность соединения.

Короткое резюме

  • Для простоты и постоянной доступности используйте Bridged.
  • Для контролируемой экспозиции используйте NAT + проброс портов и указывайте Host IP, если хотите ограничить доступ только хостом.
  • Всегда проверяйте файрволы внутри гостя и на хосте, а для доступа из интернета настраивайте роутер.

Важно: если проброс портов нужен временно или вы не хотите менять роутер — рассмотрите обратный туннель или VPN.

Заметки: не забудьте следить за безопасностью сервисов, обновлениями и ограничивать доступ по IP там, где это возможно.

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

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

Что такое SDK и как использовать AWS Boto3 для SQS
Разработка

Что такое SDK и как использовать AWS Boto3 для SQS

Homebridge на Raspberry Pi — полное руководство
Умный дом

Homebridge на Raspberry Pi — полное руководство

Как выбрать сервис музыкального стриминга
Музыка

Как выбрать сервис музыкального стриминга

Как получить помощь в Windows 10
Поддержка Windows

Как получить помощь в Windows 10

Как ввести iPad в режим восстановления
Гайд

Как ввести iPad в режим восстановления

Explore в Google Sheets: быстрый анализ и графики
Google Sheets

Explore в Google Sheets: быстрый анализ и графики