まったく同じ問題にぶつかり、AppleのディスカッションでDNSの問題が発生しているMac miniに関するスレッドが非常に役立ちました。
問題の核心:mDNSResponderは照会するDNSサーバーの順序をときどき変更するようであるため、最初にISPのDNSサーバーを照会すると、適切なレコードを取得できません(または分割DNSを使用している場合は、パブリックIP)。
これに対する最善の解決策は、必要なDNSサーバーのみがDNS設定にリストされるようにすることです(あなたがしたように)。これには、ISP DNSサーバーをDHCPから削除する必要がある場合があります(同様に、すべての要求はローカルDNSサーバー経由で転送されます)。
理由などのユーティリティdig
とnslookup
通常どおり成功しますが、彼らはBINDを使用しているで/etc/resolv.conf
直接オペレーティングシステムの残りの部分とは異なり。
Snow Leopardでの参照用に、DNSキャッシュはmDNSResponderに保存されるようになりました。これをクリアするには、を使用してプロセスを再起動する必要がありますsudo killall -HUP mDNSResponder
。killall
コマンドに異なるフラグを使用することにより、詳細情報(ロギング、内部状態のダンプなど)を取得できます。
"sudo killall -USR1 mDNSResponder" to enable operation logging.
"sudo killall -USR2 mDNSResponder" to enable packet logging.
"sudo killall -HUP mDNSResponder" to clear the DNS cache.
"sudo killall -INFO mDNSResponder" to dump mDNSRepsonder's internal state.
ソース:同じスレッドのSnoop Dogg。