1. DNS/返答/CNAME返答
Contents
2. 意味
DNS/返答/分類/DJBの分類の第一に現れる。
- [RCODE 0 (No Error) とは限らないのが現状だ。
Answer Section に CNAME レコードが現れる。
- 元の問合せに対する答えは得られなかった。
- qtype のレコードはなかった。(qtypeはCNAMEではない。) qname をownerとして持つCNAMEレコードがあった。
CNAMEレコード値(本名)をownerとするqtypeのレコードがAnswer Sectionに含まれていることがある。
このレコードは毒の可能性がある。DNS/毒盛/CNAME
RCODE 3 (NXDOMAIN) 返答のAnswer Sectionに現れることがある。-- ToshinoriMaeno 2017-07-01 03:15:50
- この返答を受けとったら、リゾルバーはFORMERR扱いするのが妥当だと思う。
- しかし、現状の多くのリゾルバーはRCODE 0と同じ扱いをしているようだ。
https://news.ycombinator.com/item?id=7293512 (昔の記事だが、最近見た)
SERVFAIL返答コードの場合もある。これをどう扱うか。-- ToshinoriMaeno 2019-05-27 08:39:43
しかし、間違った設定のゾーンからどういう返事が返ってくるかは、実装依存である。
そして、最近知ったのはCNAME返答自身が毒であるケースだ。
3. 返答の処理
CNAME返答を受け取ったリゾルバーはCNAMEレコードだけを受取るのがよい。
- 他は捨てるべきだという根拠。
Even when it gets "foo.example.com CNAME bar.example.com" followed by the relevant records for example.com, it is actually possible for bar.example.com to be under a different authority.
https://lists.dns-oarc.net/pipermail/dns-operations/2019-January/018255.html
- DNS forwarder behavior on response with cname
そして、qname についてすでにキャッシュになにか保持されているなら、返事は捨てる。(毒)
4. zone apex CNAME
Why can't a CNAME record be used at the apex (aka root) of a domain?
Update:
It seems that the more recent confusion is coming from Cloudflare's recent decision https://support.cloudflare.com/hc/en-us/articles/200169056-CNAME-Flattening-RFC-compliant-support-for-CNAME-at-the-root to allow an illegal CNAME record to be defined at the apex of domains, for which they will synthesize A records. "RFC compliant" as described by the linked article refers to the fact that the records synthesized by Cloudflare will play nicely with DNS.
This does not change the fact that it is a completely custom behavior.
In my opinion this is a disservice to the larger DNS community:
- it is not in fact a CNAME record, and it misleads people into believing that other software is deficient for not allowing it. (as my question demonstrates)
サーバ側でCNAMEを解消(解決) するのは正しい態度だと思うが、この人はそうは考えていないようだ。 -- ToshinoriMaeno 2015-12-07 02:14:02
自分が管理している名前についてのIPアドレスに限定しての話であることは当然の前提である。