Новости из Блогов Virtualbox. Проброс портов на гостевую систему. Режим NAT.

Discussion in 'Мировые новости. Обсуждения.' started by d3l3t3, 27 Mar 2012.

  1. d3l3t3

    d3l3t3 Banned

    Joined:
    3 Dec 2010
    Messages:
    1,771
    Likes Received:
    98
    Reputations:
    10
    Virtualbox. Проброс портов на гостевую систему. Режим NAT.



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

    Вообще для того, чтобы обратиться к удаленному хосту, тот должен иметь прямой ip-адрес, в нашем случае прямой «айпишник» будет принадлежать тому устройству, на котором работает виртуальная машина с гостевой операционкой. Используем режим NAT, перенаправим порт, и при обращению к порту, скажем, 80-му, мы попадем запросом не на хост-систему, а на виртуальную.
    Надеюсь, вы поняли =)
    Рассмотрим ситуацию с гостевой windows xp.

    Запускаем виртуальную машину, гостевую систему, открываем меню «Пуск», пукнт «Выполнить».
    Вводим cmd, тыкаем enter. Попали в командную строку, введем
    ipconfig
    Получаем что-то типа такого:

    [​IMG]

    Наша искомая строка:
    Code:
    IP-адрес  . . . . . . . . . . . . : 10.0.2.15
    10.0.2.15 — адрес гостевой системы, его следует запомнить.

    Теперь выясним, какой адрес у хост-системы. Для этого необходимо повторить действия, описанные выше для windows.

    [​IMG]

    скрин старый, по этому ip отличается)

    Для linux в консоли ifconfig:

    [​IMG]

    Запоминаем 192.168.1.3.
    Это адрес из локальной подсети, выдан мне роутером. В случае, когда у вас прямой адрес, он не может быть из диапазона частных IP-адресов. Подробнее на http://onthar.in/goto/http://ru.wikipedia.org/wiki/IP-адрес.

    Гасим гостевую систему, т.к. нам нужно будет изменить некоторые конфиги: открываем свойства виртуальной машины, вкладка сеть. Выберем режим NAT, развернем пункт «Дополнительно», внизу появится кнопка «Проброс портов», нажимаем.

    [​IMG]

    Вводим полученные данные, как на скриншоте:

    [​IMG]

    • Имя — Apache
    • Протокол — TCP
    • IP хоста — IP-адрес хост-системы, то есть нашей основной
    • операционки.
    • Порт хоста/порт гостя — порт, используемый сервером/демоном/приложением.
    • IP гостя — IP-адрес гостевой системы

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

    Все, порт проброшен, теперь при обращению к нашему компьютеру (условно будет 192.168.1.3) на порт 80, отвечать будет порт виртуальной системы. Работает это только тогда, когда эта виртуалка запущена, иначе запрос будет попадать на порт реальной ОСи и не будет перенаправлен куда-либо.

    http://onthar.in/articles/howto/virtualbox-probros-portov-na-gostevuyu-sistemu-rezhim-nat/
     
    #1 d3l3t3, 27 Mar 2012
    Last edited by a moderator: 27 Mar 2012