Vagrant / VirtualBox DNS 10.0.2.3 çalışmıyor


78

Yeni bir Linux Mint Nadia kurulumunu çalıştırıyorum (14). Vagrant Başlarken ile ilgili talimatları takip ediyorum, ancak Provizyon üzerine sıkışıp kaldım . Görünüşe göre Vagrant kutusu dışarıya bağlanamıyor ve bu yüzden Chef veya Kukla kullanarak bir şey kuramıyorum.

Temel olarak Vagrant resolve.confiçerir nameserver 10.0.2.3. Ama bu setle ping yapamam us.archive.ubuntu.com.

Bunu değiştirirsem 8.8.8.8ping yapabilirim us.archive.ubuntu.comancak ayarlı kalmıyor ve yeniden başlattıktan sonra geri dönüyor 10.0.2.3- provizyon tekrar başarısız oluyor.

İdeal olarak 10.0.2.3kurulumum üzerinde çalışmak istiyorum. Hazırlık resolv.confkazanabilmem için kalıcı olarak değişmenin bir yolunu istememek .


2
Bilginize, ubuntu/xenial64kutuyla aynı sorunu çözdüm ve kutunun kendisiyle ilgili bir hata olduğu ortaya çıktı .
Aidan Feldman

@ AliFeldman benim için aynı. Sadece açık bento/ubuntu-16.04ve DNS daha fazla düzeltme olmadan iyi çalışıyor.
HenningCash

Yanıtlar:


84

Bu soruna geçici bir çözüm bulmak için, ikisi de VirtualBox kılavuzunda bulunan iki yoldan biriyle çalışabilirsiniz :

DNS proxy'sini NAT modunda etkinleştirme

NAT motoru, varsayılan olarak, ana bilgisayarda yapılandırılmış olan konuk için aynı DNS sunucularını sunar. Bazı senaryolarda, DNS sunucusu IP'lerini misafirden gizlemek istenebilir, örneğin DHCP kirasının süresi dolduğu için bu bilgiler ana bilgisayarda değişebilir. Bu durumda, NAT motoruna aşağıdaki komutu kullanarak DNS proxy'si olarak davranmasını söyleyebilirsiniz:

VBoxManage modifyvm "VM name" --natdnsproxy1 on

Ana makinenin çözümleyicisini NAT modunda bir DNS proxy'si olarak kullanma

Ağ adlarını çözmek için, NAT motorunun DHCP sunucusu, ana bilgisayarın kayıtlı DNS sunucularının bir listesini sunar. Herhangi bir nedenden dolayı, bu DNS sunucu listesini gizlemeniz ve ana makinenin çözümleyici ayarlarını kullanmanız ve böylece VirtualBox NAT motorunu DNS isteklerini engellemeye ve ana makinenin çözümleyicisine iletmeye zorlamanız gerekiyorsa, aşağıdaki komutu kullanın:

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

Bu ayarın DNS proxy moduna benzer olduğunu, ancak proxy modunun yalnızca DNS isteklerini uygun sunuculara iletmesine karşın, çözümleyici modu DNS isteklerini yorumlar ve bilgileri sorgulamak ve konuğa geri döndürmek için ana bilgisayarın DNS API'sini kullanır. .


1
Teşekkür ederim. "Ana makinenin çözümleyicisini NAT modunda bir DNS proxy'si olarak kullanmak" hile yaptı. Her Vagrant kurulumu için bunu yapmam çok yazık.
Rudolf Vavruch

1
Hemen hemen her zaman VM'ler için köprülü modu kullanıyorum, bu da sorunu ortadan kaldırıyor (ve diğer tüm sorunları barındırıyor).
Michael Hampton

3
Sadece 4.2.20'ye yükseltme ile ilgili bir sorun oluştu, "Ana makinenin çözümleyicisini NAT modunda bir DNS proxy'si olarak kullanma" da benim için hile yaptı. Teşekkür !
edomaur

73

Takip etmek https://serverfault.com/a/453260/14832 bir sürüm 2 Vagrantfile yapılandırma biçimi, başlar birini kullanıyorsanız,:

Vagrant.configure("2") do |config|

O zaman bunu bu yapılandırma dosyasına eklemek isteyebilirsiniz:

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

Eski config formatını kullanıyorsanız, ancak Vagrant 1.1+ kullanıyorsanız, bunu dosyanın sonuna ekleyebilirsiniz:

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

2
Bunu da ekleyerek aptal DNS hataları almadan Vagrantfilekoşamam sorunumu gem install...çözdüm :) Teşekkürler!
Nick
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.