Vagrant / VirtualBox DNS 10.0.2.3が機能しない


78

Linux Mint Nadiaの新規インストールを実行しています(14)。Vagrant Getting Startedの指示に従っていますが、Provisioningにこだわっています。Vagrantボックスは外部と接続できないため、ChefまたはPuppetを使用して何もインストールできません。

基本的なVagrantにresolve.confはが含まれていますnameserver 10.0.2.3。しかし、そのセットではpingできませんus.archive.ubuntu.com

に変更すると8.8.8.8、pingを実行できますus.archive.ubuntu.comが、設定されたままにならず、再起動後に元に10.0.2.3戻ります。そのため、プロビジョニングは再び失敗します。

理想的には10.0.2.3、セットアップに取り組みたいと思います。失敗した場合、resolv.confプロビジョニングを行えるように永続的に変更する方法が必要です。


2
ちなみに、この同じ問題がubuntu/xenial64ボックスで発生しただけで、ボックス自体のバグであることが判明しました。
エイダンフェルドマン

@AidanFeldmanも同じです。に切り替えただけでbento/ubuntu-16.04、DNSは修正なしで正常に機能します。
-HenningCash

回答:


84

VirtualBoxマニュアルにある2つの方法のいずれかでこの問題を回避できます

NATモードでDNSプロキシを有効にする

NATエンジンはデフォルトで、ホスト上で構成されているゲストに同じDNSサーバーを提供します。一部のシナリオでは、ゲストからDNSサーバーIPを隠すことが望ましい場合があります。たとえば、DHCPリースの期限切れによりこの情報がホスト上で変更される場合があります。この場合、次のコマンドを使用して、DNSプロキシとして機能するようにNATエンジンに指示できます。

VBoxManage modifyvm "VM name" --natdnsproxy1 on

ホストのリゾルバーをNATモードでDNSプロキシとして使用する

ネットワーク名を解決するために、NATエンジンのDHCPサーバーは、ホストの登録済みDNSサーバーのリストを提供します。何らかの理由でこのDNSサーバーリストを非表示にし、ホストのリゾルバー設定を使用する必要がある場合、VirtualBox NATエンジンがDNS要求をインターセプトしてホストのリゾルバーに転送するように強制するには、次のコマンドを使用します。

VBoxManage modifyvm "VM name" --natdnshostresolver1 on

この設定はDNSプロキシモードに似ていますが、プロキシモードはDNS要求を適切なサーバーに転送するだけですが、リゾルバーモードはDNS要求を解釈し、ホストのDNS APIを使用して情報を照会し、ゲストに返します。 。


1
ありがとうございました。「ホストのリゾルバをNATモードでDNSプロキシとして使用する」ことがこのトリックを行いました。Vagrantのインストールごとにこれを行う必要があるのは残念です。
ルドルフVavruch

1
ほとんどの場合、VMにはブリッジモードを使用します。これにより、問題(およびその他の多くの問題)が解消されます。
マイケルハンプトン

3
4.2.20へのアップグレードで問題が発生しましたが、「ホストのリゾルバをNATモードでDNSプロキシとして使用する」ことも私にとってはうまくいきました。どうも !
edomaur

73

https://serverfault.com/a/453260/14832でフォローアップします。バージョン2のVagrantfile config形式を使用している場合、開始する形式は次のとおりです。

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

次に、これをその構成ファイルに追加することができます。

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

古い設定形式を使用しているが、Vagrant 1.1+を使用している場合、ファイルの最後にこれを追加できます。

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

2
これを追加すると、愚かなDNSエラーを取得せVagrantfileずに実行できなかった問題が修正されましたgem install...
ニック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.