у меня есть бродяга 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 отлично подходит для раскрутки виртуальных машин на вашей собственной рабочей станции, но не подходит для обмена виртуальными машинами с другими людьми.