Як виправити службу імен для Vagrant клієнта?


18

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

Для тестування підключення до Інтернету свого клієнта я зробив ping google.com і отримав unknown host: google.com. (Ведучий звичайно пінг.)

Шукаючи в Інтернеті, мені вдалося вирішити це рішення, яке запропонувало видалити вікно Vagrant і Virtual і перевстановити їх, просто переконайтеся, що Vagrant встановлений спочатку. Я спробував це рішення, і досі отримую ті ж результати.

Що ще я можу спробувати змусити його працювати?


1
Виникла проблема з тим, як мій клієнт-сервер отримав DNS. Використовуючи google DNS, /etc/resolv.confвнесений та доданий для /etc/network/interfacesвирішення проблеми.
Шахар Галукман

Чи можу я запитати, який підручник ви використовуєте? Лише здогадка: чи це починається з діджанго? Якщо це так, я зв’яжусь з автором, щоб посилатися на цю проблему. Якщо ні, я видалю цей коментар.
don.joey

Я не використовую підручник, який ви згадали. Знайшов рішення, використовуючи здоровий глузд, але рішення байфарера набагато краще, також відома помилка, як він згадував, тому я вірю, що це буде виправлено в майбутньому випуску.
Шахар Галукман

Відповіді:


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, зроблена вручну (як я запропонував вище), буде видалена кожен раз, коли я запускаю VM
Шахар Галукман

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

Знайдено в блозі Lyte http://lyte.id.au/tag/vagrant/


це виправляє таку помилку: Неможливо додати PPA: 'ppa: яскрава скринька / ruby-ng'. Перевірте правильність назви або формату PPA. на Ubuntu 14 з vagrant 1.7.2 та virtualbox на macos.
nruth

5

Ви можете змусити модифікувати витівку для всіх VM-програм 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.