Vagrant / VirtualBox DNS 10.0.2.3 不工作
我正在執行全新安裝的 Linux Mint Nadia (14)。我正在按照 Vagrant Getting Started上的說明進行操作,但一直停留在Provisioning上。Vagrant box 似乎無法連接到外部,因此我無法使用 Chef 或 Puppet 安裝任何東西。
在基本的 Vagrant
resolve.conf
中包含nameserver 10.0.2.3
. 但是用那一套我不能ping通us.archive.ubuntu.com
。如果我將其更改為
8.8.8.8
然後我可以 pingus.archive.ubuntu.com
但它不會保持設置,並且在重新啟動後它會更改回10.0.2.3
- 因此配置再次失敗。理想情況下,我想
10.0.2.3
在我的設置上工作。失敗了,我想要一種永久更改的方法,resolv.conf
以便我可以進行配置。
您可以通過以下兩種方式之一解決此問題,這兩種方式都在 VirtualBox 手冊中:
在 NAT 模式下啟用 DNS 代理
預設情況下,NAT 引擎為主機上配置的來賓提供相同的 DNS 伺服器。在某些情況下,可能需要對來賓隱藏 DNS 伺服器 IP,例如,由於 DHCP 租約到期,主機上的此資訊可能會發生變化。在這種情況下,您可以使用以下命令告訴 NAT 引擎充當 DNS 代理:
VBoxManage modifyvm "VM name" --natdnsproxy1 on
在 NAT 模式下使用主機的解析器作為 DNS 代理
為了解析網路名稱,NAT 引擎的 DHCP 伺服器提供主機的已註冊 DNS 伺服器列表。如果由於某種原因您需要隱藏此 DNS 伺服器列表並使用主機的解析器設置,從而強制 VirtualBox NAT 引擎攔截 DNS 請求並將它們轉發到主機的解析器,請使用以下命令:
VBoxManage modifyvm "VM name" --natdnshostresolver1 on
請注意,此設置類似於 DNS 代理模式,但是代理模式只是將 DNS 請求轉發到相應的伺服器,而解析器模式將解釋 DNS 請求並使用主機的 DNS API 查詢資訊並將其返回給訪客.