Главная >> Инструкции >> Проброс портов VirtualBox

Проброс портов VirtualBox

VirtualBox - одна из самых популярных сред виртуализации, которые используются для запуска различных операционных систем. И довольно часто случается ситуация, что вам необходимо получить доступ к какому-либо сервису гостевой системы из основной, например, веб-серверу или ssh. Но по умолчанию сетевые интерфейсы изолированы и такой возможности нет.

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


Содержание статьи

Проброс портов в VirtualBox

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

Но если вам нужно получить доступ к какому-либо сервису гостевой машины, то можно пробросить порт этого сервиса в основную систему. Так работают порты VirtualBox. Для этого откройте контекстное меню для машины и нажмите "Настройки":

Затем перейдите на вкладку "Сеть", а потом разверните строчку "Дополнительно":

Тут вам нужно нажать кнопку "Проброс портов":

Дальше нажмите кнопку с зеленым значком "+". Тут нужно заполнить несколько полей:

  • Имя - любое имя, по которому вы сможете понять с чем имеете дело;
  • Протокол - протокол, по которому работает сервис, например, tcp;
  • Адрес хоста - адрес на основной машине, подключения к которому будут направляться на виртуальную машину, можно написать 127.0.0.1 или ip в локальной сети;
  • Порт хоста - порт, подключения к которому нужно перенаправлять на гостя;
  • Адрес гостя - на который нужно направлять подключения, оставьте пустым;
  • Порт гостя - порт, на который будут перенаправлены подключения с этого порта.

Адрес хоста в локальной сети можно узнать так:

ifconfig

 

Еще один важный момент, что порт с которого вы перенаправляете и на который перенаправляете не должны совпадать. Странное дело, но если перенаправлять с порта 80 на 80, то работать все это не будет. Нужно использовать 8080 на 80. Тогда все в порядке. Если вы не любитель много кликать, что можно воспользоваться командной терминала:

VBoxManage modifyvm "Имя машины" --natpf1 "rulename,tcp,127.0.0.1,8080,,80"

В этом примере взяты данные из рассмотренного выше примера. Теперь на хосте и виртуальной машине откроется одна и та же страница.

Проброс портов virtualbox nat работает.

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

Еще один способ получить доступ к виртуальной машине извне - использовать виртуальный адаптер хоста. Тут вы можете настроить все более подробно, а также получить отдельный ip для машины, что дает больше возможностей. Сначала нужно создать виртуальный адаптер. Для этого откройте меню "Файл", затем "Настройки":

Тут нужно перейти на вкладку "Сеть", затем "Виртуальные адаптеры":

Дальше нажмите кнопку "+", чтобы в списке появился пункт vboxnet0. Тут готово, нажмите несколько раз "Ok" чтобы закрыть это окно. Дальше откройте контекстное меню вашей виртуальной машины, потом "Настроить", а затем "Сеть":

 

Тут вам нужно в выпадающем списке заменить "NAT" на "Виртуальный адаптер хоста". В поле имя, выберите "vboxnet0":

Теперь можете запускать виртуальную машину и смотреть ее ip адрес:

 

По нему гостевая система будет доступной из внешней. Внешняя система теперь тоже полностью доступна из гостевой по адресу 192.168.56.1:

Выводы

В этой небольшой статье мы рассмотрели как выполняется проброс портов VirtualBox, это может быть очень полезным, если вы часто работаете с виртуальными машинами. Если у вас остались вопросы, спрашивайте в комментариях!

Оцените статью

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (6 оценок, среднее: 4,33 из 5)
Загрузка...

8 комментариев к “Проброс портов VirtualBox”

  1. Автор, расскажи еще как сделать чтобы входящие IP были реальными, а не как у хоста (для сервера видны все входящие как 10.0.2.2 или типа того, а нужно чтобы они были как есть)..

    Типа этого:
    От ОБЫЧНОГО пользователя, НЕ админа:
    cd "C:\Program Files\Oracle\VirtualBox"
    VBoxManage modifyvm "Debian Server (64-bit)" --nataliasmode1 proxyonly
    VBoxManage modifyvm "Debian Server (64-bit)" --nataliasmode1 sameports

    Но лучше погугли там как это правильно сделать.

    Проверить можно на php:

    Ответить
  2. Правильно ли я понимаю, что во втором случае мы получаем виртуальный адаптер со своим виртуальным MAC, который и будет у нас отображаться во внешней интернет-сети? И реальный MAC туда уже никак не просочится? Или есть нюансы?

    Ответить
  3. Ув. автор, покажите в статье, что в браузере нужно вводить именно адрес и порт "Откуда", а не "Куда".
    Т.е. пробрасываю от 127.0.01:9081 к 10.0.2.15:81.
    После проброса я все пытался достучаться именно до 10.0.2.15:81, хотя нужно было стучаться сюда 127.0.01:9081. Для начинающих это не очевидно.

    Ответить

Оставьте комментарий