技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

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でもおそらく同じ挙動になるのではないかと思っている。