Бродяга: медленное подключение к интернету в гостевой


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

Есть 2 маршрута к месту назначения по умолчанию, хотя на том же NIC и к тому же шлюзу. Но, возможно, это вызывает проблему. По крайней мере, я так думал, но удаление первого маршрута по умолчанию не помогает.

Мне нужна сеть только для хоста, чтобы общий ресурс nfs работал. NAT используется для переадресации портов, и я добавил мостовую сеть, чтобы попытаться дать этому гостю доступ в Интернет.

Кто-нибудь знает, что не так? DNS очень медленно разрешается, и он медленно загружает что-либо из Интернета.

Ответы:


28

Запуск версии 2 конфигурации Vagrant?

Сара предоставила ответ, который заключается в том, чтобы использовать DNS-преобразователь хостов NAT, поскольку он быстрее и поможет ускорить процесс.

Тем не менее, во второй версии vagrant config, которую сейчас использует большинство людей, вы должны добавить следующее в ваш 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|

2
Это должен быть правильный ответ
— Энрике Морено Палатка

Я попытался увеличить свою бродячую сеть, и это сработало, но у меня были проблемы, например, с извлечением образов докера из-за слишком большого количества поисков DNS. Таким образом, мне пришлось удалить эту строку, v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] значит, я просто добавил это в свой Vagrantfile v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] внешний вид. Похоже, что преобразователь хоста повышает производительность сети по какой-то причине, а прокси-сервер DNS отбрасывает некоторые инструменты.
— xh3b4sd

1
СПАСИБО! Мой виртуальный виртуальный компьютер взял навсегда и ssh в - это обычно просто тайм-аут - при подключении к Интернету / сети. Это исправило это.
— UnsettlingTrend

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

почти. это работает для меня github.com/mitchellh/vagrant/issues/1807#issuecomment-19132198
— vagrant

Я использую Fedora 22, и это "off"было моим решением.
— Кристофер Маркиета

1

Настройки NAT не улучшили мою скорость загрузки.

Мне пришлось использовать следующие настройки, чтобы получить правильную скорость загрузки.

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.