web-dev-qa-db-ja.com

Vagrant:ゲストのインターネット接続が遅い

浮浪者を設定しようとしています。ホストは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

デフォルトの宛先には2つのルートがありますが、同じNIC=および同じゲートウェイにあります。しかし、これが問題を引き起こしている可能性があります。少なくとも、私はそう思っていましたが、最初のデフォルトルートを削除すると、役に立たない。

Nfs共有が機能するように、ホストオンリーネットワークが必要です。 NATはポート転送に使用されます。このゲストがインターネットにアクセスできるように、ブリッジネットワークを追加しました。

誰が何が悪いのか考えていますか? DNSの解決には非常に時間がかかり、インターネットから何かをダウンロードするには時間がかかります。

23
sarah

回答:

以下をvagrant configに追加します。

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

詳細はこちらをご覧ください: Vagrant/VirtualBox DNS 10.0.2.3 not working

21
sarah

Vagrant configのバージョン2を実行していますか?

Sarah's は、NATがDNSリゾルバをホストするため、より高速で高速化に役立つため、その答えを提供します。

ただし、ほとんどの人が現在使用しているvagrant configのバージョン2では、「Vagrantfile」内に以下を追加する必要があります。これにより、VMでNATされたDNSを使用するように強制されます。 :

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

Vagrantfileの上部に次の行または何かがある場合、v2 configを使用しているかどうかを確認できます

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

NAT設定では、ダウンロード速度は向上しませんでした。

適切なダウンロード率を得るには、次の設定を使用する必要がありました。

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