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.