当前位置: 首页>>技术教程>>正文


如何修复 Vagrant 客户端的名称服务?

, ,

问题描述

我是 Ubuntu 的新手(刚刚安装了 Ubuntu 12.10)并想开始使用它进行开发。所以我安装了 Vagrant,下载了 lucid64.box ,初始化,启动它并通过 ssh 访问它。

为了测试我客户端上的 Internet 连接,我完成了 ping google.com \n并收到了 unknown host: google.com 。 (主机当然有 ping。)

在网上搜索只让我找到了 this solution,它建议删除 Vagrant 和 Virtual box,而 re-install 它们,只需确保先安装 Vagrant。我已经尝试过此解决方案,但仍然得到相同的结果。

我还能尝试什么让它工作?

最佳回答

我在 Ubuntu 12.10 上遇到了同样的问题并找到了解决方案。只需将这些行添加到您的 Vagrantfile 中:

config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
config.vm.customize ["modifyvm", :id, "--natdnsproxy1", "on"]

对于 Vagrant 1.1+,你需要(感谢 farooqsadiq)

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

这似乎是 Ubuntu 12.10 上 VirtualBox 中的一个已知错误:

https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1048783

https://www.virtualbox.org/ticket/10864

次佳回答

对于 Vagrant 1.1+,你需要

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

在 Vagrant 1.2.2 上测试

在 Lyte 的博客 http://lyte.id.au/tag/vagrant/ 上找到

第三种回答

您可以通过在 ~/.vagrant.d/Vagrantfile 中放置一个片段,使 modifyvm 技巧一次性在所有 Vagrant VM 上工作,例如:

Vagrant::Config.run do |config|
    config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13299.html,未经允许,请勿转载。