MoinQ:

項目も分類が必要になった。-- ToshinoriMaeno 2021-06-04 00:41:40


長くなったので、分割を考える。-- ToshinoriMaeno 2021-06-04 00:39:21

1. DNS/問合せ

DNS/問合せ リゾルバーはどういうquery(問合せ)を送りだすのだろう。

DNS/毒盛 を避けるためになにをしているのだろう。

2. DNS/返答

リゾルバーにとって重要なのはゾーンサーバーからの返答です。

2.1. ゾーンサーバーからの返答

query(たずね、尋ね、とい、問、問い合わせ、照会)に対して、 DNS/ゾーンサーバ が返す返答を理解することが基本です。

形式 (DNS/RFC/1035/4) DNS/1/queries

返答コード /RCODE /分類

/返答しないサーバーもあります。

/返答中のレコード

2.2. DJB の分類

DBJは(正常な)DNS返答を5種に分けていましたが、NXDomain はRCODEが違うので、見分けらる。/DJB

ということで残るは3種になるのだが。-- ToshinoriMaeno 2018-11-29 23:37:43

/minimal-responses

DNS/返答/header

2.3.1. 返答コード

重要なのは:DNS/1/RCODE が 0 と 3 の場合です。(0: NOERROR, 3: NXDOMAIN)

2.4. よっつの節

返答の/header部分に重要な情報がある。(DNS/1/messages)

Question        Carries the query name and other query parameters.

Answer          Carries RRs which directly answer the query.

Authority       Carries RRs which describe other authoritative servers.
                May optionally carry the SOA RR for the authoritative
                data in the answer section.

Additional      Carries RRs which may be helpful in using the RRs in the
                other sections.

2.5. 返答の用途

RFC 1034にゾーンサーバからの返答の用途についての説明がある。

実際にどう使われているかの調査から、こんな使い方をするのだろうという話になっているようだ。

-- ToshinoriMaeno 2016-04-27 00:53:45

/DJB5つのDNS返答に分類している。これらはただの分類ではない。

2.6. NXDomain 返答

NXDOMAIN (RCODE NXDomain, AA flag, -> SOAあり) /NXDOMAIN返答

つまり、CNAME返答があっても、NoErrorではない場合があるということ。

https://serverfault.com/questions/157775/can-a-valid-cname-response-contain-an-nxdomain-status

There's an ongoing debate in the IETF "DNSEXT" Working Group about the correct response to a query when the target of the CNAME does not exist and in other unusual circumstances.

In this case I believe the response is definitely incorrect.

https://www.ietf.org/mail-archive/web/dnsext/current/msg11940.html

Refocusing on Ed Lewis initial question, regarding the RCODE. One server
is giving NXDOMAIN, the other NOERROR. Given the fact that CNAME records
where followed, the status code should not be switched to NXDOMAIN. This
is conform the server algorithm in RFC2672.

NXDOMAINを返すべきではない。とある。

2.7. NoError 返答の分類

NoError返答は四つに区別される。排他的である。(問い合わせ名に関して:DNS/RFC/2181/s10

  1. CNAMEであった。(問い合わせタイプではないとき)
  2. answerあり (AA flag, Answer Seciton; CNAME typeの問い合わせを含む)
    • any type query の返事も含まれるはずだが、詳細は未調査
  3. no data (AA flag, +SOA)
  4. referral (AA off, + Authoriy Section NS)

最近見かけたもの:

責任のないゾーンについての問い合わせ。

2.7.1. NoError返答の意味

前野は以下の名前で呼ぶことにした。

  1. /CNAME返答 (qtype はCNAMEではないときで、qtypeが一致するレコードはない)

  2. /有効返答 (qname, qtype が一致した返答RRSet) CNAME typeのレコードはないはず。

  3. /NoData返答 (qnameに一致する名前はあったが、qtypeまで一致するレコードはない。CNAMEでもない。)

  4. /参照返答 (あえて、委任返答とは呼ばない)

DNS/RFC/2181/s10 10.1. CNAME resource recordsには以下のようにある。

 + one CNAME record exists, optionally accompanied by SIG, NXT, and KEY RRs,
 + one or more records exist, none being CNAME records,
 + the name exists, but has no associated RRs of any type,
 + the name does not exist at all.

3つのsectionにどういうレコードを入れてよいかは、今後検討する。 -- ToshinoriMaeno 2016-07-23 14:45:46

2.8. CNAMEレコード

問い合わせ名がCNAMEレコードを持つ場合には上にあるように、

このとき、返答コードはCNAMEが指す先の名前によるようだ。

注:毒盛される危険があるので、CNAMEの先に関する返答は全て捨てるのが安全である。

2.9. RFCに従わない運用サーバからの返答

前述の4つにあてはまらない返答もありそうだが、分かっていない。

/処理

2.10. delegation

/delegation

2.11. 毒盛

毒盛を目的とする返答はRFCに規定された形式の返答を返すとはかぎらない。

おかしな返答を受け取ったら、捨てるのが安全策である。

2.12. non-recursive server

再帰検索しないサーバ、権威サーバ、ゾーンサーバ、コンテンツサーバなどとも呼ばれる。

ローカルゾーン(ファイル)だけを使って返事をする。

これら以外の値のRCODEはエラーを示す。

DNS/1/資源レコード/NS/出現場所

MoinQ: DNS/返答 (last edited 2021-06-04 00:41:40 by ToshinoriMaeno)