浮浪者を設定しようとしています。ホストは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の解決には非常に時間がかかり、インターネットから何かをダウンロードするには時間がかかります。
回答:
以下をvagrant configに追加します。
config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
詳細はこちらをご覧ください: Vagrant/VirtualBox DNS 10.0.2.3 not working
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|
NAT設定では、ダウンロード速度は向上しませんでした。
適切なダウンロード率を得るには、次の設定を使用する必要がありました。
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end