Назад | Перейти на главную страницу

Vagrant - доступ к гостю с хоста через имя хоста

у меня есть бродяга 1.2.2 установлен на моей машине разработки; ноутбук. Я использую один и тот же ноутбук в трех разных средах с разными сетевыми настройками.

Мой VagrantFile выглядит так:

Vagrant.configure("2") do |config|
    config.vm.box = "lucid32"
    config.vm.network :forwarded_port, guest: 80, host: 88
    config.vm.network :forwarded_port, guest: 56789, host: 56789
    config.vm.network :public_network, :bridge => 'Intel(R) 82579V Gigabit Network Connection'
    config.vm.hostname = "web"
end

Он успешно устанавливает имя хоста как web в безголовой Ubuntu.

Но когда я пытаюсь пинговать web из ОС хоста (Windows) он не разрешает IP-адрес.

Я не могу изменять файл hosts в Windows каждый раз, так как маска подсети класса C и диапазоны IP-адресов отличаются, когда я перехожу в другой офис.

Есть ли способ получить доступ к гостю с хост-машины через имя хоста web?

Почему бы также не указать частную сеть, которую ваш хост может использовать для подключения к виртуальной машине?

http://docs.vagrantup.com/v2/networking/private_network.html

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

Следуя совету Энди, я создал частную сеть со статическим IP-адресом. Затем на хосте Windows я настроил имя хоста с этим IP-адресом. Таким образом, я могу получить доступ к веб-серверу из локальной / хост-ОС.

Теперь в VagrantFile, поскольку порт 88 моего хост-компьютера перенаправлен на гостевой порт 80 (config.vm.network :forwarded_port, guest: 80, host: 88), Я могу получить доступ к веб-серверу с компьютеров в локальной сети с помощью: http://host-computer-name:88/.

Чтобы получить доступ к сети с любого другого компьютера, вам необходимо добавить запись DNS на свой DNS-сервер в вашей локальной сети.

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

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

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