2014-04-07 16 views
10

Nie mogę połączyć się z Internetem z zainstalowanej maszyny wirtualnej Vagrant.Nie można wykonać wychodzących żądań HTTP od Vagrant VM

Na przykład, u nasady, gdy wpisuję:

curl http://google.com 

To nie z komunikatem:

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

Nie jestem pewien, czy jest to ustawienie zapory, chociaż w miarę Wiem, że nie stworzyłem żadnych reguł zapory dla portu 80 lub innego portu.

Oto odpowiednia część mojego pliku Vagrant. Jeśli istnieją jakiekolwiek inne informacje mogę zapewnić proszę dać mi znać w komentarzach:

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" 

Odpowiedz

14

to wygląda na problem konfiguracji DNS. Wykonaj nslookup google.com i zobacz, jaki jest wynik.

spróbuj dodać następujący blok w Vagrantfile ustaw --natdnshostresolver1 się na tak aby zmusić silnik VirtualBox NAT przechwycić żądania DNS i ich przekazania do gospodarza rezolwer

config.vm.provider :virtualbox do |vb| 

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

end 

BTW: Bez vagrant reload, można bezpośrednio w urządzeniu VM, można ręcznie ustawić go na serwerze DNS w sieci, najprawdopodobniej wszystko będzie dobrze.

Powiązane problemy