Vagrant:访客网络连接缓慢

Vagrant:访客网络连接缓慢

我正在尝试设置一个 vagrant。主机是 Ubuntu 12.10。这是我的 vagrant 文件:

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

问题是我从 vagrant 内部访问互联网非常糟糕。速度非常慢。我认为路由表可能被搞乱了。以下是输出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

尽管在同一个 NIC 上,并且到同一个网关,但有 2 条到默认目的地的路由。但也许这会导致问题。至少我是这样认为的,但删除第一个默认路由并没有帮助。

我需要仅主机网络,这样 nfs 共享才能工作。NAT 用于端口转发,并且我添加了桥接网络以尝试让此访客访问互联网。

有人知道哪里出了问题吗?DNS 解析速度非常慢,从互联网下载任何东西的速度都很慢。

答案1

正在运行 Vagrant 配置第 2 版吗?

莎拉的给出的答案是使用 NAT 主机 DNS 解析器,因为它更快并且有助于加快速度。

然而,在大多数人现在使用的 vagrant 配置版本 2 中,您必须在“Vagrantfile”中添加以下内容,这将强制 VM 使用 NAT 的 DNS:

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

如果你的配置文件顶部有以下几行或其他内容,则可以判断你正在使用 v2 配置Vagrantfile

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

答案2

回答:

将以下内容添加到 vagrant 配置中:

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

更多详情请参见此处:Vagrant/VirtualBox DNS 10.0.2.3 不起作用

答案3

NAT 设置并没有提高我的下载速度。

我必须使用以下设置才能获得适当的下载速率。

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end

相关内容