web-dev-qa-db-fra.com

Comment puis-je réparer le service de noms pour le client Vagrant?

Je suis nouveau sur Ubuntu (je viens d’installer Ubuntu 12.10) et je veux commencer à développer avec. J'ai donc installé Vagrant, téléchargé lucid64.box, initialisé, lancé et accédé via ssh.

Pour tester la connexion Internet sur mon client, j'ai effectué ping google.com et reçu unknown Host: google.com. (L'hôte a un ping bien sûr.)

La recherche sur le Web m'a seulement conduit à cette solution qui a suggéré de supprimer Vagrant et Virtual Box et de les réinstaller, assurez-vous simplement que Vagrant est installé en premier. J'ai essayé cette solution et j'obtiens toujours les mêmes résultats.

Que puis-je essayer de faire fonctionner?

18
Shahar Galukman

J'ai eu le même problème avec Ubuntu 12.10 et j'ai trouvé une solution. Ajoutez simplement ces lignes à votre Vagrantfile:

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

Pour Vagrant 1.1+, il vous faudra (grâce à farooqsadiq)

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

Il semble que ce soit un bogue connu de VirtualBox sur Ubuntu 12.10:

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

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

30
lukassteiner

Pour Vagrant 1.1+, vous aurez besoin

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

Testé sur Vagrant 1.2.2

Trouvé sur le blog de Lyte http://lyte.id.au/tag/vagrant/

6
farooqsadiq

Vous pouvez utiliser l'astuce de modifyvm sur toutes les machines virtuelles Vagrant en un seul coup en insérant un extrait de code dans ~/.vagrant.d/Vagrantfile, par exemple:

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

Le (nouveau) fichier par défaut Vagrantfile * contient un ensemble d'exemples commentés, dont l'un est le suivant:

  # 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

Assurez-vous de ne pas commenter cette ligne:

conig.vm.network :bridged

Cela donnera à votre machine virtuelle un accès au réseau/Internet.

*Depuis la version 1.0.6. À la date de cette réponse, la dernière version du référentiel est 1.0.3, elle peut ne pas contenir tous les exemples supplémentaires; Dans ce cas, vous devrez ajouter cette ligne de code.

2
Jonah