Задать вопрос

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

С помощью 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 или портами, пока не понял в чем именно.
  • Вопрос задан
  • 1203 просмотра
Подписаться 4 Оценить Комментировать
Решения вопроса 1
at0m1x
@at0m1x Автор вопроса
Нашел решение, отвечаю на свой вопрос.

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

После таких "не хитрых" : ) манипуляций заработало.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Попробуйте запустить сервер вот так: php -S localhost:1144
Ответ написан
@omichkun
Проверьте брандмауэр винды (у вас же винда на основной машине?), все файрволлы и антивирусы. У меня такая же проблема на работе и проблема оказалась в том, что Каспер блокировал "лишние", по его мнению, порты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы