トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

/etc/hostsの挙動.sys

[Microsoft Windows]

DNSキャッシュに登録される/etc/hosts

Linuxと違って、Windowsでは/etc/hostsが必ず優先される。
実は、/etc/hostsの内容はリアルタイムにローカルマシンのDNSキャッシュに登録されるようになっている。しかも、/etc/hostsから登録されたエントリは、フラッシュされない。
その結果、/etc/hosts内のエントリが名前解決において常に優先されるようになっている、という仕組みになっている。

ちなみにLinuxでは、「ローカルマシンのDNSキャッシュ」というもの自体が存在しない。

multi on

もう一点。/etc/hostsの挙動は、Linuxで言うところの"multi on"である。/etc/hosts内の有効なエントリはすべてDNSキャッシュに登録される。また、DNSクライアントにはそのすべてが返される。

そのため、複数のIPアドレスがひとつのホスト名に対応しているようなエントリを書けば、簡易的なフェイルオーバーが実現できる。
Linuxと同じく、この場合ラウンドロビンは実現できない。DNSクライアントは常に上のエントリから順にアクセスを試みるだけ。

現時点で、Linuxの"reorder"のような挙動を行わせる方法は判明していない。