Меню Рубрики

Virtualbox windows проброс портов

Определение и настройка проброса портов в VirtualBox

Проброс портов в виртуальную машину VirtualBox требуется, чтобы получить доступ к сетевым службам гостевой ОС из внешних источников. Этот вариант предпочтительнее, чем смена типа подключения на режим моста (bridge), поскольку пользователь может сам выбирать, какие порты открыть, а какие оставить закрытыми.

Настройка проброса портов в VirtualBox

Данная функция настраивается для каждой машины, созданной в VirtualBox, в индивидуальном порядке. При правильной настройке обращения к порту хостовой ОС будет перенаправляться к гостевой системе. Это может быть актуально, если на виртуальной машине необходимо поднять сервер или домен, доступный для обращения из сети интернет.

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

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

  1. Запустите VirtualBox Менеджер и зайдите в настройки своей виртуальной машины.


Переключитесь на вкладку «Сеть» и выберите вкладку с одним из четырех адаптеров, который хотите настроить.


Если адаптер выключен, включите его, установив соответствующую галочку. Тип подключения должен быть NAT.


Щелкните по «Дополнительно», чтобы развернуть скрытые настройки, и нажмите на кнопку «Проброс портов».


Откроется окно, задающее правила. Чтобы добавить новое правило, кликните по иконке с плюсом.

  • Создастся таблица, где нужно будет заполнить ячейки в соответствии с вашими данными.
    • Имя — любое;
    • Протокол — TCP (UDP используется в редких случаях);
    • Адрес хоста — IP хостовой ОС;
    • Порт хоста — порт хостовой системы, который будет использоваться для входа в гостевую ОС;
    • Адрес гостя — IP гостевой ОС;
    • Порт гостя — порт гостевой системы, куда будут перенаправляться запросы с хостовой ОС, отправленные по порту, указанному в поле «Порт хоста».
  • Перенаправление работает только тогда, когда виртуальная машина запущена. При отключенной гостевой ОС все обращения к портам хост-системы будут обрабатываться ей же.

    Заполнение полей «Адрес хоста» и «Адрес гостя»

    При создании каждого нового правила для проброса портов, желательно заполнять ячейки «Адрес хоста» и «Адрес гостя». Если нет необходимости в конкретизации IP-адресов, то поля можно оставить пустыми.

    Чтобы работать с определенными IP, в «Адрес хоста» требуется вписать адрес локальной подсети, полученный от роутера, или прямой IP хост-системы. В «Адрес гостя» необходимо прописать адрес гостевой системы.

    В обоих типах операционных систем (хостовая и гостевая) IP можно узнать одинаково.


    В Linux:

    Терминал > ifconfig > строка inet

    После выполненных настроек не забудьте проверить, будут ли работать проброшенные порты.

    Источник

    Как настроить проброс портов в виртуальной машине Virtual Box

    В настоящее время пользователи на компьютерах нередко используют виртуальные машины, например, Virtual Box, VMWare и другие. Применение виртуальных машин оправдано, по крайней мере, тем, что в них можно устанавливать другие операционные системы (ОС), а также запускать небезопасные приложения. Иногда возникает необходимость – взаимодействовать с приложениями, работающими в виртуальной машине (точнее, работающими в операционной системе, установленной в виртуальной машине) при помощи вебтехнологий, т.е. на основе HTTP(S)-запросов. Как это сделать?

    В гостевой ОС запущен некий сервер, т.е. программа, которая открыла на прослушивание порт (скажем, под номером 3000), принимает запросы от любого клиента и дает ответ. Неважно, какой конкретно это сервер – то ли Apache, то ли NodeJS, то ли вовсе нечто самодельное. Главное, чтобы программа открыла на прослушивание тот или иной порт и была способна что-то делать в ответ.

    Мы хотим направлять вебзапрос из хостовой ОС (например, при помощи браузера) программе, которая запущена в гостевой ОС (функционирующей в виртуальной машине).

    При настройках по умолчанию сделать это, конечно, не удастся. Как минимум, потому, что сетевой интерфейс Virtual Box функционирует в режиме NAT.

    Виртуальная машина с сетевым интерфейсом в режиме NAT подключается к сети, также как реальный компьютер подключается к Internet через маршрутизатор. «Маршрутизатором» в данном случае выступает сетевой модуль VirtualBox, который обрабатывает сетевой трафик виртуальной машины. Недостаток режима NAT, как и в случае локальной сети за маршрутизатором, в том что:

    Режим NAT характерен, в частности, тем, что защищает операционную систему от несанкционированного доступа извне. Т.е. при этом невозможно сделать к ней запрос, как к вебсерверу. Однако, если САМА операционная система сделала запрос, то тогда (и только тогда) политика NAT позволяет ей получить ответ. Т.е. в рамках политики NAT операционная система извне может получать только ответы на свои запросы.

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

    1. Запускаем Virtual Box

    Внимание: гостевую ОС, функционирующую в виртуальной машине, пока НЕ ЗАПУСКАЕМ! Иначе невозможно будет сделать нижеидущие настройки.

    2. Далее:

    Файл -> Настройки -> Сеть -> Виртуальные сети хоста

    Там должна быть, по крайней мере, одна сеть вида VirtualBox Host-Only Ethernet Adapter:

    3. В хостовой ОС выбираем:

    Центр управления сетями -> Сетевые подключения

    Т.е. в сетевых подключениях также присутствует VirtualBox Host-Only Network. Скорее всего, он будет отключенным. Тогда следует подключить его. Это делается либо путем двойного клика левой кнопкой мыши, либо путем клика правой кнопкой мыши, затем Подключить .

    Тем самым, мы подключим виртуальную сеть, как раз и необходимую для взаимодействия хостовой (Windows 7) и гостевой (Linux Ubuntu) операционных систем.

    Отметим, что справа там видны еще VMware Network Adapter VMnet1 и VMware Network Adapter VMnet8. Эти соединения необходимы для сети интернет при работе в другой виртуальной машине — VMware, их мы сегодня касаться не будем, они не нужны для Virtual Box.

    4. Нажав на кнопку настроек (для изменения выбранной сети), затем Адаптер, получим:

    Видим, что IPv4-адрес назначен как 192.168.56.1 . Запомним его, он нам пригодится, так как потом именно на него будем делать запросы. Но, если есть желание, можно выбрать и какой-то другой адрес (НО: исключительно в рамках маски 255.255.255.0 ).

    Перейдя на вкладку DHCP-сервер, убеждаемся, что стоит галочка у «Включить сервер». Если она вдруг отсутствует, ставим ее. DHCP-сервер нужен для автоматического назначения IP-адресов сетевым интерфейсам в виртуальной машине. Если его отключить, скорее всего, придется назначать адреса вручную.

    Итак, мы убедились, что IP-адрес задан (или сами задали более подходящий, на наш взгляд, адрес), DHCP-сервер включен. Убедились также, что в сетевых подключениях хостовой ОС имеется соединение VirtualBox Host-Only Network для VirtualBox Host-Only Ethernet Adapter .

    5. Далее:

    Настроить -> Сеть -> Дополнительно

    Видим, что часть настроек невозможна (опции имеют серый цвет):

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

    Нажимаем кнопку « Сбросить ». Затем вновь:

    Настроить -> Сеть -> Дополнительно

    Как видно, теперь появилась возможность настроек:

    Отметим, что это – несколько другие сетевые настройки Virtual Box, не те, что присутствуют во вкладке Файл -> Настройки -> Сеть -> Виртуальные сети хоста). Зачем в Virtual Box сделаны РАЗНЫЕ сетевые настройки в РАЗНЫХ вкладках – непонятно…

    Сетевой адаптер должен быть включен (должна стоять галочка; если ее почему-то нет — поставьте).

    В качестве типа подключения по умолчанию должен быть установлен как раз NAT. Можете кликнуть по выбору типа подключения, там возникнет меню с дополнительными пунктами «Сетевой мост», «Внутренняя сеть», и т.д. В нашем случае они нас не интересуют, нужна именно NAT.

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

    6. Нажимаем кнопку « Проброс портов », затем « Добавить новое правило » (зеленоватая кнопка со знаком + ).

    Там указываем интересующий нас порт, в данном случае – 3000 . Если мы хотим направлять запросы из хостовой системы с порта 3000, тогда как получать их в виртуальной машине в гостевой системе мы планируем на порт, к примеру, 3001 , стало быть, указываем это число как для порта хоста, так и для порта гостя:

    Если хотим также, чтобы запросы отправлялись с хоста в виртуальную машину только при обращении по какому-то конкретному IP-адресу, то необходимо его указать в адресе хоста. Точно также, если в виртуальной машине будет несколько IP-интерфейсов и мы хотим направлять запросы только одному из них, следует указать этот адрес в поле «Адрес гостя». Отметим, что можно создать не одно правило, а несколько. Т.е. можно направлять запросы с хоста на разные адреса, по разным портам и, если заданы соответствующие правила, они попадут в виртуальную машину и будут переадресованы соответствующей программе-серверу.

    В нашем случае мы не будем утруждаться с IP-адресами, поступим проще: оставим адресные поля пустыми. Это означает, что запросы, направленные с хоста на порт 3000, НЕЗАВИСИМО от IP-адреса, будут попадать в виртуальную машину на порт 3001 по ВСЕМ IP-адресам (если их там будет несколько).

    Далее, нажимаем « ОК », затем еще раз « ОК ». Может появиться окно, запрашивающее Вашего согласия во внесение изменений в настройки брандмауэра Windows. Это и естественно: ведь мы, строго говоря, ослабляем политику NAT для гостевой ОС (функционирующей в виртуальной машине), разрешая входящие запросы для всех IP-адресов 3001 -му порту.

    7. Теперь пора запускать операционную систему в виртуальной машине

    8. Проверяем, каков IP-адрес у Ethernet adapter VirtualBox Host-Only Network . Для этого в хостовой ОС (т.е. в Windows 7) запускаем консоль:

    Пуск -> Выполнить -> cmd

    Там пишем: ipconfig . И вот что получаем:

    Интересно, что в Windows команда формулируется как i p config , тогда как несколько аналогичная команда в Linux звучит как i f config . Любопытно, для чего такая несогласованность? Чтобы пользователи linux тренировали свою память, что ли? Ведь вариант из Windows – более логичен, речь-то идет об ip-адресах…

    В месте, касающемся Virtual Box, можно видеть, что IP-адрес – тот же самый, что мы видели в настройках: 192.168.56.1 . Стало быть, все хорошо, на это адрес потом можно будет отправлять запросы и они должны попасть в гостевую ОС. Итак, проброс портов из хоста (основной операционной системы) в гостевую — выполнен.

    Источник

    Проброс портов в VirtualBox для подключения к Linux по SSH

    В данной статье мы с Вами рассмотрим возможность программы VirtualBox пробрасывать порты в гостевую операционную систему, для того чтобы иметь доступ к ней с хоста, т.е. с реальной машины, например, в тех случаях, когда подключение (сеть) в гостевой ОС в VirtualBox работает в режиме «NAT».

    Данная возможность будет полезна, например, когда Вам нужен одновременно и доступ к Интернету в гостевой операционной системе, и доступ к каким-нибудь сервисам в гостевой ОС с хоста.

    Доступ к Интернету в гостевой ОС можно получить с помощью выбора типа подключения «NAT», но как Вы, наверное, знаете, при этом теряется доступ к сервисам гостевой ОС с реального Вашего компьютера. Данную проблему как раз и решает проброс портов.

    Рассматривать проброс портов мы будем на примере случая, когда Вы создали виртуальную машину в VirtualBox и установили в нее серверную операционную систему, например Linux Ubuntu Server, при этом Вы настроили сеть в режиме NAT для доступа в Интернет, но доступа к гостевой операционной системе (Ubuntu Server) у Вас нет. Например, Вы не можете подключиться к ней по SSH со своего компьютера, или обратиться к Web серверу, или даже просто скопировать команду и вставить в консоль. Поэтому давайте пробросим порт в гостевую ОС, например, для того чтобы подключится к ней по SSH всем известной программой PuTTY. С помощью нее мы сможем без проблем управлять сервером и в случае необходимости копировать команды в нее.

    PuTTY – это бесплатная клиентская программа для удаленного подключения, например к серверам по протоколам SSH, Telnet и другим. Она позволяет управлять удаленным компьютером. PuTTY — это клиентская часть, серверная должна быть реализована на удаленной стороне, например, в нашем случае в Ubuntu Server должен быть установлен SSH сервер. Скачать PuTTY можно с официального сайта — www.putty.org.

    Настройка проброса портов в VirtualBox для SSH

    SSH – сервер обычно прослушивает 22 порт, поэтому нам необходимо пробросить подключение именно на 22 порт.

    Шаг 1

    Для того чтобы пробросить порт, запускаем VirtualBox и заходим в настройки нашей виртуальной машины с Ubuntu Server. Например, выбираем нужную машину и нажимаем кнопку «Настроить», данный пункт также доступен, если нажать правой кнопкой мыши по выбранной виртуальной машине.

    Шаг 2

    Затем переходим в раздел настроек «Сеть», и открываем вкладку с включенным адаптером. Тип подключения, как Вы помните, «NAT» — для доступа в Интернет.

    Шаг 3

    Далее щелкаем на пункт «Дополнительно», чтобы отобразить дополнительные настройки данного адаптера, и после этого нажимаем на кнопку «Проброс портов».

    Шаг 4

    В итоге у нас откроется окно «Правила проброса портов». Для добавления нового правила нажимаем на иконку с плюсиком.

    Шаг 5

    На данном этапе Вы уже должны знать IP адрес гостевой операционной системы и порт, который прослушивает SSH сервер (по умолчанию это 22 порт). В Ubuntu Server IP адрес можно узнать с помощью команды ifconfig (по умолчанию это 10.2.0.15).

    Описание колонок таблицы с правилами:

    • Имя – название правила, в нашем случае разумно назвать SSH;
    • Протокол – протокол, по которому будет происходить взаимодействие. В обычных случаях это – TCP;
    • IP хоста – IP адрес Вашего реального компьютера, можно указать 127.0.0.1 или оставить данное поле пустым;
    • Порт хоста – любой свободный порт Вашего компьютера, который будет использоваться для перенаправления на нужный порт в гостевой ОС. Я указал 2222;
    • IP гостя – здесь указываем IP адрес гостевой операционной системы на который будет происходить перенаправление, в моем случае это 10.2.0.15;
    • Порт гостя – порт гостевой ОС, на который нам необходимо пробрасывать наши запросы. В нашем случае это 22 порт, который прослушивает SSH сервер.

    После заполнения таблицы с правилом, нажимаем «ОК».

    Шаг 6

    На этом настройка проброса портов закончена, теперь мы можем проверить работу данного правила (проброса). Для этого сначала запускаем виртуальную машину с Ubuntu Server, а затем программу PuTTY. На вкладке Session выбираем тип соединения SSH и в поле Host Name пишем локальный адрес компьютера (хоста), которой мы указывали в колонке «IP хоста» в правилах проброса портов, если ничего не указывали, то пишите 127.0.0.1. В поле порт указываем номер порта, который мы указывали в колонке «Порт хоста», т.е. 2222. Нажимаем кнопку «Open».

    Если после этого Вы получили приглашение на ввод логина, то это значит, что подключение работает, и Вы, соответственно, можете вводить учетные данные от гостевой операционной системы.

    У меня на этом все, надеюсь, материал был Вам полезен, пока!

    Источник

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Virtualbox windows xp тормозит
  • Virtualbox windows xp на весь экран
  • Virtualbox windows 10 preview
  • Virtualbox windows 10 bluescreen
  • Virtualbox windows 7 сетевой мост