12

Я пытаюсь создать базовую коробку Vagrant, используя следующие 2 ресурса:

Используя Ubuntu 12.10 (с LAMP) в качестве ОС, у меня 1 проблема. Я не мог пропинговать vagrant IP, который является 10.0.2.15, хотя я мог SSH через vagrant ssh .

Как мне настроить его так, чтобы я мог получить доступ к веб-серверу с моего хоста?

VirtualBox: 4.2.10
Гостевая ОС: Ubuntu12.10
Хост: OSX 10.8.3

7 ответов7

15

Вы не можете просто получить доступ к блоку Vagrant с его IP-адресом из хост-системы. Сеть Vagrant предназначена для определения уровня абстракции, который работает с несколькими провайдерами.

Самый простой способ получить доступ к сервисам на вашем Vagrant - настроить переадресацию портов. В вашем Vagrantfile смотрите раздел Vagrant.configure и задайте значения для config.vm.network :forwarded_port . Например, следующая конфигурация перенаправляет порт 4567 в вашей локальной системе на порт 80 в окне Vagrant:

Vagrant.configure("2") do |config|
  config.vm.box = "precise32"
  config.vm.provision :shell, :path => "bootstrap.sh"
  config.vm.network :forwarded_port, host: 4567, guest: 80
end

После внесения этого изменения запустите vagrant reload чтобы применить изменения. После применения изменения вы сможете указать веб-браузер на http://127.0.0.1:4567 чтобы экземпляр Vagrant Apache обслуживал веб-страницу. Вы можете прочитать немного больше об этом в документации Vagrant V2 или на странице сети Vagrant.

2

Мне пришлось вручную запустить сеть на моей хост-системе, так как ip addr показал, что это ВНИЗ:

sudo ip link set up dev vboxnet0
1

Я нашел решение: http://docs.vagrantup.com/v2/getting-started/networking.html

Просто нужно настроить переадресацию портов.

1

У меня была похожая проблема, только с настройкой частной сети и статическим IP. IP-адрес, который я использовал в течение нескольких месяцев (192.168.10.10), был внезапно недоступен, хотя я смог получить доступ к виртуальной машине с помощью vagrant ssh .

Изменение статического IP- адреса на 192.168.10.192 решило проблему. Решение здесь состояло в том, чтобы изменить IP-адрес, чтобы он не конфликтовал с другими машинами в той же сети.

Здесь вы можете найти следующие заметки:

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

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

Для некоторых операционных систем доступны дополнительные параметры конфигурации для статического IP-адреса, такие как настройка шлюза по умолчанию или MTU.

Предупреждение! Не выбирайте IP, который перекрывается с любым другим пространством IP в вашей системе. Это может привести к недоступности сети.

В Vagrantfile вы можете настроить статический IP следующим образом

Vagrant.configure("2") do |config|
  config.vm.network "private_network", ip: "192.168.10.192"
end

Или, если вы используете Homestead, как я, просто обновите файл конфигурации Homestead.yaml :

---
ip: "192.168.10.192"
# the rest of the configuration...

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

0

Я думаю, что этот источник может помочь: http://docs-v1.vagrantup.com/v1/docs/host_only_networking.html

удачи ;)

0

Что мне помогло, так это включение мостовой сети в Vagrantfile:

Vagrant.configure("2") do |config|
  config.vm.network "public_network"
end
-1

на Ubuntu 12 host/Ubuntu 12 guest у меня с дискурсом сработало следующее

Я добавляю IP-адрес хоста, определенный vagrant, и гостевой IP, определенный Vagrant, в исключения брандмауэра

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .