1. DNS/返答/NoData返答

../否定返答として分類されるが、RCODEは0(NOERROR)であり、NoDataというRCODEはない。

他のタイプの資源レコードは存在する可能性がある。(ENTかもしれない。)

2. 返答例

/返答例

毒盛対策として../NXDOMAIN返答が利用できることを示すために 存在しないだろうドメイン名を問い合わせてみたところ、大部分はNXDOMAINを返すのだが、予想より noerror(NoData)返答を返すサーバが多い

ことに気づいた。(なんらかの/理由はあるのだろう)

このNoData返答にもSOAレコードがあるなら、NS返答の毒見に使えることは変わらない。

3. 結論

DNS/RFC/2308 第3節にある。

SOAがなくて、NSがあるものはreferral返答ということになるのだが。(形式的に判定)

その他については規定されていない。(Authority SectionにNSなど)

ここの形式に従っていない返答も見られるがそれらを分析する必要がある。

/付随するSOA /付随するNS


最近はIPv4/v6 dual stackホストで問題を起こすらしい。

NoDataとNXDOMAINをどう使い分けるのか、はっきり理解できていない。

/上位参照返答

/返答のばらつき

3.1. RFC 2308

DNS/RFC/2308 Abstract より

This document addresses issues raise in the light of experience and replaces [RFC1034 Section   4.3.4].

https://tools.ietf.org/html/rfc2308

3.2. 用語など

   "NODATA" - a pseudo RCODE which indicates that the name is valid, for
   the given class, but are no records of the given type.  A NODATA
   response has to be inferred from the answer.

(問い合せ)名は正当(ゾーン内に存在する)だが、問い合せタイプに合致するレコードは存在しないことを示す。

http://www.rfc-editor.org/rfc/rfc2308.txt

2.2 - No Data

   NODATA is indicated by an answer with the RCODE set to NOERROR and no
   relevant answers in the answer section.
  The authority section will contain an SOA record, or there will be no NS records there.

注意:

CNAME and SIG records may exist in the answer section.

tinydns で NODATA を返すべきときに NXDOMAIN を返すような気がする。 なぜだろう。

-- ToshinoriMaeno 2015-05-04 11:39:19

以下の部分がDJBが批判しているところか。

   NODATA responses have to be algorithmically determined from the
   response's contents as there is no RCODE value to indicate NODATA.

   In some cases to determine with certainty that NODATA is the correct
   response it can be necessary to send another query.

3.3. NODATA返答の構成

NXDomainとはちがって、Authority sectionにはSOAは必須ではない。(権威ではない場合)

権威サーバからの返事は後述(NSなし、SOAをつけろ)

NODATA responses can be categorised into three types by the contents of the authority section.
  These are shown below along with a referral for comparison.

三種類もあるらしいが。(authority sectionの内容で区別)referral は含めないで。

TYPE 1

TYPE 2

TYPE 3 (すべて空の返事)はなんのつもりか。

REFERRAL

answer sectionにCNAMEがあってもよい。(追認)

こういう記述があることで、このRFCが古いことが分かる。-- ToshinoriMaeno 2017-10-03 01:38:03

4. 権威サーバとしての返事

TYPE 2 NODATAを使え。

the authority section contains a SOA record and no NS records.

NSレコードがあるとreferralと混同するから、という理由らしいが、 それがよかったのだろうか。

4.1. NODATA の判別

DJBの批判はこちらかもしれない。

-- ToshinoriMaeno 2015-05-06 09:28:38

リゾルバーでの扱いもおかしいのかも。

2.2.1 - Special Handling of No Data

   There are a large number of resolvers currently in existence that
   fail to correctly detect and process all forms of NODATA response.

   Some resolvers treat a TYPE 1 NODATA response as a referral.

   To alleviate this problem it is recommended that servers that are
   authoritative for the NODATA response only send TYPE 2 NODATA
   responses, that is the authority section contains a SOA record and no
   NS records.

   Sending a TYPE 1 NODATA response from a non-authoritative server
   to one of these resolvers will only result in an unnecessary query.

   If a server is listed as a FORWARDER for another
   resolver it may also be necessary to disable the sending of TYPE 1
   NODATA response for non-authoritative NODATA responses.

5. Authoritative Servers からの返答

3 - Negative Answers from Authoritative Servers

Name servers authoritative for a zone MUST include the SOA record of
   the zone in the authority section of the response when reporting an
   NXDOMAIN or indicating that no data of the requested type exists.

This is required so that the response may be cached.

SOAレコードの他にNSレコードがあったら、どう扱うべきか。(毒見の観点から) -- ToshinoriMaeno 2017-10-02 14:15:02

MoinQ: DNS/返答/NoData (last edited 2021-10-31 06:14:07 by ToshinoriMaeno)