Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to set up a vagrant. Host is Ubuntu 12.10. Here's my vagrant file:

Vagrant::Config.run do |config|

    config.vm.share_folder("v-root", "/vagrant", ".", :nfs => true)
    config.vm.network :bridged, :bridge => "eth0"

    config.vm.define "restserver" do |chefs_config|

        chefs_config.vm.box = "precise64"
        chefs_config.vm.box_url = "http://files.vagrantup.com/precise64.box"
        chefs_config.vm.host_name = "restserver"
        chefs_config.vm.network :hostonly, "192.168.20.50"
        chefs_config.vm.forward_port 80, 8080

        config.vm.provision :chef_solo do |chef|

            chef.log_level = :debug

            chef.cookbooks_path = "cookbooks"
            chef.run_list.clear

            chef.add_recipe "apt"
            chef.add_recipe "base"
            chef.add_recipe "mongodb::default"
            chef.add_recipe "nginx"
        end
    end
end

The problem is that my internet access from within the vagrant is terrible. It's very slow. I think the routing tables might be messed up. Here's the output from route -n:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.20.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2

There are 2 routes to the default destination, although on the same NIC and to the same gateway. But perhaps this is causing an issue. At least that's what I thought but deleting the first default route doesn't help.

I need host-only networking so the nfs share will work. NAT is used for the port forwarding, and I've added the bridged network to try to give this guest access to the internet.

Has anyone any idea what's wrong? DNS is very slow to resolve, and it's slow to download anything from the internet.

share|improve this question

2 Answers 2

up vote 12 down vote accepted

Answer:

Add the following to the vagrant config:

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

See here for more: Vagrant / virtualbox DNS 10.0.2.3 not working

share|improve this answer
2  
This almost fixed it for me, except that there wasn't a customize method on config.vm. Instead, on my ` config.vm.provider :virtualbox do |vb|` section, I added this: vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] –  Ovid Oct 17 '13 at 6:21
1  
The answer provided by 'sarah' is for the old VagrantFile configuration syntax, and the one provided by 'Ovid' is for the newer configuration syntax. You can tell if you're using the newer syntax by seeing if your configuration file includes Vagrant.configure(2) at the top (note the 2) –  caseyamcl Jan 3 at 18:02
    
almost. this works for me github.com/mitchellh/vagrant/issues/1807#issuecomment-19132198 vagrant 1.4.3 –  choonkeat Feb 26 at 2:01

Running Version 2 of the Vagrant config?

Sarah's provided the answer which is to use the NAT hosts DNS resolver as it's faster and will help speed things up.

However, in Version 2 of the vagrant config which is what most people are using now you'll have to do add following within your 'Vagrantfile' which will force the VM to uses NAT'd DNS:

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

You can tell if you're using v2 config if you have the following lines or something in the top of your Vagrantfile

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
share|improve this answer
1  
This should be the right answer –  Dbugger Sep 3 at 15:24

Your Answer

 
discard

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.