Frage Vagrant: Langsame Internetverbindung im Gast


Ich versuche einen Landstreicher aufzustellen. Gastgeber ist Ubuntu 12.10. Hier ist meine vagabundierende Datei:

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

Das Problem ist, dass mein Internetzugang aus dem Landstreicher schrecklich ist. Es ist sehr langsam. Ich denke, die Routing-Tabellen könnten durcheinander sein. Hier ist die Ausgabe von 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

Es gibt zwei Routen zum Standardziel, jedoch auf derselben Netzwerkkarte und demselben Gateway. Aber vielleicht verursacht das ein Problem. Zumindest dachte ich, aber das Löschen der ersten Standardroute hilft nicht.

Ich brauche Host-Only-Networking, damit die nfs-Freigabe funktioniert. NAT wird für die Portweiterleitung verwendet, und ich habe das überbrückte Netzwerk hinzugefügt, um diesem Gast den Zugang zum Internet zu ermöglichen.

Hat jemand eine Idee, was ist los? DNS ist sehr langsam zu lösen, und es ist langsam, alles aus dem Internet herunterzuladen.


22
2018-04-03 21:18


Ursprung




Antworten:


Running Version 2 der Vagrant-Konfiguration?

Sarahs lieferte die Antwort, die den NAT-Host-DNS-Resolver verwendet, da es schneller ist und dazu beitragen wird, die Dinge zu beschleunigen.

In der Version 2 der vagrant config, welche die meisten Leute jetzt benutzen, müssen Sie in Ihrer 'Vagrantfile' folgendes hinzufügen, was die VM dazu zwingt, NAT'd DNS zu verwenden:

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

Sie können feststellen, ob Sie v2 config verwenden, wenn Sie die folgenden Zeilen oder etwas in der oberen Zeile haben Vagrantfile

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

27
2018-05-14 10:47



Dies sollte die richtige Antwort sein - Enrique Moreno Tent
Ich versuchte mein vagabundierendes Netzwerk anzukurbeln und es funktionierte, aber ich hatte Probleme mit z. Ziehen von Docker-Images wegen zu vieler DNS-Lookups. Also musste ich diese Zeile entfernen v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]  bedeutet, ich habe gerade das zu meinem hinzugefügt Vagrantfile  v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]  Sieht so aus, als ob der Host-Resolver aus irgendeinem Grund die Netzwerkleistung erhöht und der DNS-Proxy einige Tools ausgibt. - xh3b4sd
DANKE DIR! Mein vm nahm FOREVER nach oben und ssh hinein - es war normalerweise nur ein Timeout - wenn er mit dem Internet / dem Netzwerk verbunden war. Das hat es behoben. - UnsettlingTrend


Antworten:

Fügen Sie der vagrant config Folgendes hinzu:

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

Sehen Sie hier für mehr: Vagrant / VirtualBox DNS 10.0.2.3 funktioniert nicht


21
2018-04-05 19:18



Das hat es fast für mich behoben, außer dass es kein customize Methode an config.vm. Stattdessen habe ich im Abschnitt `config.vm.provider: virtualbox do | vb |` folgendes hinzugefügt: vb.customize ["modifyvm",: id, "--natdnshostresolver1", "on"] - Ovid
Die Antwort von 'sarah' ist für die alte VagrantFile-Konfigurationssyntax und die von 'Ovid' für die neuere Konfigurationssyntax. Sie können feststellen, ob Sie die neuere Syntax verwenden, indem Sie sehen, ob Ihre Konfigurationsdatei enthält Vagrant.configure(2) an der Spitze (beachten Sie die 2) - caseyamcl
fast. Das funktioniert für mich github.com/mitchellh/vagrant/issues/1807#issuecomment-19132198 Landstreicher 1.4.3 - choonkeat
Ich bin auf Fedora 22 und setze dies auf "off" war meine Lösung. - Christopher Markieta


Die NAT-Einstellungen haben meine Download-Geschwindigkeit nicht verbessert.

Ich musste die folgende Einstellung verwenden, um korrekte Download-Raten zu erhalten.

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

1
2018-06-01 10:29