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

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

万が一に備えて、アダプターのDNSサーバーリストの最後に8.8.8.8を追加することを検討していました。すべてセカンダリ DNS サーバーとターシャリ DNS サーバーがどのように扱われるかよくわからないことに気づいたとき、失敗しました。

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

また、イントラネット上にない DNS サーバーを追加すると、ローカル名を解決できなくなるのではないかとも心配しています。

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

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

私の目標は、スクリプトで DHCP が配布するものに加えて、DNS サーバーに 8.8.8.8 を追加することです。DHCP 構成のエラーが原因で、制御できない DNS サーバーが偽物/到達不能/まったく存在しないという、愚かな DNS 問題に何度も遭遇しています。もううんざりしていますが、このフェイルセーフを追加すると、解決するよりも問題が増えるのではないかと思っています。

答え1

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

とはいえ、LinuxがDNS名を検索する例が、ほとんど現在一般的に使用されているオペレーティング システムはこれを実行します。

ここ動作の詳細と、あなたが求めているものを設定する方法を説明した良い投稿です。

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

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

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

関連情報