web-dev-qa-db-ja.com

内部リゾルバーおよびクローズドリカーサーとしてのPowerDNS

新しく構成したPowerDNSサーバーが2台あります。 1つはマスターとして機能し、もう1つはスレーブとして機能します。それぞれで2つのデーモンが実行されています:powerdnsとpowerdns-recursor。 1つ目は5300tcpポートにバインドし、2つ目は53にバインドします。recursor.confに次のルールを追加しました(1.2.3.4はサーバーのIPアドレスです)。

forward-zones=.=1.2.3.4:5300
forward-zones-recurse=.=1.2.3.4:5300;8.8.8.8

それらのおかげで、私のサーバーは、内部で追加されたドメインとgoogle.comのような外部ドメインを解決します。唯一の問題は、ローカルIPアドレスのみに再帰クエリの送信を許可すると、内部で追加されたドメインに世界中からアクセスできないことです。一方、recursor.confでallow-fromパラメーターを0.0.0.0/0に設定すると、サーバーはDNS増幅攻撃に対して脆弱になります。私は何をすべきか?すべてのIPが、権限を持つドメインについてサーバーにクエリを実行できるようにしたいが、再帰クエリは許可しない。

1
user3125731

質問で説明するシナリオでは、再帰を期待するクライアントと信頼できる回答を期待する他のクライアントが混在しているため、pdns-recはそもそも世界に公開すべきものではありません。

行間を少し読んで、実際の質問は、pdns-authに存在を使用したリカーサー構成オプションがなくなったため、単一のIPアドレスからpdns-authとpdns-recの両方を実行する方法だと思います。過去。
このためには、おそらく PowerDNSガイドのAuthoritative Serverでの再帰の使用からRecursorの使用への移行 をよく見る必要があります。 =。

そのガイドがあなたのシナリオに要約すると、まず第一に、最も簡単で間違いなく最良のアプローチは、単にこれらのサービスを異なるIPに置くことですが、提案された代替ソリューションは dnsdist の前に固執しますpdns-authインスタンスとpdns-recインスタンスの両方(dnsdistはポート53でリッスンするものです)。dnsdistは、pdns-recインスタンスを使用してプールに再帰する必要があるクライアントからのクエリと、pdnsを使用してプールに他のすべてのクエリを渡すことができます。 -認証インスタンス。

2