Как исправить службу имен для клиента Vagrant?

18

Я новичок в Ubuntu (только что установил Ubuntu 12.10) и хочу начать с него разработку. Поэтому я установил Vagrant, загрузил lucid64.box , инициализировал, запустил его и получил доступ к нему через ssh.

Чтобы проверить подключение к Интернету на моем клиенте, я сделал ping google.com и получил unknown host: google.com . (Хозяин получил ping, конечно.)

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

Что еще я могу попытаться заставить его работать?

    
задан Shahar Galukman 09.01.2013 в 10:08
источник

4 ответа

29

У меня была та же проблема с Ubuntu 12.10 и нашел решение. Просто добавьте эти строки в свой Vagrantfile:

config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
config.vm.customize ["modifyvm", :id, "--natdnsproxy1", "on"]

Для Vagrant 1.1+ вам понадобится (спасибо farooqsadiq)

config.vm.provider "virtualbox" do |v| 
  v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end

Кажется, это известная ошибка в VirtualBox на Ubuntu 12.10:

Ссылка

Ссылка

    
ответ дан lukassteiner 10.01.2013 в 09:02
источник
6

Для Vagrant 1.1+ вам понадобится

config.vm.provider "virtualbox" do |v| 
  v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end

Протестировано на Vagrant 1.2.2

Найдено в блоге Lyte Ссылка

    
ответ дан farooqsadiq 17.05.2013 в 20:55
5

Вы можете сделать трюк modifyvm во всех виртуозных виртуальных машинах одним ударом, поместив фрагмент в файл ~ / .vagrant.d / Vagrantfile, например:

Vagrant::Config.run do |config|
    config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
    
ответ дан David Schoen 13.03.2013 в 11:51
2

(новый) Vagrantfile * по умолчанию содержит кучу закомментированных примеров, один из которых выглядит следующим образом:

  # Assign this VM to a bridged network, allowing you to connect directly to a
  # network using the host's network device. This makes the VM appear as another
  # physical device on your network.
  # config.vm.network :bridged

Убедитесь, что вы не комментируете эту строку:

conig.vm.network :bridged

Это даст вашей виртуальной машине доступ к сети / Интернету.

* Начиная с версии 1.0.6. По состоянию на время этого ответа последняя версия в репозитории 1.0.3, у нее могут не быть всех дополнительных примеров; в этом случае вам нужно будет добавить эту строку кода.

    
ответ дан Jonah 22.01.2013 в 19:51