Vagrant: Kết nối internet chậm trong khách


23

Tôi đang cố gắng thiết lập một người lang thang. Máy chủ lưu trữ là Ubuntu 12.10. Đây là tập tin mơ hồ của tôi:

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

Vấn đề là truy cập internet của tôi từ bên trong mơ hồ là khủng khiếp. Nó rất chậm. Tôi nghĩ rằng các bảng định tuyến có thể bị rối tung. Đây là đầu ra từ 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

Có 2 tuyến đến đích mặc định, mặc dù trên cùng một NIC và đến cùng một cổng. Nhưng có lẽ điều này gây ra một vấn đề. Ít nhất đó là những gì tôi nghĩ nhưng xóa tuyến đường mặc định đầu tiên không giúp được gì.

Tôi cần kết nối mạng chỉ lưu trữ để chia sẻ nfs sẽ hoạt động. NAT được sử dụng để chuyển tiếp cổng và tôi đã thêm mạng cầu nối để cố gắng cho khách này truy cập internet.

Có ai biết điều gì sai không? DNS rất chậm để giải quyết và rất chậm để tải xuống bất cứ thứ gì từ internet.

Câu trả lời:


28

Chạy phiên bản 2 của cấu hình Vagrant?

Sarah đã cung cấp câu trả lời là sử dụng trình phân giải DNS của máy chủ NAT vì nó nhanh hơn và sẽ giúp tăng tốc mọi thứ.

Tuy nhiên, trong Phiên bản 2 của cấu hình vagrant, thứ mà hầu hết mọi người đang sử dụng bây giờ, bạn sẽ phải thêm vào sau 'Vagrantfile', điều này sẽ buộc VM sử dụng DNS của NAT:

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

Bạn có thể biết nếu bạn đang sử dụng cấu hình v2 nếu bạn có các dòng sau hoặc một cái gì đó ở đầu của bạn Vagrantfile

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

2
Đây phải là câu trả lời đúng
Lều Enrique Moreno

Tôi đã cố gắng tăng cường mạng mơ hồ của mình và nó đã hoạt động, nhưng tôi gặp vấn đề với việc lấy hình ảnh docker vì quá nhiều tra cứu DNS. Vì vậy, tôi đã phải loại bỏ dòng này v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] có nghĩa là tôi vừa thêm nó vào Vagrantfile v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] Hình như trình phân giải máy chủ đang tăng hiệu suất mạng vì một số lý do và proxy DNS làm hỏng một số công cụ.
xh3b4sd

1
CẢM ƠN BẠN! Vm của tôi đã dùng FOREVER để up và ssh vào - nó thường chỉ là thời gian chờ - khi được kết nối với internet / mạng. Điều này đã sửa nó.
Bất ổn Xu hướng

21

Câu trả lời:

Thêm phần sau vào cấu hình vagrant:

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

Xem tại đây để biết thêm: Vagrant / VirtualBox DNS 10.0.2.3 không hoạt động


3
Điều này gần như đã sửa nó cho tôi, ngoại trừ việc không có customizephương pháp nào config.vm. Thay vào đó, trên phần `config.vm.provider: virtualbox do | vb |`, tôi đã thêm phần này: vb.customize ["redirectvm" ,: id, "--natdnshostresolver1", "on"]
Ovid

1
Câu trả lời được cung cấp bởi 'sarah' là dành cho cú pháp cấu hình VagrantFile cũ và câu trả lời được cung cấp bởi 'ovid' dành cho cú pháp cấu hình mới hơn. Bạn có thể biết liệu bạn có đang sử dụng cú pháp mới hơn hay không bằng cách xem liệu tệp cấu hình của bạn có bao gồm Vagrant.configure(2)ở đầu không (lưu ý 2)
caseyamcl

hầu hết. cái này hoạt động với tôi github.com/mitchellh/vagrant/issues/1807#issuecomment-19132198 vagrant 1.4.3
choonkeat

Tôi đang ở Fedora 22 và đặt nó "off"là giải pháp của tôi.
Christopher Markieta

1

Cài đặt NAT không cải thiện tốc độ tải xuống của tôi.

Tôi đã phải sử dụng các cài đặt sau để có được tỷ lệ tải xuống phù hợp.

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.