Come posso risolvere il servizio di denominazione per il client Vagrant?


18

Sono nuovo di Ubuntu (avendo appena installato Ubuntu 12.10) e voglio iniziare a svilupparlo. Quindi ho installato Vagrant, scaricato lucid64.box, inizializzato, avviato e acceduto tramite SSH.

Per testare la connessione Internet sul mio client ho fatto ping google.com e ricevuto unknown host: google.com. (L'host ha ricevuto il ping ovviamente.)

La ricerca sul Web mi ha portato a questa soluzione che mi ha suggerito di rimuovere Vagrant e Virtual box e reinstallarli, assicurandoti solo che Vagrant sia installato per primo. Ho provato questa soluzione e sto ancora ottenendo gli stessi risultati.

Cos'altro posso provare a farlo funzionare?


1
Si è verificato un problema con il mio client server che ha ricevuto un DNS. Utilizzando google DNS, modificato /etc/resolv.confe aggiunto per /etc/network/interfacesrisolvere il problema.
Shahar Galukman,

Posso chiederti quale tutorial stai usando? Solo un'ipotesi: è iniziato con Django? In tal caso, contatterò l'autore per fare riferimento al presente problema. In caso contrario, eliminerò questo commento.
don.joey

Non sto usando il tutorial che hai citato. Ho trovato la soluzione usando il buonsenso ma la soluzione bayoffire è molto meglio, inoltre è noto un bug come ha detto, quindi credo che sarà risolto nella versione futura.
Shahar Galukman,

Risposte:


30

Ho avuto lo stesso problema con Ubuntu 12.10 e ho trovato una soluzione. Aggiungi solo quelle righe al tuo Vagrantfile:

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

Per Vagrant 1.1+ avrai bisogno (grazie a farooqsadiq)

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

Sembra essere un bug noto in VirtualBox su Ubuntu 12.10:

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

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


Buono a sapersi che è un bug noto, anche se non sono riuscito a trovare qualcosa al riguardo da solo. La soluzione che ho citato nel mio commento sopra ha risolto il problema per me. Almeno altre persone con lo stesso errore avranno due modi diversi per risolvere questo problema. Grazie.
Shahar Galukman,

Ancora di più su questo problema. La tua soluzione sarà più appropriata poiché la configurazione DNS effettuata manualmente (come suggerito da me sopra) verrà eliminata ogni volta che
avvierò

1
Vedi questa risposta per una soluzione sulle versioni più recenti di Vagrant: askubuntu.com/a/296796/122097
Brad

6

Per Vagrant 1.1+ avrai bisogno

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

Testato su Vagrant 1.2.2

Trovato sul blog di Lyte http://lyte.id.au/tag/vagrant/


questo risolve il seguente errore: Impossibile aggiungere PPA: 'ppa: brightbox / ruby-ng'. Verificare che il nome o il formato PPA sia corretto. su Ubuntu 14 con vagrant 1.7.2 e virtualbox su macos.
nruth,

5

Puoi far funzionare il trucco di editvm su tutte le macchine virtuali Vagrant in un colpo solo inserendo uno snippet in ~ / .vagrant.d / Vagrantfile, ad esempio:

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

2

Il (nuovo) Vagrantfile predefinito * contiene un sacco di esempi commentati, uno dei quali è il seguente:

  # 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

Assicurati di annullare il commento a questa riga:

conig.vm.network :bridged

Ciò consentirà alla tua macchina virtuale di accedere alla rete / a Internet.

* A partire dalla versione 1.0.6. Al momento della risposta, l'ultima versione nel repository è 1.0.3, potrebbe non avere tutti gli esempi extra; nel qual caso, dovrai aggiungere quella riga di codice.


Vorrei usare questo solo se NAT non funziona. Le reti con bridge funzionano solo se si ottiene un IP dall'HDCP alla macchina virtuale. Vedi questo: docs.vagrantup.com/v1/docs/bridged_networking.html (non tutte le reti funzionano!)
lukassteiner
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.