Rud*_*uch 82 domain-name-system virtualbox vagrant
我正在运行全新安装的 Linux Mint Nadia (14)。我正在按照 Vagrant Getting Started上的说明进行操作,但卡在了Provisioning 上。似乎 Vagrant 盒子无法连接到外部,所以我无法使用 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以便我可以进行配置。
Mic*_*ton 84
您可以通过以下两种方式之一解决此问题,这两种方式都在 VirtualBox 手册中:
在 NAT 模式下启用 DNS 代理
默认情况下,NAT 引擎向在主机上配置的来宾提供相同的 DNS 服务器。在某些情况下,可能需要对来宾隐藏 DNS 服务器 IP,例如,当此信息由于 DHCP 租约到期而在主机上发生更改时。在这种情况下,您可以使用以下命令告诉 NAT 引擎充当 DNS 代理:
Run Code Online (Sandbox Code Playgroud)VBoxManage modifyvm "VM name" --natdnsproxy1 on在 NAT 模式下使用主机的解析器作为 DNS 代理
为了解析网络名称,NAT 引擎的 DHCP 服务器提供主机的已注册 DNS 服务器列表。如果由于某种原因需要隐藏此 DNS 服务器列表并使用主机的解析器设置,从而强制 VirtualBox NAT 引擎拦截 DNS 请求并将它们转发到主机的解析器,请使用以下命令:
Run Code Online (Sandbox Code Playgroud)VBoxManage modifyvm "VM name" --natdnshostresolver1 on请注意,此设置类似于 DNS 代理模式,但代理模式只是将 DNS 请求转发到适当的服务器,解析器模式将解释 DNS 请求并使用主机的 DNS API 查询信息并将其返回给来宾.
小智 74
跟进https://serverfault.com/a/453260/14832,如果您使用的是版本 2 Vagrantfile 配置格式,则启动的格式:
Vagrant.configure("2") do |config|
Run Code Online (Sandbox Code Playgroud)
然后你可能想把它添加到那个配置文件中:
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
Run Code Online (Sandbox Code Playgroud)
如果您使用旧的配置格式,但使用 Vagrant 1.1+,您可以将其附加到文件末尾:
Vagrant.configure("2") do |config|
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63760 次 |
| 最近记录: |