2016-04-21 5 views
1

Я бег virtualbox локально, и я использовал перенаправление портов как этогоVirtualbox перенаправления портов с грузчиком

0.0.0.0:7000 -> 0.0.0.0:7000 

, так что я могу сделать

curl http://localhost:7000 

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

Можно ли сделать обратное? Я хочу, чтобы установить порт вперед, чтобы иметь возможность

curl http://localhost:6000 

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

Я использую NAT.

Я уже знаю о мостовой сети и об использовании сетевого IP-адреса моего хоста. Я не могу их использовать. Все, что меня интересует, это выше.

Exclaimer:

Причина ограничений выше, потому что я использую dinghy с docker и docker-machine. Если я изменю сеть на что-то еще, чем NAT, настройка будет нарушена. Более того, я не могу использовать что-то еще, кроме localhost, так как это настройки по умолчанию, которые имеют приложения, и мне они нужны для общения, как если бы они выполнялись как на хосте.

+0

Итак, докер работает внутри vm? Что такое ОС хоста? –

+0

Извините, я забыл добавить, что Mac OSX El Capitan – alkis

+1

Я думаю, что есть три возможных варианта: 1. Настроить туннель SSH с помощью 'ssh -R', см. Http://unix.stackexchange.com/questions/46235 /, как-никак-реверс-SSH-туннелирование-работы. 2. Настройте обратный прокси Nginx или Apache на vm для пересылки трафика на хост. 3. Заставляйте виртуальную машину думать, что «localhost» - это ваш IP-адрес хоста, добавив его в файл '/ etc/hosts' (это может потенциально рисковать другими службами, которые могут зависеть от локального хоста 127.0.0.1) –

ответ

1

Возможные варианты:

  1. Настройка SSH туннель с SSH -R, см https://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work

  2. Настройка Nginx или Apache обратный прокси-сервер на виртуальной машине, чтобы направить трафик на хозяевах.

  3. Принудительно VM думать локальный ваш хост IP, добавив его в файл/и т.д./хостов (это имеет потенциальный риск нарушения других услуг, которые могут зависеть от LOCALHOST будучи 127.0.0.1)