ITエンジニアの技術メモ

神奈川在住のITエンジニアの備忘録です。主にプログラミング(Perl, Java など)やネットワーク技術について、仕事などを通じて学んだことを自分の中で整理するためにゆるゆると書いています。誰かのご参考になれば幸いです。

hostsファイルとDNSサーバとの優先順位

ホスト名からIPアドレスへの名前解決を行う際にOSが参照する情報として、hostsファイルとDNSサーバがある。どちらが優先されるのか、つまり、OSが提供する API を使って名前解決した時にどちらの情報を優先的に見るようになっているのか、ちょっと調べてみた。

 

以下によると、Windowsでは、hostsファイルの方がDNSサーバより優先されるようだ。

https://blogs.technet.microsoft.com/jpntsblog/2009/07/13/windows/

 

Linuxでは、/etc/nsswitch.conf ファイルの定義によるのだが、デフォルトではhostsファイルの方がDNSサーバより優先されるようだ。

名前解決の参照順を変更する(/etc/nsswitch.conf)|Linux Tips

 

「ローカルの」hostsファイルを見て、そこで欲しい情報が得られなかったら「リモートの」DNSサーバを見に行くのは、「まずは自分で持っている情報を調べて、なければ上位に聞きに行く」という、IT (ネットワーク) 的な考えに合っているので、他のOSでもおそらく同じ挙動になるのではないかと思っている。