web-dev-qa-db-ja.com

DNSルックアップがホストファイルエントリを無視する原因は何ですか?

ローカルマシンで閲覧すると、ローカルでホストされているWebサイトのパフォーマンスに影響を与えるDNS解決の問題があります。ブラウザーでURLにアクセスするときに、ネットワークのDNSサフィックスをローカルマシン名に添付すると、サイトにDNSサフィックスがない場合よりも読み込み時間が非常に遅くなります(100倍以上遅い)。

私は、hostsファイルを使用してこれを修正し、ルックアップの必要性を回避できると考えました。このようにhostsファイルにエントリを追加しました

127.0.0.1    myMachine.MyDnsSuffix

ただし、再起動後でも、ロード時間は変わりませんでした。この特定の問題を解決することは重要ではありませんが、私は本当に知りたいと思いますなぜこれが発生します。

また、ドメインでnslookupを実行するとmyMachine.MyDnsSuffix、ネットワークのDNSサーバーを使用してIPを検索していることに気付きました。これは私の問題に関連しているのでしょうか、それともnslookupの動作を誤解しているだけですか?

13
Dan Herbert

HOSTSファイルを使用するのではなく、nslookupを使用してDNSサーバー自体をテストすると思います。 http://support.Microsoft.com/kb/200525 はそれを示しているようです。

単純なpingを試してください。しますping myMachine.MyDnsSuffix HOSTSファイルで指定したループバックアドレスに解決しますか?

20

DNSルックアップは、hostsファイルを使用しません。ずっと。

8
adaptr

はい、まったく新しいアプローチです。 IPキャッシュとNETBIOSキャッシュをクリアしてみましょう。 ipconfig /flushdnsおよびnbtstat -R。次に、Wiresharkのようなパケットスニファを起動し、実行中にpingを実行します。

パケットキャプチャから、A)DNS要求が送信されているかどうかを確認します。DNS要求が送信されている場合は、それが要求している名前を確認します。 B)NETBIOS要求が出ている場合。この名前は、適切なDNSではなくNETBIOSを介して解決されている可能性があります。

キャッシュをフラッシュしても上記のいずれも表示されない場合は、名前がホストまたはlmhostsからプルされている可能性があります。

2
1
Babblo

Webフォーラムの一部の人々は、新しいhostsファイルを作成してDNSクライアントサービスを再起動すると問題が解決すると主張しますが、すでに再起動を試みた場合にそれが機能する理由はわかりません。

これは大げさなことだと思いますが、ホストファイルのエントリにMSDN、Microsoft、MSNなどのMicrosoft関連の単語がありません。 Microsoftは、特定の名前に一致するホストファイルエントリを無視するようにdnsapi.dllを作成しました。たとえば、次のエントリを追加すると、Windowsはそれをスキップし、DNSを使用してエントリ内の両方のホスト名を解決します。

127.0.0.1 www.Microsoft.com www.mysite.com
1
jlupolt

http://geekswithblogs.net/JanS/archive/2009/06/17/beware-of-spacing-in-windows7-hosts-file.aspx

これが実際の原因のようです。突然、警告なしに25年前の慣例を無視するようにMicrosoftにお任せください。

0
Michael McNally

完全なDNS名を使用している場合、ブラウザはプロキシサーバーを通過しようとします- IEの場合はクリック

Hostsファイルまたは名前解決の順序はこの問題とは関係ありません。hostsファイルである人類の裏側にある痛ましい痛みを取り除き、騒々しく撃つ必要があります。

0
Maximus Minimus