O Vagrant / VirtualBox não pode resolver alguns domínios com a VM

10

Apenas experimentar o VirtualBox & Vagrant e minha lucid64VM inicial não podem resolver , us.archive.ubuntu.commas podem resolver security.ubuntu.com, google.come www.apple.com(mas não apple.comsem o www?!?!).

O host em que a VM está executando pode resolver us.archive.ubuntu.commuito bem, assim como todos os outros domínios.

Não faço ideia do que está acontecendo?!?

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?

Instalação de baunilha. Minha primeira tentativa. Seguindo as instruções em um livro Implantando Rails.

Editar: Adicionando /etc/resolv.conf:

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

Também algumas informações de escavação:

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

mas parece resolver o nome de domínio quando o +tracesinalizador é usado?!? (ou estou lendo isso errado?)

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 - mais dig:

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
fonte
Como é a configuração da rede na VM? Quais servidores DNS você está usando? Você tem conectividade confiável com eles?
Shane Madden
Hmmm, eu nem tenho certeza de como contar. Eu sou novo no Ubuntu e Vagrant. Vou adicionar /etc/resolv.confinformações (acima). Deixe-me saber onde procurar se você quiser mais ...
Meltemi

Respostas:

13

Resolvi esse problema adicionando as linhas abaixo ao meu arquivo Vagrant:

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

Abaixo está o conjunto:

$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
fonte
0

Parece que é porque você não pode entrar em contato com o servidor DNS definido e está tentando usar as dicas de raiz (que, na minha experiência, não são confiáveis ​​para os usuários finais). Você pode fazer ping? Você está definido para o modo de ponte, sem firewalls atrapalhando?

SilverbackNet
fonte
não, não consigo executar ping no 10.0.2.3host. Parece que o VirtualBox (ou Vagrant ) atribuiu à VM um IP 10.0.2.2. O anfitrião está em 10.0.1.201. O VB / Vagrant define o servidor de nomes para o 10.0.2.3qual "funciona" e resolve alguns domínios (veja edit2 acima), mas não o mais importante para uma caixa do Ubuntu.
Meltemi
0

Isso parece ter se resolvido "magicamente" quando eu atualizei o host Mac OS do Lion (10.7.4) para o Mountain Lion (10.8), para não desperdiçar mais ciclos nele.

Meltemi
fonte
Eu tenho o mesmo problema, parece que isso acontece apenas na primeira execução, assim como se o DNS não estiver pronto e, quando eu "provisiono vagamente" pela segunda vez, os hosts são resolvidos.
Benja