Labee Dev Toolbox
技術ノートガイド用語解説
無料で試す
  1. ホーム
  2. / 用語解説
  3. / NODATA
DNS

NODATA

2026年4月25日 更新

概要

NODATA は、DNS クエリに対してドメインは存在するがリクエストされたレコードタイプが存在しないことを示す応答です。独立したレスポンスコードではなく、RCODE = 0(NOERROR)かつ ANSWER SECTION が空の応答として表現されます。RFC 2308(1998年)でこの応答パターンの扱いが規定されています。

NODATA は NXDOMAIN と混同されやすい異なる応答です。NXDOMAIN は「ドメイン自体が存在しない」ことを示すのに対し、NODATA は「ドメインは存在するが、問い合わせたレコードタイプに該当するレコードがない」ことを示します。例えば example.com に A レコードは存在するが AAAA レコードが存在しない場合、AAAA クエリに対して NODATA が返ります。

再帰リゾルバーは NODATA 応答もネガティブキャッシュの対象とし、SOA レコードの MINIMUM フィールドと SOA TTL の小さい方を期間としてキャッシュします。新しい MX レコードを追加する前に NODATA がキャッシュされていると、メール配送に遅延が生じます。

仕組み

NODATA は、ドメインの存在とレコードタイプの不在を分けて扱う DNS の応答パターンです。

NODATA の応答構造

NODATA 応答は次の特徴を持ちます。

  • RCODE は NOERROR(0)
  • ANSWER SECTION が 空
  • AUTHORITY SECTION に SOA レコードが含まれる
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45678
;; QUESTION SECTION:
;example.com.    IN  AAAA

;; ANSWER SECTION:
;(空)

;; AUTHORITY SECTION:
example.com.  300  IN  SOA  ns1.example.com. admin.example.com. (
                           2024010101 3600 900 604800 300 )

ANSWER SECTION が空であるため、一見するとエラーに見えますが、status: NOERROR であることがポイントです。ドメイン自体は存在しており、リクエストされたレコードタイプだけが存在しません。

NXDOMAIN との違い

NODATA と NXDOMAIN の違いを整理します。

項目NXDOMAINNODATA
RCODE3(NXDOMAIN)0(NOERROR)
ドメインの存在存在しない存在する
ANSWER SECTION空空
AUTHORITY SECTIONSOA レコードSOA レコード
ネガティブキャッシュ対象対象
他のレコードタイプすべて存在しない存在する可能性がある

NXDOMAIN が返ったドメインに A レコードを問い合わせても、MX レコードを問い合わせても、すべて NXDOMAIN が返ります。ドメイン自体が存在しないからです。

NODATA が返った場合は、他のレコードタイプが存在する可能性があります。example.com の AAAA クエリで NODATA が返っても、A クエリであれば A レコードが返ることがあります。

レコードタイプごとの NODATA

NODATA が返る典型的なケースを示します。

AAAA レコードがないドメインでは、IPv4 専用のサーバーに AAAA レコードが設定されていないため、AAAA クエリに NODATA が返ります。IPv6 しかサポートしない環境からアクセスすると名前解決に失敗します。

MX レコードがないドメインでは、ドメインがメールを受信しない場合に MX クエリで NODATA が返ります。メールサーバーは A レコードまたは AAAA レコードへのフォールバックを試みます(RFC 5321)。

TXT レコードがないドメインでは、SPF レコードや DMARC レコードが設定されていないドメインの _dmarc サブドメインに TXT クエリを送ると NODATA が返ります。メールサーバーは DMARC ポリシーがないものとして処理を進めます。

ワイルドカードと NODATA

ワイルドカードレコード(*.example.com)が存在する場合、存在しないサブドメインへのクエリは NXDOMAIN ではなくワイルドカードのレコードを返します。ただし、ワイルドカードはクエリされたレコードタイプと同じタイプのレコードしか返しません。

*.example.com に A レコードだけが設定されている場合、nonexistent.example.com の A クエリにはワイルドカードの A レコードが返りますが、MX クエリには NODATA が返ります。ワイルドカードに MX レコードが存在しないためです。

設定例

NODATA そのものを「設定」する項目ではありませんが、ネガティブキャッシュの期間を制御する SOA レコードの設定例を示します。

短いネガティブ TTL(推奨)

; ネガティブ TTL を 300 秒(5 分)に設定
example.com.  3600  IN  SOA  ns1.example.com. admin.example.com. (
                           2024010101 3600 900 604800 300 )

新しいレコードタイプを追加する可能性があるドメインでは、ネガティブキャッシュの期間を短くしておくことで、追加後の伝播を速められます。

長いネガティブ TTL

; ネガティブ TTL を 3600 秒(1 時間)に設定
example.com.  3600  IN  SOA  ns1.example.com. admin.example.com. (
                           2024010101 3600 900 604800 3600 )

変更が少なく、クエリ量の多いドメインでは長めに設定します。権威サーバーの負荷を減らす効果があります。

確認方法

NODATA 応答を dig で確認するには、存在するドメインに対して設定されていないレコードタイプを問い合わせます。

dig AAAA example.com
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45678

;; QUESTION SECTION:
;example.com.    IN  AAAA

;; ANSWER SECTION:
;(空)

;; AUTHORITY SECTION:
example.com.  300  IN  SOA  ns1.example.com. admin.example.com. (
                           2024010101 3600 900 604800 300 )

;; Query time: 12 msec

status: NOERROR だが ANSWER SECTION が空であることが NODATA の特徴です。AUTHORITY SECTION の SOA レコードは、ドメイン自体が存在することを示しています。

ANY クエリを使うと、ドメインに存在するレコードタイプを確認できます。

dig ANY example.com

ただし、権威サーバーやリゾルバーは ANY クエリへの応答を最小化することがあります(RFC 8482)。レコードタイプごとに個別に問い合わせる方が確実です。

外部の視点から確認したい場合は、Labee Dev Toolbox の DNS API を使います。

curl "https://labee.dev/api/dns?domain=example.com&type=AAAA"
{
  "success": true,
  "data": {
    "domain": "example.com",
    "records": {
      "AAAA": null
    }
  },
  "error": null,
  "meta": { "responseTime": 38 }
}

records.AAAA が null であれば、外部から AAAA レコードが確認できない状態です。ドメイン自体が存在しない場合は他のレコードタイプも null になりますが、NODATA の場合は対象レコードタイプだけが null で他のタイプにレコードが存在します。

よくある問題

NODATA に関連するトラブルは、ネガティブキャッシュによる遅延と、NXDOMAIN との誤判断に集約されます。

新しい MX レコードを追加したのにメールが届かない

ドメインに MX レコードを追加する前に、メールサーバーがそのドメインの MX レコードを問い合わせて NODATA を受け取ると、ネガティブキャッシュが有効な間は「MX レコードが存在しない」と判断され続けます。メールサーバーはネガティブキャッシュが切れるまで MX レコードを再確認しないか、A レコードへのフォールバックを試みます。

新しいドメインでメールを受信する場合は、事前に MX レコードを設定してから利用を開始します。SOA の MINIMUM が長いと最大でその時間だけメール配送が遅延します。

NODATA を NXDOMAIN と誤判断する

クライアントアプリケーションが status: NOERROR で ANSWER SECTION が空の応答を「ドメインが存在しない」と誤判断することがあります。NODATA は「ドメインは存在するがリクエストされたタイプのレコードがない」ことを意味するため、他のレコードタイプを問い合わせれば結果が返る可能性があります。A レコードの問い合わせで NODATA が返った場合、AAAA や MX などの別タイプで再確認します。

DMARC レコードがないドメインに NODATA が返る

_dmarc.example.com に TXT レコードが設定されていない場合、TXT クエリに NODATA が返ります。メールサーバーは DMARC ポリシーがないものとして p=none を適用します。DMARC の設定を忘れている場合と意図的に未設定の場合の区別がつかないため、明示的に p=none を設定することが推奨されます。

IPv6 環境で AAAA レコードがないサイトにアクセスできない

IPv6 のみのネットワーク環境から、AAAA レコードがないドメインにアクセスすると名前解決で NODATA が返ります。A レコードは存在しても IPv6 ネットワークからは到達できません。デュアルスタック運用では A レコードと AAAA レコードの両方を設定し、どちらのネットワークからもアクセス可能にします。

実際のドメインで確認してみる

登録不要、無料です。ドメイン名を入れるだけで外部からの見え方を確認できます。

無料で試す

Pro プラン(準備中)

DNS 変更の自動検知・SSL 期限アラート・複数ドメイン管理など、継続して確認し続けるための機能を準備中です。

関連用語

DNS

NXDOMAIN(Non-Existent Domain)

問い合わせたドメイン名が存在しないことを示す DNS レスポンスコード(RCODE 3)。ネガティブキャッシュの対象となり、新規レコード追加後の「反映されない」問題の原因になる。

DNS

ネガティブキャッシュ(Negative Caching)

存在しない DNS レコードへの否定応答をリゾルバーがキャッシュする仕組み。新規レコード追加後に「反映されない」原因となる。

DNS

DNS レコード

ドメイン名と IP アドレスやサービス情報を紐づける DNS データベースのエントリ。A・MX・TXT など用途別に型が分かれる。

DNS

SOA レコード(Start of Authority)

DNS ゾーンの管理情報と権威の起点を定義するレコード。シリアル番号やリフレッシュ間隔でゾーン転送を制御する。

コンテンツ 技術ノート ガイド 用語解説
ツール ツール一覧 API Reference
Labee 日本語トップ Labee LLC
© 2026 Labee LLC . All rights reserved.
ホーム ブログ ガイド 用語集