Vagabondo: connessione Internet lenta nell'ospite


23

Sto cercando di creare un vagabondo. L'host è Ubuntu 12.10. Ecco il mio file vagabondo:

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

Il problema è che il mio accesso a Internet dall'interno del vagabondo è terribile. È molto lento. Penso che le tabelle di routing potrebbero essere incasinate. Ecco l'output di 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

Esistono 2 route per la destinazione predefinita, sebbene sulla stessa NIC e sullo stesso gateway. Ma forse questo sta causando un problema. Almeno questo è quello che ho pensato, ma l'eliminazione della prima route predefinita non aiuta.

Ho bisogno di reti solo host quindi la condivisione nfs funzionerà. NAT viene utilizzato per il port forwarding e ho aggiunto la rete a ponte per provare a dare a questo ospite l'accesso a Internet.

Qualcuno ha idea di cosa non va? Il DNS è molto lento da risolvere ed è lento scaricare qualsiasi cosa da Internet.

Risposte:


28

Esegui la versione 2 della configurazione di Vagrant?

Sarah ha fornito la risposta che consiste nell'utilizzare il risolutore DNS degli host NAT in quanto è più veloce e contribuirà ad accelerare le cose.

Tuttavia, nella versione 2 della configurazione del vagabondo, che è ciò che la maggior parte delle persone sta usando ora, dovrai aggiungere il seguente "Vagrantfile" che costringerà la VM a utilizzare il DNS NAT'd:

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

Puoi sapere se stai usando v2 config se hai le seguenti righe o qualcosa nella parte superiore della tua Vagrantfile

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

2
Questa dovrebbe essere la risposta giusta
Enrique Moreno Tent

Ho provato a potenziare la mia rete vagabonda e ha funzionato, ma ho avuto problemi con ad esempio il pull di immagini docker a causa di troppe ricerche DNS. Quindi ho dovuto rimuovere questa riga v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] significa che ho appena aggiunto questo al mio Vagrantfile v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] Sembra che il risolutore di host stia aumentando le prestazioni della rete per qualche motivo e il proxy DNS franca alcuni strumenti.
xh3b4sd,

1
GRAZIE! La mia vm portava SEMPRE su up e ssh in - di solito sarebbe solo timeout - quando connesso a Internet / alla rete. Questo l'ha risolto.
Inquietante

21

Risposta:

Aggiungi quanto segue alla configurazione del vagabondo:

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

Per ulteriori informazioni, vedere qui: Vagrant / VirtualBox DNS 10.0.2.3 non funziona


3
Questo mi ha quasi risolto il problema, tranne per il fatto che non esisteva un customizemetodo config.vm. Invece, nella mia sezione `config.vm.provider: virtualbox do | vb |`, ho aggiunto questo: vb.customize ["editvm",: id, "--natdnshostresolver1", "on"]
Ovid

1
La risposta fornita da 'sarah' è per la vecchia sintassi di configurazione di VagrantFile e quella fornita da 'Ovid' è per la sintassi di configurazione più recente. Puoi capire se stai utilizzando la sintassi più recente verificando se il tuo file di configurazione include Vagrant.configure(2)in alto (nota il 2)
caseyamcl


Sono su Fedora 22 e l'impostazione è "off"stata la mia soluzione.
Christopher Markieta,

1

Le impostazioni NAT non hanno migliorato la mia velocità di download.

Ho dovuto utilizzare le seguenti impostazioni per ottenere le velocità di download adeguate.

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.