Vagrant / VirtualBox DNS 10.0.2.3 no funciona


78

Estoy ejecutando una nueva instalación de Linux Mint Nadia (14). Estoy siguiendo las instrucciones sobre Vagrant Getting Started pero me he quedado atascado en el aprovisionamiento . Parece que la caja Vagrant no se puede conectar al exterior, por lo que no puedo instalar nada con Chef o Puppet.

En el Vagabundo básico resolve.confcontiene nameserver 10.0.2.3. Pero con ese conjunto no puedo hacer ping us.archive.ubuntu.com.

Si lo cambio a, 8.8.8.8entonces puedo hacer ping us.archive.ubuntu.compero no permanece fijo, y después de un reinicio vuelve a cambiar 10.0.2.3, por lo que el aprovisionamiento falla nuevamente.

Idealmente, me gustaría 10.0.2.3trabajar en mi configuración. De lo contrario, me gustaría una forma de cambiar de forma permanente resolv.confpara poder realizar el aprovisionamiento.


2
Para su información, acabo de encontrar el mismo problema con la ubuntu/xenial64caja, y resultó ser un error con la caja misma .
Aidan Feldman

@AidanFeldman igual para mí. Acabo de cambiar bento/ubuntu-16.04y DNS funciona bien sin más soluciones.
HenningCash

Respuestas:


84

Puede solucionar este problema de dos maneras, las cuales se encuentran en el manual de VirtualBox :

Habilitar el proxy DNS en modo NAT

El motor NAT por defecto ofrece los mismos servidores DNS al huésped que están configurados en el host. En algunos escenarios, puede ser conveniente ocultar las direcciones IP del servidor DNS del huésped, por ejemplo, cuando esta información puede cambiar en el host debido a la expiración de los contratos de DHCP. En este caso, puede indicarle al motor NAT que actúe como proxy DNS utilizando el siguiente comando:

VBoxManage modifyvm "VM name" --natdnsproxy1 on

Usar la resolución del host como proxy DNS en modo NAT

Para resolver nombres de red, el servidor DHCP del motor NAT ofrece una lista de servidores DNS registrados del host. Si por alguna razón necesita ocultar esta lista de servidores DNS y usar la configuración de resolución del host, obligando así al motor NAT de VirtualBox a interceptar las solicitudes de DNS y reenviarlas a la resolución del host, use el siguiente comando:

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

Tenga en cuenta que esta configuración es similar al modo proxy DNS, sin embargo, mientras que el modo proxy solo reenvía las solicitudes DNS a los servidores apropiados, el modo de resolución interpretará las solicitudes DNS y utilizará la API DNS del host para consultar la información y devolverla al invitado .


1
Gracias. "Usar el solucionador del host como un proxy DNS en modo NAT" hizo el truco. Es una pena que tenga que hacer esto para cada instalación de Vagrant.
Rudolf Vavruch

1
Casi siempre uso el modo puenteado para máquinas virtuales, lo que elimina el problema (y una gran cantidad de otros problemas).
Michael Hampton

3
Acabo de tener el problema con una actualización a la 4.2.20, "Usar el resolutor del host como un proxy DNS en modo NAT" también me ayudó. Gracias !
edomaur

73

Siguiendo con https://serverfault.com/a/453260/14832 , si está utilizando un formato de configuración de Vagrantfile versión 2, el que comienza:

Vagrant.configure("2") do |config|

Entonces es posible que desee agregar esto a ese archivo de configuración:

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

Si está utilizando el formato de configuración anterior, pero está utilizando Vagrant 1.1+, puede agregarlo al final del archivo:

Vagrant.configure("2") do |config|
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  end
end

2
Agregar esto a mi Vagrantfilesolucionó el problema donde no podía ejecutar gem install...sin obtener errores tontos de DNS :) ¡Gracias!
Nick
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.