優先および代替または複数のDNSサーバーはどのように機能しますか?


21

セカンダリDNSサーバーとターシャリーDNSサーバーがどのように処理されるかがわからないことが判明したときに、すべてが失敗した場合のバックアップとして、アダプターのDNSサーバーのリストの最後に8.8.8.8を追加することを検討していました。

  • 次のDNSサーバーはどのような条件下で使用されますか?
  • 名前が解決されない場合、次のサーバーがチェックされますか?
  • 名前が解決されない場合、複数のサーバーを照会するようにマシンを構成できますか?

また、イントラネット上にないDNSサーバーを追加すると、ローカル名を解決できない可能性があることも心配しています。

  • 最初のDNSサーバーに障害が発生した場合、セカンダリDNSサーバーはどのくらい使用されますか?
  • マシンがプライマリDNSサーバーが起動しているかどうかを確認すると、現在のDNSクエリが停止しますか?
  • 複数のDNSサーバーはパフォーマンスにどのように影響しますか?アダプターのリストに4つのDNSサーバーがあり、そのうち3つが停止している場合、3つのタイムアウトを待ってから回答を得ますか?

この質問がOS固有のものかどうかもわかりません。異なるオペレーティングシステムはこれを異なる方法で処理しますか?

私の目標は、DHCPがスクリプトで提供するものの上に8.8.8.8をDNSサーバーに追加することです。私が制御できないDHCP設定のエラーが原因で、マシンが偽の/到達不能/単にDNSサーバーがないという愚かなDNSの問題に走り続けます。私はそれにうんざりしていますが、このフェールセーフを追加すると、解決するよりも多くの問題が発生するかどうか疑問に思っています。


1
この質問は関連しています。superuser.com / q / 558843/146694内部名前解決を必要とするネットワークに外部DNSアドレスを追加すると、多くの問題が発生します。
タナーフォークナー

回答:


16

答えは確かに、特定のオペレーティングシステムの異なる動作を妨げるものは何もないという意味で、オペレーティングシステム固有のものです。オペレーティングシステムの実装がここで説明しているのとは異なる方法でDNSクエリを処理することを妨げる複数のサーバーのDNSクライアントクエリについては、何も必要ありません。

そうは言っても、LinuxがDNS名を検索する方法の例は、今日一般的に使用されているほとんどのオペレーティングシステムがDNS名を検索する方法を代表するものでなければなりません。

ここでは、動作を詳細に説明する優れた投稿と、要求したような設定を行う方法があります。

一般的な考え方は、プライマリDNSサーバーがタイムアウトするか、ルーティングできないIPアドレスを指している場合にのみ、デフォルトでセカンダリ/ターシャリーDNSサーバーが順番に使用されるというものです。プライマリDNSサーバーが「そのドメインは解決しない」と言っても、次のネームサーバーに問い合わせることはありません。それは扱う何らかの理由としてクエリへの有効な応答をしませリスト内の次のDNSサーバーに移動します。

ローカルアドレスが最初に解決されるように設定する正しい方法の1つですが、ISPのDNSサーバーの代わりにGoogle DNSまたはOpenDNSを使用し、ルーターまたはLANボックス(インターネットゲートウェイのいずれか)を使用し8.8.8.8て、プライマリネームサーバー。もちろん、ゲートウェイボックスはすべき自体がネームサーバを実行していること、およびプライベートサブネット上のローカルホスト名の回答DNSクエリに設定する必要があります-しかし、それはローカルサブネットに対する解決に失敗した場合、それはすぐにGoogleのDNSにパントする必要があります。これは両方の長所の一種です。

別の方法は、異なるネットワークインターフェイスに異なるネームサーバーを設定することです。Windowsでは、デフォルトでこれを行うことができます。上記のリンクの記事では、forwardand forwardersディレクティブを使用してBIND9 DNSサーバーの実装を構成することにより、その方法を説明しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.