Resposta:
Adicione o seguinte à configuração do vagrant:
config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
Veja aqui para saber mais: Vagrant / VirtualBox DNS 10.0.2.3 não está funcionando
Estou tentando montar um vagabundo. Host é o Ubuntu 12.10. Aqui está o meu arquivo vagante:
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
O problema é que o meu acesso à internet de dentro do vagrant é terrível. É muito lento. Eu acho que as tabelas de roteamento podem estar confusas. Aqui está a saída 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
Existem duas rotas para o destino padrão, embora na mesma NIC e para o mesmo gateway. Mas talvez isso esteja causando um problema. Pelo menos foi o que pensei, mas excluir a primeira rota padrão não ajuda.
Eu preciso de rede somente de host para que o compartilhamento nfs funcione. O NAT é usado para o encaminhamento de porta e eu adicionei a rede de ponte para tentar dar a esse convidado acesso à Internet.
Alguém tem alguma idéia do que está errado? O DNS é muito lento para resolver e demora a baixar qualquer coisa da Internet.
Resposta:
Adicione o seguinte à configuração do vagrant:
config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
Veja aqui para saber mais: Vagrant / VirtualBox DNS 10.0.2.3 não está funcionando
Sarah forneceu a resposta que é usar o resolvedor de DNS dos hosts NAT, pois é mais rápido e ajudará a acelerar as coisas.
No entanto, na versão 2 da configuração do vagrant, que é o que a maioria das pessoas está usando agora, você terá que adicionar o seguinte dentro do 'Vagrantfile' que forçará a VM a usar o DNS NAT:
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end
Você pode dizer se está usando a configuração da v2 se tiver as seguintes linhas ou algo no topo do seu Vagrantfile
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
As configurações de NAT não melhoraram minha velocidade de download.
Eu tive que usar a seguinte configuração para obter taxas de download adequadas.
config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--nictype1", "virtio"]
end