web-dev-qa-db-fra.com

Vagrant: connexion Internet lente dans l'invité

J'essaie de mettre en place un vagabond. L'hôte est Ubuntu 12.10. Voici mon fichier vagabond:

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

Le problème est que mon accès Internet de l'intérieur du vagabond est terrible. C'est très lent. Je pense que les tables de routage peuvent être gâchées. Voici la sortie de 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

Il y a 2 itinéraires vers la destination par défaut, bien que sur le même NIC et à la même passerelle. Mais peut-être cela causent un problème. Au moins c'est ce que je pensais, mais la suppression de la première voie par défaut n'aide pas.

J'ai besoin de réseautage uniquement de l'hôte afin que la part NFS fonctionnera. NAT est utilisé pour le transfert de port et j'ai ajouté le réseau ponté pour essayer de donner à cet invité l'accès à Internet.

Quelqu'un a-t-il une idée de ce qui ne va pas? DNS est très lent à résoudre et il est lent de télécharger quoi que ce soit sur Internet.

23
sarah

Réponse:

Ajoutez les éléments suivants à la configuration Vagrant:

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

Voir ici pour plus: Vagrant/VirtualBox DNS 10.0.2.3 ne fonctionne pas

21
sarah

Exécution de la version 2 de la configuration Vagrant?

Sarah fourni la réponse qui doit utiliser NAT héberge le résolveur DNS tel qu'il est plus rapide et aidera à accélérer les choses.

Toutefois, dans la version 2 de la configuration Vagrant qui est ce que la plupart des gens utilisent maintenant, vous devrez ajouter des informations supplémentaires dans votre "VagrantFile" qui forcera le VM à utiliser NAT'D DNS :

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

Vous pouvez dire si vous utilisez V2 config si vous avez les lignes suivantes ou quelque chose en haut de votre Vagrantfile

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

The NAT Paramètres n'a pas amélioré ma vitesse de téléchargement.

J'ai dû utiliser le paramètre suivant pour obtenir des tarifs de téléchargement appropriés.

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
1
hennr