流浪汉:访客中的互联网连接速度缓慢


23

我正在尝试建立一个无业游民。主机是Ubuntu 12.10。这是我的流浪文件:

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

问题是我从无业游民的互联网访问非常糟糕。非常慢 我认为路由表可能会搞砸。这是来自的输出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用于端口转发,并且我添加了桥接网络以尝试使此访客访问Internet。

有谁知道这是怎么回事?DNS解析速度很慢,并且从互联网下载任何内容的速度都很慢。

Answers:


28

正在运行Vagrant配置的版本2?

莎拉(Sarah)提供了答案,那就是使用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
这应该是正确的答案
Enrique Moreno Tent 2014年

我试图增强我无所事事的网络,并且它起作用了,但是由于DNS查找过多,我在拉取docker映像方面遇到了问题。因此,我必须删除此行,这 v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] 意味着我只是将其添加到了我Vagrantfile v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] 的主机,因为某些原因主机解析器正在提高网络性能,而DNS代理却破坏了某些工具。
xh3b4sd 2015年

1
谢谢!当连接到Internet /网络时,我的虚拟机将永久启动并ssh进入(通常只是超时)。这样就解决了。
趋势趋势

21

回答:

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

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

查看更多信息:Vagrant / VirtualBox DNS 10.0.2.3无法正常工作


3
这几乎为我解决了问题,除了没有customize方法config.vm。相反,在我的config.vm.provider:virtualbox do | vb |`部分中,添加了以下内容:vb.customize [“ modifyvm”,:id,“ --natdnshostresolver1”,“ on”]
Ovid

1
“ sarah”提供的答案适用于旧的VagrantFile配置语法,而“ Ovid”提供的答案适用于较新的配置语法。您可以通过查看配置文件是否Vagrant.configure(2)位于顶部(请注意2)来判断您是否正在使用较新的语法
caseyamcl 2014年


我正在使用Fedora 22,将其设置"off"为我的解决方案。
Christopher Markieta,2015年

1

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

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

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.