Vagrant: Konukda yavaş internet bağlantısı


23

Bir serseri kurmaya çalışıyorum. Ev sahibi Ubuntu 12.10. İşte serseri dosyam:

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

Sorun şu ki serseri içinden internet erişimim korkunç. Çok yavaş. Bence yönlendirme masaları dağılmış olabilir. İşte çıktı 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

Aynı NIC'de ve aynı ağ geçidinde olmasına rağmen, varsayılan hedefe 2 rota vardır. Ama belki bu bir soruna neden oluyor. En azından düşündüğüm şeydi ama ilk varsayılan rotayı silmek yardımcı olmuyor.

Yalnızca ana bilgisayar ağına ihtiyacım var, böylece nfs paylaşımı işe yarayacak. NAT, bağlantı noktası iletme için kullanılır ve bu misafirin internete erişmesini sağlamak için köprülü ağı ekledim.

Sorunun ne olduğu hakkında fikri olan var mı? DNS çözümü çok yavaştır ve internetten herhangi bir şey indirmek yavaştır.

Yanıtlar:


28

Vagrant yapılandırmasının 2. Sürümü mü çalışıyor?

Sarah , NAT ana bilgisayarlarını DNS çözümleyicisini daha hızlı kullandığı ve işlerin hızlanmasına yardımcı olacağı yanıtını verdi.

Ancak, çoğu insanın kullandığı vagrant config sürüm 2'de, VM'yi NAT'd DNS kullanmaya zorlayacak 'Vagrantfile' içinde aşağıdakileri eklemeniz gerekir:

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

V2 config kullanıp kullanmadığınızı anlayabilirsiniz; Vagrantfile

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

2
Bu doğru cevap olmalı
Enrique Moreno Çadır

Sersem ağımı güçlendirmeye çalıştım ve işe yaradı, ancak çok fazla DNS araması nedeniyle docker görüntüleri çekme konusunda sorun yaşadım. Böylece bu satırı kaldırmak zorunda kaldım, bu v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] sadece benim eklediğim Vagrantfile v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] gibi görünüyor Ana bilgisayar çözümleyicisi ağ performansını bir nedenden dolayı artırıyor ve DNS proxy'si bazı araçları etiketliyor.
xh3b4sd

1
TEŞEKKÜR EDERİM! Benim vm sonsuza kadar yukarı ve ssh alıyordu - internete / ağa bağlandığında - genellikle sadece zaman aşımı olurdu -. Bu düzeltti.
UnsettlingTrend

21

Cevap:

Aşağıdaki vagrant config dosyasına ekleyin:

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

Daha fazla bilgi için buraya bakın: Vagrant / VirtualBox DNS 10.0.2.3 çalışmıyor


3
Bu neredeyse benim için düzeltti, ancak bunun için bir customizeyöntem yoktu config.vm. Bunun yerine, `config.vm.provider: virtualbox do | vb |` bölümüme şunu ekledim: vb.customize ["modifyvm",: id, "--natdnshostresolver1", "on"]
Ovid

1
'Sarah' tarafından verilen cevap eski VagrantFile yapılandırma sözdizimi içindir ve 'Ovid' tarafından verilen cevap yeni yapılandırma sözdizimi içindir. Yapılandırma dosyanızın Vagrant.configure(2)en üstte olup olmadığını görerek daha yeni sözdizimini kullanıp kullanmadığınızı anlayabilirsiniz (notu not edin 2)
caseyamcl

neredeyse. bu benim için çalışıyor github.com/mitchellh/vagrant/issues/1807#issuecomment-19132198 serseri 1.4.3
choonkeat

Fedora 22'deyim ve bunu "off"benim çözümüm olarak ayarlamak.
Christopher Markieta

1

NAT ayarları indirme hızımı artırmadı.

Uygun indirme oranlarını elde etmek için aşağıdaki ayarları kullanmak zorunda kaldım.

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.