How to enable internet access inside Vagrant?

2019-03-09 16:18发布

问题:

If I run curl google.com, I can't see the output, only a blank page. My Vagrantfile contains:

Vagrant.configure("2") do |config|
  config.vm.box = "trumobi"
 #config.vm.box_url = "http://192.168.136.129/package.box"
  config.ssh.default.username = "trumobi"
  config.vm.network :public_network
  config.vm.network :forwarded_port, host: 8000, guest: 8000
end

回答1:

If you are using Vagrant + VirtualBox + Ubuntu, you might want to add the following block to your VagrantFile:

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

If you are using ubuntu, and you think your firewall is on, here's how you turn off the firewall:

sudo ufw disable


回答2:

This happens sometimes for me if I switch the host network connection, like disconnecting my laptop Ethernet cable and start using the wireless network. I found that rebooting the Vagrant vm (vagrant halt, vagrant up) fixes things.



回答3:

Disabling firewall helped me. In my CentOS guest box I did:

# sudo service iptables save
# sudo service iptables stop
# sudo chkconfig iptables off


回答4:

I tried all of the above without success (Vagrant+Virtualbox+Ubuntu 14.04). Virtualbox was showing 'Adapter 1 (NAT): cable disconnected'. Adding the following to my Vagrantfile fixed it:

config.vm.provider 'virtualbox' do |vb|
  vb.customize ['modifyvm', :id, '--cableconnected1', 'on']
end

Found here: https://github.com/mitchellh/vagrant/issues/7648