Vagrant: Koneksi internet lambat di tamu

23

Saya mencoba mengatur gelandangan. Host adalah Ubuntu 12.10. Ini file gelandangan saya:

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

Masalahnya adalah akses internet saya dari dalam gelandangan itu mengerikan. Sangat lambat. Saya pikir tabel routing mungkin kacau. Inilah output dari 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

Ada 2 rute ke tujuan default, meskipun pada NIC yang sama dan ke gateway yang sama. Tapi mungkin ini yang menyebabkan masalah. Setidaknya itulah yang saya pikirkan tetapi menghapus rute default pertama tidak membantu.

Saya perlu jaringan khusus host sehingga berbagi nfs akan berfungsi. NAT digunakan untuk penerusan porta, dan saya telah menambahkan jaringan bridged untuk mencoba memberikan akses tamu ini ke internet.

Adakah yang tahu apa yang salah? DNS sangat lambat untuk diselesaikan, dan lambat untuk mengunduh apa pun dari internet.

sarah
sumber

Jawaban:

28

Menjalankan Versi 2 dari konfigurasi Vagrant?

Sarah memberikan jawaban yaitu menggunakan NAT host DNS resolver karena lebih cepat dan akan membantu mempercepatnya.

Namun, dalam Versi 2 dari konfigurasi gelandangan yang merupakan apa yang kebanyakan orang gunakan sekarang Anda harus melakukan menambahkan berikut dalam 'Vagrantfile' Anda yang akan memaksa VM untuk menggunakan DNS NAT'd:

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

Anda dapat mengetahui apakah Anda menggunakan konfigurasi v2 jika Anda memiliki baris berikut atau sesuatu di bagian atas Anda Vagrantfile

VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
Jujhar Singh
sumber
2
Ini seharusnya jawaban yang tepat
Tenda Enrique Moreno
Saya mencoba untuk meningkatkan jaringan gelandangan saya dan itu berhasil, tetapi saya punya masalah dengan misalnya menarik gambar buruh pelabuhan karena terlalu banyak pencarian DNS. Jadi saya harus menghapus baris ini v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] berarti saya baru saja menambahkan ini ke Vagrantfile v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] Sepertinya saya sebagai resolver host meningkatkan kinerja jaringan untuk beberapa alasan dan proksi DNS frags beberapa alat.
xh3b4sd
1
TERIMA KASIH! Vm saya mengambil SELAMANYA untuk naik dan ssh ke - biasanya akan hanya timeout - ketika terhubung ke internet / jaringan. Ini memperbaikinya.
UnsettlingTrend
21

Menjawab:

Tambahkan berikut ini ke konfigurasi gelandangan:

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

Lihat di sini untuk lebih lanjut: Vagrant / VirtualBox DNS 10.0.2.3 tidak berfungsi

sarah
sumber
3
Ini hampir memperbaikinya bagi saya, kecuali bahwa tidak ada customizemetode config.vm. Sebagai gantinya, pada bagian `config.vm.provider: virtualbox do | vb |` saya, saya menambahkan ini: vb.customize ["modvvm",: id, "--natdnshostresolver1", "on"]
Ovid
1
Jawaban yang diberikan oleh 'sarah' adalah untuk sintaks konfigurasi VagrantFile lama, dan yang disediakan oleh 'Ovid' adalah untuk sintaks konfigurasi yang lebih baru. Anda dapat mengetahui apakah Anda menggunakan sintaks yang lebih baru dengan melihat apakah file konfigurasi Anda termasuk Vagrant.configure(2)di bagian atas (perhatikan 2)
caseyamcl
hampir. ini bekerja untuk saya github.com/mitchellh/vagrant/issues/1807#issuecomment-19132198 gelandangan 1.4.3
choonkeat
Saya menggunakan Fedora 22 dan menetapkan ini "off"sebagai solusi saya.
Christopher Markieta
1

Pengaturan NAT tidak meningkatkan kecepatan unduh saya.

Saya harus menggunakan pengaturan berikut untuk mendapatkan tingkat unduhan yang tepat.

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