Не удается выполнить исходящие HTTP-запросы от бродячих VM

Я не могу подключиться к Интернету с помощью виртуальной машины Vagrant, которую я создал.

Например, в корне, когда я печатаю:

curl http://google.com 

Он не работает с сообщением:

 curl: (6) Couldn't resolve host 'google.com' 

Я не уверен, что это параметр брандмауэра, хотя, насколько я знаю, я не создал никаких правил брандмауэра для порта 80 или любого другого порта.

Вот соответствующий раздел моего Vagrantfile. Если есть какая-либо другая информация, которую я могу предоставить, пожалуйста, дайте мне знать в комментариях:

 Vagrant.configure("2") do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com. # Let Vagrant manage the hostname at boot config.vm.hostname = "devbox" # Create a forwarded port mapping which allows access to a specific port # within the machine from a port on the host machine. In the example below, # accessing "localhost:8080" will access port 80 on the guest machine. # config.vm.network :forwarded_port, guest: 80, host: 8080 # Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network :private_network, ip: "10.0.0.10" # Create a public network, which generally matched to bridged network. # Bridged networks make the machine appear as another physical device on # your network. # config.vm.network :public_network # Create a public network with a given hardware address. You can # configure your DHCP server (on your router) to assign a particular IP # address to the VM. Update your hosts file accordingly. # config.vm.network :public_network, mac: "0a00251010101" # Share an additional folder to the guest VM. The first argument is # the path on the host to the actual folder. The second argument is # the path on the guest to mount the folder. And the optional third # argument is a set of non-required options. #config.vm.synced_folder "vagrant/logs", "/logs", # owner: "root", group: "root" # Base box to use with Virtualbox provider config.vm.box = "debian-7.0.0-amd64-base" config.vm.box_url = "http:/mysite.com/debian-7.0.0-amd64-base.box" 

Это похоже на проблему с настройкой DNS. Сделайте nslookup google.com и посмотрите, какой результат.

Попытайтесь добавить следующий блок в свой Vagrantfile , установить --natdnshostresolver1 чтобы заставить механизм VirtualBox NAT перехватывать DNS-запросы и перенаправлять их на распознаватель хоста

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

BTW: без vagrant reload вы можете напрямую посмотреть в /etc/resolv.conf внутри виртуальной машины, можете вручную установить ее на DNS-сервер вашей сети, скорее всего, она будет работать нормально.