Linux Mint Nadia(14)の新規インストールを実行しています。 Vagrant Getting Started の指示に従っていますが、 Provisioning で行き詰まっています。 Vagrantボックスは外部に接続できないため、ChefまたはPuppetを使用して何もインストールできません。
基本的なVagrantでは、resolve.conf
にはnameserver 10.0.2.3
が含まれます。しかし、そのセットではus.archive.ubuntu.com
にpingできません。
これを8.8.8.8
に変更すると、us.archive.ubuntu.com
にpingを実行できますが、設定されたままではなく、再起動後に10.0.2.3
に戻るため、プロビジョニングが再び失敗します。
理想的には、10.0.2.3
が私のセットアップで機能することを望みます。プロビジョニングを実行できるようにresolv.conf
を永久に変更する方法が欲しいと思っていません。
この問題は2つの方法のいずれかで回避できます。どちらも VirtualBoxのマニュアルでは です。
NATモードでDNSプロキシを有効にする
NATエンジンは、デフォルトで、ホスト上に構成されているのと同じDNSサーバーをゲストに提供します。シナリオによっては、DNSサーバーのIPをゲストから非表示にすることが望ましい場合があります。 DHCPリースの期限切れが原因で、この情報がホストで変更される可能性があります。この場合、次のコマンドを使用して、NATエンジンがDNSプロキシとして機能するように指示できます。
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を使用して情報をクエリし、ゲストに返します。 。
https://serverfault.com/a/453260/14832 をフォローアップし、バージョン2のVagrantfile構成フォーマットを使用している場合は、次のようになります。
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