DNS 応答に A レコードと cname レコードの両方が含まれるのは異常ですか?

DNS 応答に A レコードと cname レコードの両方が含まれるのは異常ですか?

1 つの DNS 応答に A レコードと cname レコードの両方を含めることができますか? その場合、それは異常と見なされますか、それとも一般的な動作ですか?

答え1

A参照するレコードがクエリ名でCNAMEはなく正規名 (レコードの「ターゲット」)である場合、これはまったく正常です。

CNAMEしかし、返却したりA(またはその他の記録)することは基準違反となる。同じ名前。

有効な例:

foo.example.com.        3600   IN      CNAME   bar.example.com.
bar.example.com.        3600   IN      A       192.0.2.1

無効例(落胆しない、無効):

foo.example.com.        3600   IN      CNAME   bar.example.com.
foo.example.com.        3600   IN      A       192.0.2.1

答え2

これは非典型的であり、実際 RFC に反しています。 がCNAME存在する場合、同じ結果に対する他のタイプのレコードは存在してはなりません。

答え3

これは有効な DNS 応答ではないことを確認できます。また、これがどのように解決されるかは偶然に左右されます。これを実行する DNS サーバー管理者の場合は、A または CNAME (できれば A) を使用してください。

注:他のタイプやレコードの任意の組み合わせを返すことができます。またはCNAMEを返すと、どれでもDNSSEC 署名以外の種類のレコードがありRRSIG、その回答を真剣に受け止めようとしない場合は、機能している DNS リゾルバはどれも、何度か問題を起こすでしょう。

関連情報