だから私は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レコードを許可するために再帰的である必要がありますか?
いいえ、信頼できる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の設定ミスのように聞こえます。
権限のあるサーバーは[〜#〜] 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.
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で根本原因の問題を見つけるのが大好きです。図を参照してください)
私は自分と「似たような」質問を探していました ここ そしてかなりの数の似たようなポイントがあるようです(例えば、Windows2003 DNSサーバーとSERVFAIL応答)
上記の「Microsoftの潜在的なバグ」へのリンクがある場合は、詳細を投稿してください。
大変感謝いたします。