방랑자 : 게스트의 인터넷 연결 속도가 느림


23

나는 방랑자를 설정하려고합니다. 호스트는 Ubuntu 12.10입니다. 내 방랑 파일은 다음과 같습니다.

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

문제는 방랑자 안에서의 인터넷 액세스가 끔찍하다는 것입니다. 매우 느립니다. 라우팅 테이블이 엉망이라고 생각합니다. 출력은 다음과 같습니다 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

동일한 NIC 및 동일한 게이트웨이에 있지만 기본 대상에 대한 2 개의 경로가 있습니다. 그러나 아마도 이것이 문제를 일으키는 것입니다. 적어도 그것은 내가 생각한 것이지만 첫 번째 기본 경로를 삭제해도 도움이되지 않습니다.

nfs 공유가 작동하려면 호스트 전용 네트워킹이 필요합니다. NAT는 포트 전달에 사용되며이 게스트에게 인터넷 액세스를 제공하기 위해 브리지 된 네트워크를 추가했습니다.

아무도 무엇이 잘못되었는지 알고 있습니까? DNS는 해결이 매우 느리고 인터넷에서 다운로드하는 것이 느립니다.

답변:


28

Vagrant 구성의 버전 2를 실행 중입니까?

Sarah의 답변은 NAT 호스트 DNS 확인자를 더 빨리 사용하고 속도를 높이는 데 도움이됩니다.

그러나 대부분의 사람들이 사용하는 vagrant config 버전 2에서는 VM이 ​​NAT의 DNS를 사용하도록 강제하는 'Vagrantfile'에 다음을 추가해야합니다.

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

v2 구성을 사용하고 있는지 알 수 있습니다. Vagrantfile

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

2
정답입니다
Enrique Moreno Tent

방랑자 네트워크를 강화하려고 시도했지만 제대로 작동했지만 DNS 조회가 너무 많아 도커 이미지를 가져 오는 등의 문제가있었습니다. 따라서이 줄을 제거해야 v.customize ["modifyvm", :id, "--natdnsproxy1", "on"] 한다는 Vagrantfile v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] 것은 호스트 확인자가 어떤 이유로 네트워크 성능을 향상시키고 DNS 프록시가 일부 도구를 손상시키는 것처럼 Looks에 추가 한 것을 의미 합니다.
xh3b4sd

1
고맙습니다! 내 vm은 인터넷 / 네트워크에 연결될 때 영원히 시간을내어 일반적으로 시간이 초과 될 것입니다. 이것은 그것을 고쳤다.
UnsettlingTrend

21

대답:

방랑자 구성에 다음을 추가하십시오.

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

자세한 내용은 여기를 참조하십시오 : Vagrant / VirtualBox DNS 10.0.2.3이 작동하지 않습니다


3
에 대한 customize방법 이 없다는 것을 제외하고는 거의 나를 위해 그것을 고쳤습니다 config.vm. 대신 내`config.vm.provider : virtualbox do | vb |`섹션에서 다음을 추가했습니다 : vb.customize [ "modifyvm", : id, "--natdnshostresolver1", "on"]
Ovid

1
'sarah'이 제공하는 답변은 이전 VagrantFile 구성 구문에 대한 것이며 'Ovid'가 제공하는 답변은 최신 구성 구문에 대한 것입니다. 구성 파일 Vagrant.configure(2)이 맨 위에 포함되어 있는지 확인하여 최신 구문을 사용 중인지 알 수 있습니다 (참고 2)
caseyamcl

거의. 나를 위해이 작품 github.com/mitchellh/vagrant/issues/1807#issuecomment-19132198 방랑 1.4.3
choonkeat

Fedora 22를 사용 중이며 이것을 "off"내 솔루션으로 설정했습니다 .
Christopher Markieta

1

NAT 설정으로 다운로드 속도가 향상되지 않았습니다.

적절한 다운로드 속도를 얻으려면 다음 설정을 사용해야했습니다.

config.vm.provider "virtualbox" do |vb|
  vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.