Перенаправить порт на общедоступный хост-интерфейс в Vagrant - PullRequest
0 голосов
/ 12 октября 2019

Имея тестовый сервер Ubuntu 16.04 без графического интерфейса, я хочу сделать порты с машин Vagrant доступными для хоста извне, чтобы я мог получить к ним доступ на моей виртуальной машине Ubuntu dev следующим образом:

[Dev-VM] <---> [Testserver] <---> [Vagrant-Machine]

ДляДля этого я добавил переадресацию портов для порта 80. Это хорошо работает с curl с Testserver, но не с Dev-VM. Нашел host_ip в документах и попробовал это:

config.vm.network "forwarded_port", guest: 80, host: 80, host_ip: "0.0.0.0"

Также попробовал

config.vm.network "public_network"

, но тот же результат: я могу получить доступ к тестовому веб-серверу в Vagrant-Машина и на Testserver с curl, но не с моей Dev-VM. В моем понимании host_ip: "0.0.0.0" должен связывать порт 80 от виртуальной машины с любым интерфейсом на хосте, поэтому он должен быть доступен с других машин в той же сети.

1 Ответ

0 голосов
/ 14 октября 2019

Прежде всего, я хотел бы предупредить вас, что вы должны быть очень осторожны с конфигурацией "общедоступной сети", потому что блоки Vagrant по умолчанию небезопасны, с открытыми паролями, незащищенными парами ключей для доступа SSH и потенциально разрешают корневой доступ через SSH.

Мне немного неясно, что вы пытаетесь сделать. Если я правильно понял, вы хотели бы получить доступ к вашему Vagrant-Machine с вашей виртуальной машины Dev и , чтобы они находились в одной сети .

Вот ссылка на документацию для частных сетей: https://www.vagrantup.com/docs/networking/private_network.html#dhcp.

Самый простой способ - разрешить DHCP предоставлять вам доступный IP-адрес, такой как

config.vm.network "private_network", type: "dhcp"

Вы можете определить данный ip, запустив vagrant ssh и затем запустив ifconfig

Надеюсь, это поможет, с наилучшими пожеланиями

...