Пытаюсь настроить бродягу. Хост - 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 маршрута к месту назначения по умолчанию, но на одной сетевой карте и к одному шлюзу. Но, возможно, это вызывает проблему. По крайней мере, я так думал, но удаление первого маршрута по умолчанию не помогает.
Мне нужна сеть только для хоста, чтобы общий ресурс nfs работал. NAT используется для переадресации портов, и я добавил мостовую сеть, чтобы попытаться предоставить гостю доступ в Интернет.
Кто-нибудь знает, что не так? DNS очень медленно разрешается, и он медленно загружает что-либо из Интернета.
Сара предоставил ответ, который заключается в использовании преобразователя DNS хостов NAT, поскольку он быстрее и поможет ускорить процесс.
Однако в версии 2 конфигурации vagrant, которую сейчас использует большинство людей, вам нужно будет добавить следующее в свой Vagrantfile, что заставит виртуальную машину использовать DNS с NAT:
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|
Ответ:
Добавьте в конфигурацию бродяги следующее:
config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
Подробнее см. Здесь: Vagrant / VirtualBox DNS 10.0.2.3 не работает
Настройки NAT не улучшили мою скорость загрузки.
Мне пришлось использовать следующие настройки, чтобы получить правильную скорость загрузки.
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end