Vagrant / VirtualBox no puede resolver algunos dominios desde w / in VM

10

Simplemente probando VirtualBox & Vagrant y mi lucid64VM inicial no puede resolverse us.archive.ubuntu.compero puede resolverse security.ubuntu.com, google.comy www.apple.com(¡pero no apple.comsin el www?!?!).

El host en el que se está ejecutando la máquina virtual puede resolverse us.archive.ubuntu.comtan bien como cualquier otro dominio.

No tengo idea de lo que está pasando?

vagrant@lucid64:~$ sudo apt-get install dkms -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  fakeroot make patch
Suggested packages:
  make-doc diffutils-doc
The following NEW packages will be installed:
  dkms fakeroot make patch
0 upgraded, 4 newly installed, 0 to remove and 23 not upgraded.
Need to get 458kB of archives.
After this operation, 2,359kB of additional disk space will be used.
Err http://us.archive.ubuntu.com/ubuntu/ lucid/main make 3.81-7ubuntu1
  Could not resolve 'us.archive.ubuntu.com'
Err http://us.archive.ubuntu.com/ubuntu/ lucid/main patch 2.6-2ubuntu1
  Could not resolve 'us.archive.ubuntu.com'
Err http://us.archive.ubuntu.com/ubuntu/ lucid-updates/main dkms 2.1.1.2-2ubuntu1
  Could not resolve 'us.archive.ubuntu.com'
Err http://us.archive.ubuntu.com/ubuntu/ lucid/main fakeroot 1.14.4-1ubuntu1
  Could not resolve 'us.archive.ubuntu.com'
Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/m/make-dfsg/make_3.81-7ubuntu1_amd64.deb  Could not resolve 'us.archive.ubuntu.com'
Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/p/patch/patch_2.6-2ubuntu1_amd64.deb  Could not resolve 'us.archive.ubuntu.com'
Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/d/dkms/dkms_2.1.1.2-2ubuntu1_all.deb  Could not resolve 'us.archive.ubuntu.com'
Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/f/fakeroot/fakeroot_1.14.4-1ubuntu1_amd64.deb  Could not resolve 'us.archive.ubuntu.com'
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Instalación de vainilla. Mi primer intento Siguiendo las instrucciones en un libro de Implementación de rieles.

Editar: Agregar /etc/resolv.conf:

vagrant@lucid64:~$ cat /etc/resolv.conf 
nameserver 10.0.2.3
domain mydomain.com
search mydomain.com

También alguna información de excavación:

vagrant@lucid64:~$ dig us.archive.ubuntu.com
;; Truncated, retrying in TCP mode.

; <<>> DiG 9.7.0-P1 <<>> us.archive.ubuntu.com
;; global options: +cmd
;; connection timed out; no servers could be reached

pero parece resolver el nombre de dominio cuando +tracese usa la bandera?!? (¿o estoy leyendo esto mal?)

vagrant@lucid64:~$ dig us.archive.ubuntu.com +trace

; <<>> DiG 9.7.0-P1 <<>> us.archive.ubuntu.com +trace
;; global options: +cmd
.           199183  IN  NS  d.root-servers.net.
.           199183  IN  NS  k.root-servers.net.
.           199183  IN  NS  m.root-servers.net.
.           199183  IN  NS  a.root-servers.net.
.           199183  IN  NS  j.root-servers.net.
.           199183  IN  NS  e.root-servers.net.
.           199183  IN  NS  l.root-servers.net.
.           199183  IN  NS  b.root-servers.net.
.           199183  IN  NS  f.root-servers.net.
.           199183  IN  NS  g.root-servers.net.
.           199183  IN  NS  h.root-servers.net.
.           199183  IN  NS  i.root-servers.net.
.           199183  IN  NS  c.root-servers.net.
;; Received 256 bytes from 10.0.2.3#53(10.0.2.3) in 1 ms

com.            172800  IN  NS  a.gtld-servers.net.
com.            172800  IN  NS  b.gtld-servers.net.
com.            172800  IN  NS  c.gtld-servers.net.
com.            172800  IN  NS  d.gtld-servers.net.
com.            172800  IN  NS  e.gtld-servers.net.
com.            172800  IN  NS  f.gtld-servers.net.
com.            172800  IN  NS  g.gtld-servers.net.
com.            172800  IN  NS  h.gtld-servers.net.
com.            172800  IN  NS  i.gtld-servers.net.
com.            172800  IN  NS  j.gtld-servers.net.
com.            172800  IN  NS  k.gtld-servers.net.
com.            172800  IN  NS  l.gtld-servers.net.
com.            172800  IN  NS  m.gtld-servers.net.
;; Received 499 bytes from 193.0.14.129#53(k.root-servers.net) in 191 ms

ubuntu.com.     172800  IN  NS  ns1.canonical.com.
ubuntu.com.     172800  IN  NS  ns2.canonical.com.
ubuntu.com.     172800  IN  NS  ns3.canonical.com.
;; Received 151 bytes from 192.42.93.30#53(g.gtld-servers.net) in 46 ms

us.archive.ubuntu.com.  600 IN  A   91.189.92.192
us.archive.ubuntu.com.  600 IN  A   91.189.92.193
us.archive.ubuntu.com.  600 IN  A   91.189.91.13
us.archive.ubuntu.com.  600 IN  A   91.189.91.23
us.archive.ubuntu.com.  600 IN  A   91.189.91.24
us.archive.ubuntu.com.  600 IN  A   91.189.91.25
us.archive.ubuntu.com.  600 IN  A   91.189.92.151
us.archive.ubuntu.com.  600 IN  A   91.189.92.152
us.archive.ubuntu.com.  600 IN  A   91.189.92.153
us.archive.ubuntu.com.  600 IN  A   91.189.92.154
us.archive.ubuntu.com.  600 IN  A   91.189.92.155
us.archive.ubuntu.com.  600 IN  A   91.189.92.176
us.archive.ubuntu.com.  600 IN  A   91.189.92.177
us.archive.ubuntu.com.  600 IN  A   91.189.92.179
us.archive.ubuntu.com.  600 IN  A   91.189.92.180
us.archive.ubuntu.com.  600 IN  A   91.189.92.181
us.archive.ubuntu.com.  600 IN  A   91.189.92.182
us.archive.ubuntu.com.  600 IN  A   91.189.92.183
us.archive.ubuntu.com.  600 IN  A   91.189.92.184
ubuntu.com.     172800  IN  NS  ns2.canonical.com.
ubuntu.com.     172800  IN  NS  ns3.canonical.com.
ubuntu.com.     172800  IN  NS  ns1.canonical.com.
;; Received 455 bytes from 91.189.95.3#53(ns2.canonical.com) in 183 ms

Edit2 - más excavación:

vagrant@lucid64:~$ dig @10.0.2.3 security.ubuntu.com +short
91.189.92.181
91.189.92.184
91.189.92.151
91.189.92.166
vagrant@lucid64:~$ dig @10.0.2.3 us.archive.ubuntu.com
;; Truncated, retrying in TCP mode.

; <<>> DiG 9.7.0-P1 <<>> @10.0.2.3 us.archive.ubuntu.com
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
Meltemi
fuente
¿Cómo se ve la configuración de red en la VM? ¿Qué servidores DNS está utilizando? ¿Tienes conectividad confiable para ellos?
Shane Madden
Hmmm, ni siquiera estoy seguro de cómo saberlo. Soy nuevo en Ubuntu y Vagrant. Agregaré /etc/resolv.confinformación (arriba). Déjame saber dónde buscar si quieres más ...
Meltemi

Respuestas:

13

Resolví ese problema agregando las siguientes líneas a mi Vagrantfile:

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

A continuación se muestra todo:

$setup = <<SCRIPT
    DEBIAN_FRONTEND=noninteractive apt-get update
SCRIPT

$dependencies = <<SCRIPT
    DEBIAN_FRONTEND=noninteractive apt-get install -y postgresql libpq-dev
    DEBIAN_FRONTEND=noninteractive apt-get install -y python-dev libjpeg-dev zlib1g-dev
    DEBIAN_FRONTEND=noninteractive apt-get install -y python-virtualenv virtualenvwrapper
SCRIPT

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

    config.vm.box = 'ubuntu/trusty64'

    # config.ssh.forward_agent = true
    config.vm.network "private_network", ip: "192.168.10.90"

    config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", disabled: true
    config.vm.synced_folder ".", "/siaq"

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

    config.vm.provision "shell", inline: $setup
    config.vm.provision "shell", inline: $dependencies
end
Danilo G. Botelho
fuente
0

Parece que es porque no puedes contactar con el conjunto de servidores DNS y está tratando de usar las sugerencias de raíz (que, en mi experiencia, son muy poco confiables para los usuarios finales). ¿Puedes hacer ping? ¿Está configurado en modo puente, sin firewalls en el camino?

SilverbackNet
fuente
No, no puedo hacer ping al 10.0.2.3host. Parece que VirtualBox (o Vagrant ) ha asignado a la VM una IP de 10.0.2.2. El anfitrión está en 10.0.1.201. VB / Vagrant establece el servidor de nombres en el 10.0.2.3que "funciona" y resuelve algunos dominios (ver edit2 arriba) pero no el más importante para un cuadro de Ubuntu.
Meltemi
0

Esto parece haberse resuelto "mágicamente" cuando actualicé el host Mac OS de Lion (10.7.4) a Mountain Lion (10.8) para no perder más ciclos en él ...

Meltemi
fuente
Tengo el mismo problema, parece que ocurre solo en la primera ejecución, al igual que si DNS no está listo, y cuando "aprovisiono vagamente" por segunda vez, los hosts se resuelven.
Benja