Как перенаправить порты на виртуальную машину и использовать ее в качестве сервера
VirtualBox и VMware по умолчанию создают виртуальные машины с типом сети NAT. Если вы хотите запустить серверное программное обеспечение внутри виртуальной машины, вам нужно изменить тип сети или переадресовать порты через виртуальный NAT.
Виртуальные машины обычно не должны быть доступны извне виртуальной машины, поэтому для большинства людей по умолчанию подходит. Это фактически обеспечивает некоторую безопасность, поскольку изолирует виртуальную машину от входящих соединений..
Выбор мостовой сети
При использовании типа сети NAT операционная система вашего хоста выполняет преобразование сетевых адресов. Виртуальная машина использует IP-адрес вашего хост-компьютера и не будет получать входящий трафик. Вместо этого вы можете использовать режим сетевого моста - в мостовом режиме виртуальная машина будет отображаться как отдельное устройство в вашей сети и иметь собственный IP-адрес..
Чтобы изменить тип сети виртуальной машины в VirtualBox, щелкните правой кнопкой мыши виртуальную машину и выберите «Настройки». Если вы не можете нажать «Настройки», вам необходимо отключить виртуальную машину перед внесением этих изменений..
Выберите сетевой режим сетевого адаптера в разделе «Сетевые настройки» и нажмите «ОК». Для получения дополнительной информации о каждом типе сетевого режима, обратитесь к разделу Введение в сетевые режимы в руководстве VirtualBox.
Процесс аналогичен в приложениях VMware. Сначала щелкните правой кнопкой мыши выключенную виртуальную машину и выберите «Настройки виртуальной машины»..
Выберите виртуальное аппаратное устройство сетевого адаптера, выберите тип сетевого подключения Bridged и нажмите OK..
Переадресация портов на виртуальную машину
Если вы по какой-то причине предпочитаете использовать сетевой режим NAT, вы также можете перенаправлять порты через NAT виртуальной машины. Обратите внимание, что необходим только один из этих шагов - вам не нужно перенаправлять порты, если вы включили мостовую сеть выше.
В какой-то момент вам пришлось использовать команду VBoxManage для переадресации портов в VirtualBox, но теперь VirtualBox содержит простое графическое окно переадресации портов. Если вам нужно настроить переадресацию портов с помощью команды VBoxManage вместо использования графического интерфейса, вы найдете инструкции для этого в руководстве VirtualBox.
Для переадресации портов в VirtualBox сначала откройте окно настроек виртуальной машины, выбрав в меню пункт «Настройки»..
Выберите панель «Сеть» в окне конфигурации виртуальной машины, разверните раздел «Дополнительно» и нажмите кнопку «Переадресация портов». Обратите внимание, что эта кнопка активна, только если вы используете тип сети NAT - вам нужно только перенаправлять порты, если вы используете NAT.
Используйте окно правил переадресации портов VirtualBox для переадресации портов. Вам не нужно указывать какие-либо IP-адреса - эти два поля являются необязательными.
Заметка: Хотя вам не нужно вводить какие-либо данные IP, оставив поле Host IP пустым, VirtualBox будет прослушивать 0.0.0.0 - другими словами, он будет принимать весь трафик из локальной сети и перенаправлять его на вашу виртуальную машину. Войти 127.0.0.1
в поле Host IP и VirtualBox будет принимать только трафик, исходящий от вашего компьютера, другими словами, в операционной системе хоста.
Если вы используете VMware, вам нужно использовать приложение Virtual Network Editor (vmnetcfg) для этого. Пользователи VMware Workstation могут выбрать Edit -> Virtual Network Editor, чтобы открыть его.
К сожалению, эта утилита не включена в VMware Player. Есть способы для его самостоятельной установки путем извлечения файла vmnetcfg.exe из установщика VMware Player, но я не смог найти утилиту vmnetcfg.exe в последней версии VMware Player, VMware Player 5.0 - он больше не может быть включен в установщик. Если вы используете VMware Player, вы все равно можете использовать режим сетевого моста, чтобы сделать ваш сервер доступным.
Помните, что это только часть процесса обеспечения доступности серверного программного обеспечения внутри виртуальной машины. Вам также необходимо убедиться, что:
- Программное обеспечение брандмауэра, работающее внутри вашей виртуальной машины, не блокирует соединения. (Возможно, вам потребуется разрешить серверную программу в брандмауэре гостевой операционной системы.)
- Программное обеспечение брандмауэра на вашем хост-компьютере не блокирует соединения. (Это относится только к режиму NAT с переадресацией портов - брандмауэр хост-компьютера не вмешивается в режим сетевого моста.)
- Ваш маршрутизатор правильно перенаправляет порты - это необходимо, только если вы хотите получить доступ к виртуальной машине из Интернета. (Обратитесь к нашему руководству по переадресации портов на маршрутизаторах здесь.)