web-dev-qa-db-ja.com

ドメインの権限のあるDNSサーバーは、他のドメインを指すCNAMEレコードを許可するために再帰を許可する必要がありますか?

だから私はDreamhostに登録されたドメインを持っていますが、これは明らかに再帰的なルックアップを行わず、Heroku上のアプリです。 Herokuアプリは、常にCNAMEレコードを使用してproxy.heroku.com

そう:

Authoritative DNS:  ns1.dreamhost.com (for foo.com)

CNAME record:       app.foo.com -> proxy.heroku.com

Resolves to:        Set of A records for EC2 IPs

Windows Server 2003 DNSサーバーの背後からアプリに接続しようとしている人から、SERVFAILの処理方法が異なり、DNSを解決できないと言われました。私は、これが本当に私の側の構成の問題なのか、それとも彼らの側の構成の問題なのか、特にタイトルごとに理解しようとしています。

ドメインの権限のあるDNSサーバーは、他のドメインを指すCNAMEレコードを許可するために再帰的である必要がありますか?

5
scotchi

いいえ、信頼できるDNSサーバーに対して再帰をオンにする必要はありません。誰に尋ねるかによっては、(可能であれば)権限のあるサーバーが一部のDoS攻撃に対する防御線であるため、再帰的ではないことも良い習慣と見なされます。 (Ciscoのドキュメントは ここ などです)

私のドメインのサンプルを以下に示します(サーバーはバインド9を実行しており、再帰的ではありません)。

; <<>> Dig 9.5.1-P3 <<>> mail.<snip> @<my authoritative master>
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1216
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;mail.<snip>.       IN  A

;; ANSWER SECTION:
mail.<snip>.        86400   IN  CNAME   ghs.google.com.
ghs.google.com.     158151  IN  CNAME   ghs.l.google.com.
ghs.l.google.com.   33    IN  A       74.125.47.121

;; AUTHORITY SECTION:
google.com.     153556  IN  NS  ns4.google.com.
google.com.     153556  IN  NS  ns2.google.com.
google.com.     153556  IN  NS  ns3.google.com.
google.com.     153556  IN  NS  ns1.google.com.

;; ADDITIONAL SECTION:
ns1.google.com.     169823  IN  A   216.239.32.10
ns2.google.com.     169823  IN  A   216.239.34.10
ns3.google.com.     169823  IN  A   216.239.36.10
ns4.google.com.     169823  IN  A   216.239.38.10

何よりも、Windows 2003DNSでのDNSの設定ミスのように聞こえます。

6
Frenchie

権限のあるサーバーは[〜#〜] not [〜#〜]再帰サービスを提供するように構成する必要があります。潜在的なMicrosoftのバグを回避することすらしません。

現時点では章と節を引用することはできません(見つけたら更新します)。ただし、これはDNSサーバーの運用で受け入れられている「最良の一般的な方法」です。

ルックアップチェーンの一部のリゾルバがSERVFAILを返している場合、それは単にどこかで設定が間違っているか、間違った質問(または間違ったフラグを持つ正しい質問)をしていることを示しています。

あなたの場合、dreamhost.comサーバーは、再帰的な回答を要求するとSERVFAILを返します(これは、デフォルトでnslookupが行うことです)。彼らはそれを行う権利を完全に持っており、再帰的ではなく、信頼できるサーバーです。

私のシステムでは、代わりにDigを使用し、特に再帰を無効にすると、次のようになります。

% Dig +norecurse @ns1.dreamhost.com mail.scotchi.net.

; <<>> Dig 9.6.0-Apple-P2 <<>> +norec @ns1.dreamhost.com mail.scotchi.net.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54426
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 13

;; QUESTION SECTION:
;mail.scotchi.net.  IN A

;; ANSWER SECTION:
mail.scotchi.net. 14400 IN CNAME ghs.google.com.
3
Alnitak

Dreamhostはpowerdns(ugh)を使用しますが、同じように悪いです..しかし、Windowsの再帰的リゾルバーは確かに最悪です。

問題は、クライアントサイトのWindows DNSボックスがSERVFAILになるのはなぜですか?彼らはすべきではありません。

そして、上記のポスターは正しいです-あなたがドメインに権限を持っているなら、あなたはそれをcname、A、fail、あなたはそれを任意のドメイン/ IPに付けることができます(あなたは他のドメインへの接着剤を知る必要はありません)。

おそらくそれだけです-あなたのAレコードを要求した(そしてcnameを取得した)DNSリゾルバーは、heroku.comの接着剤も知っていると思って立ち往生しました。

リストされたネームサーバーを元のクエリで分析して何が起こっているかを確認できますが、「最悪の場合」のシナリオでは、「A」レコードを提供するだけで済みます。これは単にP-I-T-Aになります。

実世界のフェイルドメインを投稿したい場合は、それはすばらしいことです。 PMまたはAIM nerdNG:p(DNSで根本原因の問題を見つけるのが大好きです。図を参照してください)

2
jrishaw

私は自分と「似たような」質問を探していました ここ そしてかなりの数の似たようなポイントがあるようです(例えば、Windows2003 DNSサーバーとSERVFAIL応答)

上記の「Microsoftの潜在的なバグ」へのリンクがある場合は、詳細を投稿してください。

大変感謝いたします。

0
Steven_W