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


18

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

Для проверки интернет-соединения на моем клиенте я сделал ping google.com и получил unknown host: google.com. (Хост получил пинг, конечно.)

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

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


1
Была проблема с моим клиентом сервера, получающим DNS. Использование Google DNS, изменилось /etc/resolv.confи добавлено, чтобы /etc/network/interfacesрешить проблему.
— Шахар Галукман

Могу я спросить, какой учебник вы используете? Просто предположение: это начинается с Джанго? Если так, я свяжусь с автором, чтобы обратиться к настоящей проблеме. Если нет, я удалю этот комментарий.
— don.joey

Я не использую туториал, который вы упомянули. Нашел решение, основанное на здравом смысле, но решение bayoffire гораздо лучше, также, как он упоминал, это известная ошибка, поэтому я верю, что она будет исправлена ​​в следующем выпуске.
— Шахар Галукман

Ответы:


30

У меня была такая же проблема с 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:

https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1048783

https://www.virtualbox.org/ticket/10864


Приятно знать, что это известная ошибка, хотя мне не удалось найти что-то об этом самостоятельно. Обходной путь, который я упомянул в моем комментарии выше, решил это для меня все же. По крайней мере, у других людей с такой же ошибкой будут два разных способа решения этой проблемы. Спасибо.
— Шахар Галукман

Еще больше об этой проблеме. Ваше решение будет более подходящим, так как конфигурация DNS, выполненная вручную (как предложено мной выше), будет удаляться каждый раз, когда я запускаю виртуальную
— машину

1
Посмотрите этот ответ для решения по более новым версиям Vagrant: askubuntu.com/a/296796/122097
— Брэд

6

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

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

Проверено на Vagrant 1.2.2

Найдено в блоге Лита http://lyte.id.au/tag/vagrant/


это исправляет следующую ошибку: Невозможно добавить PPA: 'ppa: brightbox / ruby-ng'. Пожалуйста, проверьте правильность имени или формата PPA. на Ubuntu 14 с vagrant 1.7.2 и виртуальной коробкой на macos.
— nruth

5

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

Vagrant::Config.run do |config|
    config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end

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, в ней могут отсутствовать все дополнительные примеры; в этом случае вам нужно добавить эту строку кода.


Я бы использовал это только, если NAT не работает. Мостовые сети работают, только если вы получаете IP от HDCP к виртуальной машине. Смотрите это: docs.vagrantup.com/v1/docs/bridged_networking.html (не все сети работают!)
— lukassteiner
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.