Bagaimana cara memperbaiki layanan nama untuk klien Vagrant?

18

Saya baru mengenal Ubuntu (baru saja menginstal Ubuntu 12.10) dan ingin mulai mengembangkannya. Jadi saya telah menginstal Vagrant, diunduh lucid64.box, diinisialisasi, mulai dan diakses melalui ssh.

Untuk menguji koneksi internet pada klien saya, saya sudah melakukan ping google.com dan menerima unknown host: google.com. (Host mendapat ping tentu saja.)

Pencarian di web hanya membuat saya mendapatkan solusi ini yang menyarankan untuk menghapus kotak Vagrant dan Virtual, dan menginstalnya kembali, pastikan Vagrant dipasang terlebih dahulu. Saya sudah mencoba solusi ini dan saya masih mendapatkan hasil yang sama.

Apa lagi yang bisa saya coba untuk membuatnya berfungsi?

Shahar Galukman
sumber
1
Ada masalah dengan klien server saya mendapatkan DNS. Menggunakan google DNS, diubah /etc/resolv.confdan ditambahkan untuk /etc/network/interfacesmenyelesaikan masalah.
Shahar Galukman
Bisakah saya bertanya tutorial mana yang Anda gunakan? Hanya tebakan: apakah itu dimulai dengan jj? Jika demikian, saya akan menghubungi penulis untuk merujuk pada masalah saat ini. Jika tidak, saya akan menghapus komentar ini.
don.joey
Saya tidak menggunakan tutorial yang Anda sebutkan. Menemukan solusi menggunakan akal sehat namun solusi bayoffire jauh lebih baik, juga bug yang dikenal karena ia menyebutkan jadi saya yakin itu akan diperbaiki dalam rilis mendatang.
Shahar Galukman

Jawaban:

30

Saya memiliki masalah yang sama dengan Ubuntu 12.10 dan menemukan solusinya. Cukup tambahkan baris-baris itu ke Vagrantfile Anda:

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

Untuk Vagrant 1.1+ Anda akan membutuhkan (terima kasih kepada farooqsadiq)

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

Tampaknya menjadi bug yang dikenal di VirtualBox di Ubuntu 12.10:

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

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

lukassteiner
sumber
Senang mengetahui bahwa itu adalah bug yang diketahui, meskipun saya sendiri tidak berhasil menemukan sesuatu tentang itu. Solusi yang saya sebutkan dalam komentar saya di atas memecahkannya untuk saya. Setidaknya orang lain dengan kesalahan yang sama akan memiliki dua cara berbeda untuk menyelesaikan masalah ini. Terima kasih.
Shahar Galukman
Lebih banyak lagi tentang masalah ini. Solusi Anda akan lebih tepat karena konfigurasi DNS yang dibuat secara manual (seperti yang disarankan oleh saya di atas) akan dihapus setiap kali saya memulai VM
Shahar Galukman
1
Lihat jawaban ini untuk solusi pada versi Vagrant yang lebih baru: askubuntu.com/a/296796/122097
Brad
6

Untuk Vagrant 1.1+ Anda perlu

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

Diuji pada Vagran 1.2.2

Ditemukan di Blog Lyte http://lyte.id.au/tag/vagrant/

farooqsadiq
sumber
ini memperbaiki kesalahan berikut: Tidak dapat menambahkan PPA: 'ppa: brightbox / ruby-ng'. Harap periksa apakah nama atau format PPA benar. di Ubuntu 14 dengan gelandangan 1.7.2 dan virtualbox di macos.
nruth
5

Anda dapat membuat trik modvv bekerja di semua VMS Vagrant dalam satu pukulan dengan meletakkan snippet di ~ / .vagrant.d / Vagrantfile, misalnya:

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

The (baru) standar Vagrantfile * berisi banyak contoh berkomentar, salah satunya adalah sebagai berikut:

  # 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

Pastikan Anda mengomentari baris ini:

conig.vm.network :bridged

Itu akan memberi Anda akses mesin virtual ke jaringan / Internet.

* Pada versi 1.0.6. Pada saat jawaban ini, versi terbaru di repositori adalah 1.0.3, mungkin tidak memiliki semua contoh tambahan; dalam hal ini, Anda harus menambahkan baris kode itu.

Jonah
sumber
Saya hanya akan menggunakan ini, jika NAT tidak berfungsi. Jaringan bridged hanya berfungsi, jika Anda mendapatkan IP dari HDCP ke mesin virtual. Lihat ini: docs.vagrantup.com/v1/docs/bridged_networking.html (tidak semua jaringan berfungsi!)
lukassteiner