¿Cómo reparo el servicio de nombres para el cliente Vagrant?

18

Soy nuevo en Ubuntu (que acaba de instalar Ubuntu 12.10) y quiero comenzar a desarrollar con él. Así que instalé Vagrant, lo descargué lucid64.box, lo inicialicé, lo inicié y accedí a través de ssh.

Para probar la conexión a Internet en mi cliente que he hecho ping google.com y recibido unknown host: google.com. (El anfitrión recibió ping, por supuesto).

La búsqueda en la web solo me llevó a esta solución que sugería eliminar Vagrant y Virtual box, y volver a instalarlos, solo asegúrese de que Vagrant se instaló primero. He probado esta solución y sigo obteniendo los mismos resultados.

¿Qué más puedo intentar para que funcione?

Shahar Galukman
fuente
1
Hubo un problema con mi cliente del servidor al obtener un DNS. Usando google DNS, se cambió /etc/resolv.confy se agregó para /etc/network/interfacesresolver el problema.
Shahar Galukman
¿Puedo preguntarte qué tutorial estás usando? Solo una suposición: ¿se está iniciando condjango? Si es así, me pondré en contacto con el autor para referirme al problema actual. Si no, eliminaré este comentario.
don.joey
No estoy usando el tutorial que mencionaste. Encontré la solución usando el sentido común, pero la solución bayoffire es mucho mejor, también se conoce el error como mencionó, así que creo que se solucionará en futuras versiones.
Shahar Galukman

Respuestas:

30

Tuve el mismo problema con Ubuntu 12.10 y encontré una solución. Simplemente agregue esas líneas a su Vagrantfile:

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

Para Vagrant 1.1+ necesitarás (gracias a farooqsadiq)

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

Parece ser un error conocido en VirtualBox en Ubuntu 12.10:

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

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

lukassteiner
fuente
Es bueno saber que es un error conocido, a pesar de que no pude encontrar algo al respecto. Sin embargo, la solución que mencioné en mi comentario anterior me lo resolvió. Al menos otras personas con el mismo error tendrán dos formas diferentes de resolver este problema. Gracias.
Shahar Galukman
Aún más sobre este tema. Su solución será más apropiada ya que la configuración de DNS realizada manualmente (como sugerí anteriormente) se eliminará cada vez que inicie la VM
Shahar Galukman
1
Consulte esta respuesta para obtener una solución sobre las versiones más recientes de Vagrant: askubuntu.com/a/296796/122097
Brad
6

Para Vagrant 1.1+ necesitarás

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

Probado en Vagrant 1.2.2

Encontrado en el blog de Lyte http://lyte.id.au/tag/vagrant/

farooqsadiq
fuente
esto corrige el siguiente error: No se puede agregar PPA: 'ppa: brightbox / ruby-ng'. Verifique que el nombre o formato de PPA sea correcto. en Ubuntu 14 con vagrant 1.7.2 y virtualbox en macos.
nruth
5

Puede hacer que el truco modifyvm funcione en todas las máquinas virtuales de Vagrant en un solo golpe colocando un fragmento en ~ / .vagrant.d / Vagrantfile, por ejemplo:

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

El (nuevo) Vagrantfile predeterminado * contiene un montón de ejemplos comentados, uno de los cuales es el siguiente:

  # 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

Asegúrese de descomentar esta línea:

conig.vm.network :bridged

Eso le dará a su máquina virtual acceso a la red / Internet.

* A partir de la versión 1.0.6. Al momento de esta respuesta, la última versión en el repositorio es 1.0.3, puede que no tenga todos los ejemplos adicionales; en cuyo caso, deberá agregar esa línea de código.

Jonás
fuente
Solo usaría esto si NAT no funciona. Las redes puenteadas solo funcionan si obtiene una IP del HDCP a la máquina virtual. Vea esto: docs.vagrantup.com/v1/docs/bridged_networking.html (¡no todas las redes funcionan!)
lukassteiner el