Ubuntu
Vagrant/VirtualBox 無法從虛擬機中解析某些域
只是嘗試 VirtualBox 和 Vagrant,我的初始
lucid64
VM 無法解析,us.archive.ubuntu.com
但可以解析security.ubuntu.com
,google.com
並且www.apple.com
(但不是沒有apple.com
?www
!?!)。執行 VM的主機**可以像其他所有域一樣解析
us.archive.ubuntu.com
得很好。不知道發生了什麼?!?
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?
香草安裝。我的第一次嘗試。按照部署 Rails 書中的說明進行操作。
編輯:添加
/etc/resolv.conf
:vagrant@lucid64:~$ cat /etc/resolv.conf nameserver 10.0.2.3 domain mydomain.com search mydomain.com
還有一些探勘資訊:
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
+trace
但是使用標誌時似乎解析了域名?!?(或者我讀錯了嗎?)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 - 更多探勘:
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
我通過將以下幾行添加到我的 Vagrantfile 解決了這個問題:
config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] end
以下是全部內容:
$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
看起來這是因為您根本無法聯繫 DNS 伺服器集,並且它正在嘗試使用根提示(根據我的經驗,這對最終使用者來說非常不可靠)。你能ping通嗎?您是否設置為橋接模式,沒有防火牆阻礙?