За последние 24 часа нас посетили 20559 программистов и 1086 роботов. Сейчас ищут 690 программистов ...

Vagrant — почему не работает проброшенный порт?

Тема в разделе "Версионность, тестирование и развёртывание", создана пользователем at0m1x, 24 дек 2015.

  1. at0m1x

    at0m1x Активный пользователь

    С нами с:
    18 дек 2011
    Сообщения:
    31
    Симпатии:
    0
    С помощью Vagrant настроена виртуалка с Ubuntu server и PHP.

    Проброшен порт:
    host: '1234'
    guest: '1144'

    При старте вагранта (vagrant up) он пишет:
    ==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
    ==> default: Forwarding ports...
    default: 22 => 8016 (adapter 1)
    default: 1144 => 1234 (adapter 1)
    default: 22 => 2222 (adapter 1)


    Запускаю на виртуалке встроенный PHP сервер:
    $ php -S 0.0.0.0:1144
    PHP 5.5.29-1+deb.sury.org~trusty+3 Development Server started at Thu Dec 24 10:47:34 2015
    Listening on http://0.0.0.0:1144
    Document root is /home/vagrant
    Press Ctrl-C to quit.


    Пытаюсь открыть на хост машине (т.е. основная ОС которая стоит на компе, не виртуалка) адрес:
    127.0.0.1:1234
    или
    192.168.56.101:1234

    Не открывается, скорее всего напутал с IP или портами, пока не понял в чем именно.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    хз. про порт 22 у тебя два раза написано, это нормально?
     
  3. at0m1x

    at0m1x Активный пользователь

    С нами с:
    18 дек 2011
    Сообщения:
    31
    Симпатии:
    0
    Врят ли это на что то влияет, работает и тот и другой, если подключатся через путти, они мне не сильно мешают)
     
  4. at0m1x

    at0m1x Активный пользователь

    С нами с:
    18 дек 2011
    Сообщения:
    31
    Симпатии:
    0
    Нашел решение, отвечаю на свой вопрос.

    1. Настройка сети в VirtualBox имеет вид:
    prntscr.com/9i3dld

    2. Запускаем встроенный PHP сервер на виртуальной машине только под 0.0.0.0 IP, например так:
    $ php -S 0.0.0.0:8081

    3. Открываем на виртуальной машине порт 8081 в наружу:
    $ sudo iptables -I INPUT -p tcp -m tcp --dport 8081 -j ACCEPT


    4. На хост машине (винда) в браузере указываем внешний IP адрес виртуальной машины и тот порт который мы открыли в наружу:
    192.168.56.101:8081

    После таких "не хитрых" : ) манипуляций заработало.
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.068
    Симпатии:
    1.231
    Адрес:
    там-сям
    ты сам-то понял, что сейчас работает НЕ через проброшенный порт? получается у тебя не было такой необходимости, только мозг буцкал себе и нам.
     
  6. at0m1x

    at0m1x Активный пользователь

    С нами с:
    18 дек 2011
    Сообщения:
    31
    Симпатии:
    0
    Конечно понял)