質問: 環境構成 ---- ノートPC ホスト: Windows 10 ゲスト: Ubuntu 仮想マシン: VirtualBox + Vagrant 起きていること ------- ノートパソコンの上で、 VirtualBox + Vagrant で ubuntu を構成しています。ノートPCなので、移動のタイミングなどで電源をつけっぱなしにしてノートPCを閉じて、移動するということをよく行います。 これを行っていくと、気づいたら、問題なく動いていた仮想マシンから、ホスト名の解決ができなくなっている場合があります。具体的には: ``` curl www.google.com # => unknown host curl ホストで調べたIP直指定 # => 正しく取得できる ``` グーグルに限らず、あらゆるホスト名の解決ができなくなります。一方で、ホスト側では問題なくホスト名でもって WEB の閲覧や nslookup が実行できています。 --- これが起きた時の対処方法は分かっていて、 `vagrant reload` でもって仮想マシンを再起動すれば治るのですが、疑問に思っているのが、どうして、これがそもそも発生しているのだろうか、また、もうちょっと楽な直し方はないのか、ということです。(コンテナ内で完結すれば、楽です。) 質問 -- 一体どうして、仮想マシンのみで、ホスト名が解決できなくなっているのでしょうか。再起動以外で治す方法はありますでしょうか。
回答: ubuntuで指定しているDNSサーバが参照できなくなっているように見受けます。 例えば、`/etc/resolv.conf`の`nameserver`にパブリックDNSサーバ(`8.8.8.8`(Google))を指定すると、事象解消しませんか? ### OP 追記 デフォルトの `/etc/resolv.conf` は、 ``` nameserver 10.0.2.3 ``` になっていました。少し調べてみたところ、これは virtualBox の NAT エンジンが用意する DNS サーバーの様子です。なぜこれが突如動作しなくなるのかは追究できていないですが。。 `8.8.8.8` にしたところ、host 名を解決できるようになりました。