Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am running a fresh install of Linux Mint Nadia (14). I am following the instructions on Vagrant Getting Started but have gotten stuck on the Provisioning. It seems the Vagrant box cannot connect outside and so I can't install anything using either Chef or Puppet.

In the basic Vagrant resolve.conf contains nameserver But with that set I can't ping

If I change it to then I can ping but it does not stay set, and after a reboot it changes back to - so provisioning fails again.

Ideally I would like for to work on my setup. Failing that I would like a way to permanently change resolv.conf so that I can do provisioning.

share|improve this question
up vote 55 down vote accepted

You can work around this issue in one of two ways, both of which are in the VirtualBox manual:

Enabling DNS proxy in NAT mode

The NAT engine by default offers the same DNS servers to the guest that are configured on the host. In some scenarios, it can be desirable to hide the DNS server IPs from the guest, for example when this information can change on the host due to expiring DHCP leases. In this case, you can tell the NAT engine to act as DNS proxy using the following command:

VBoxManage modifyvm "VM name" --natdnsproxy1 on

Using the host's resolver as a DNS proxy in NAT mode

For resolving network names, the DHCP server of the NAT engine offers a list of registered DNS servers of the host. If for some reason you need to hide this DNS server list and use the host's resolver settings, thereby forcing the VirtualBox NAT engine to intercept DNS requests and forward them to host's resolver, use the following command:

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

Note that this setting is similar to the DNS proxy mode, however whereas the proxy mode just forwards DNS requests to the appropriate servers, the resolver mode will interpret the DNS requests and use the host's DNS API to query the information and return it to the guest.

share|improve this answer
Thank you. "Using the host's resolver as a DNS proxy in NAT mode" did the trick. It is just a pity I have to do this for every Vagrant install. – Rudolf Vavruch Nov 29 '12 at 6:13
I almost always use bridged mode for VMs, which eliminates the problem (and a whole host of other problems). – Michael Hampton Jan 12 '13 at 19:55
Just had the issue with an upgrade to the 4.2.20, "Using the host's resolver as a DNS proxy in NAT mode" did the trick for me too. Thx ! – edomaur Dec 12 '13 at 13:12

Following up on, if you're using a version 2 Vagrantfile config format, the one which starts:

Vagrant.configure("2") do |config|

Then you might want to add this to that config file:

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

If you're using the old config format, but are using Vagrant 1.1+, you can append this at the end of the file:

Vagrant.configure("2") do |config|
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
share|improve this answer
Adding this to my Vagrantfile fixed the problem where I could not run gem install... without getting silly DNS errors :) Thanks! – Nick Feb 23 '15 at 23:37

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.