Jak naprawić usługę nazw dla klienta Vagrant?


18

Jestem nowy w Ubuntu (właśnie zainstalowałem Ubuntu 12.10) i chcę zacząć się z nim rozwijać. Więc zainstalowałem Vagrant, pobrałem, lucid64.boxzainicjowałem, uruchomiłem i uzyskałem dostęp przez ssh.

Aby przetestować połączenie internetowe na moim kliencie, zrobiłem ping google.com i otrzymałem unknown host: google.com. (Host otrzymał oczywiście ping.)

Przeszukanie Internetu doprowadziło mnie tylko do tego rozwiązania, które sugerowało usunięcie Vagrant i Virtual boxa i ponowną instalację, po prostu upewnij się, że Vagrant został zainstalowany jako pierwszy. Wypróbowałem to rozwiązanie i nadal otrzymuję te same wyniki.

Co jeszcze mogę spróbować, aby działało?


1
Wystąpił problem z moim klientem serwera uzyskującym DNS. Za pomocą Google DNS zmieniono /etc/resolv.confi dodano, aby /etc/network/interfacesrozwiązać problem.
— Shahar Galukman

Czy mogę zapytać, którego samouczka używasz? Tylko zgadnij: czy zaczyna się od Django? Jeśli tak, skontaktuję się z autorem, aby odnieść się do obecnego problemu. Jeśli nie, usunę ten komentarz.
— don.joey

Nie korzystam z samouczka, o którym wspominałeś. Znalazłem rozwiązanie przy użyciu zdrowego rozsądku, ale rozwiązanie bayoffire jest znacznie lepsze, jest to również znany błąd, jak wspomniał, więc wierzę, że zostanie naprawiony w przyszłej wersji.
— Shahar Galukman

Odpowiedzi:


30

Miałem ten sam problem z Ubuntu 12.10 i znalazłem rozwiązanie. Po prostu dodaj te linie do swojego pliku Vagrantfile:

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

Do Vagrant 1.1+ będziesz potrzebować (dzięki farooqsadiq)

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

Wygląda na to, że jest znanym błędem w VirtualBox na Ubuntu 12.10:

https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1048783

https://www.virtualbox.org/ticket/10864


Dobrze wiedzieć, że jest to znany błąd, chociaż sam nie udało mi się go znaleźć. Obejście, o którym wspomniałem w powyższym komentarzu, rozwiązało jednak dla mnie. Przynajmniej inne narody z tym samym błędem będą miały dwa różne sposoby rozwiązania tego problemu. Dziękuję Ci.
— Shahar Galukman

Jeszcze więcej na ten temat. Twoje rozwiązanie będzie bardziej odpowiednie, ponieważ konfiguracja DNS wykonana ręcznie (jak zasugerowałem powyżej) zostanie usunięta za każdym razem, gdy uruchomię
— maszynę

1
Zobacz odpowiedź na rozwiązanie dla nowszych wersji Vagrant: askubuntu.com/a/296796/122097
— Brad

6

Do Vagrant 1.1+ będziesz potrzebować

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

Testowany na Vagrant 1.2.2

Znalezione na blogu Lyte http://lyte.id.au/tag/vagrant/


naprawia to następujący błąd: Nie można dodać PPA: „ppa: brightbox / ruby-ng”. Sprawdź, czy nazwa lub format PPA jest poprawny. na Ubuntu 14 z włóczęgą 1.7.2 i virtualbox na macos.
— nruth

5

Możesz sprawić, by sztuczka modyfikująca działała na wszystkich wirtualnych maszynach wirtualnych za jednym razem, umieszczając fragment kodu w ~ / .vagrant.d / Vagrantfile, np .:

Vagrant::Config.run do |config|
    config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end

2

(Nowy) domyślny plik Vagrantfile * zawiera kilka skomentowanych przykładów, z których jeden jest następujący:

  # Assign this VM to a bridged network, allowing you to connect directly to a
  # network using the host's network device. This makes the VM appear as another
  # physical device on your network.
  # config.vm.network :bridged

Usuń komentarz z tej linii:

conig.vm.network :bridged

Dzięki temu Twoja maszyna wirtualna uzyska dostęp do sieci / Internetu.

* Od wersji 1.0.6. W chwili udzielenia odpowiedzi najnowsza wersja w repozytorium to 1.0.3, może nie zawierać wszystkich dodatkowych przykładów; w takim przypadku musisz dodać ten wiersz kodu.


Użyłbym tego tylko, jeśli NAT nie działa. Mostkowane sieci działają tylko wtedy, gdy uzyskasz adres IP z HDCP na maszynę wirtualną. Zobacz: docs.vagrantup.com/v1/docs/bridged_networking.html (nie wszystkie sieci działają!)
— lukassteiner
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.