web-dev-qa-db-ja.com

bindでの再帰と転送の違いは何ですか

バインドの仕組みを理解しようとしていますが、再帰クエリと「転送」の違いに関する明確な情報を見つけることができませんでした。

グローバルに再帰クエリを許可すると、ddos攻撃が許可されるため、悪いことだと私は読んだことがあります。しかし、転送についても同じではありませんか?または、再帰クエリの前提条件を転送していますか?

9

一言で言えば:

Forwarding: DNSクエリを別のDNSサーバー(ISPなど)に渡すだけです。ホームルーターは転送を使用して、DNSクエリをホームネットワークのクライアントからISPのDNSサーバーに渡します。たとえば、foo.example.comの場合、転送DNSサーバーは最初にキャッシュを確認し(以前にこの質問をすでに行っていた場合)、その回答がキャッシュにない場合はフォワーダー(ISPのDNSサーバー)に質問しますこれは、キャッシュされた応答で応答するか、応答が見つかるまで再帰を実行します。

Recursion:クエリを受信するDNSサーバーは、そのドメインの権限のあるDNSサーバーに再帰的にクエリを実行することにより、そのクエリへの回答を把握します。たとえば、foo.example.comの場合、リカーサーは最初にルートサーバーに.com TLDを担当するDNSサーバーを照会し、次にそれらのサーバーにexample.comを要求し、次にサーバーに照会します。 foo.example.comのcom、最後に元のクエリに対する答えを取得します。

セキュリティの観点から、リカーサー/フォワーダー(通常、多数のクライアントにサービスを提供するために使用されるDNSサーバー)と権限のあるDNSサーバー(通常、これらのサーバーはクエリへの応答にのみ責任があります:権限のあるドメイン-これらのサーバーは実行しません)誰のための再帰クエリ)。

これで問題が少し解消されるといいのですが...

19
Rouben