DNSBLの返却コードの読み方:127.0.0.2の意味とエラー
DNSBLの返却コードは「127.0.0.0/8 の範囲の値(127.0.0.2 など)が返れば掲載、何も返らなければ(NXDOMAIN)未掲載」が基本ですが、数字の意味はリストごとに違い、127.255.255.xのように掲載を意味しないエラーコードもあります。SERVFAILやタイムアウトは「載っていない」ではなく「確認できなかった」という結果です。
この記事では、DNSBLの規約をまとめたRFC 5782の内容と、Spamhaus・SpamCop・UCEPROTECTなど公式ページで確認できた範囲の返却コードを整理します。2026年11月時点の公式ページに基づいており、各リストの仕様は変わることがあるため、判断の前に公式の説明も確認してください。DNSBLそのものの仕組みはDNSBL(RBL)とはで解説しています。
DNSBLの返却コードの基本(RFC 5782)
DNSBLの問い合わせ方や応答の形は、2010年2月に公開されたRFC 5782にまとめられています。標準化(Standards Track)の文書ではなく、広く使われている慣行を記録した情報提供(Informational)の文書です。そのため、細かな値の割り当ては各リストの運営者が決めています。
問い合わせの形
IPv4アドレスは、オクテットの順番を逆にしてリストのゾーン名を付けた名前を引きます。192.0.2.99をbl.example.comで調べるなら、次のようになります。
dig +short 99.2.0.192.bl.example.com A
dig +short 99.2.0.192.bl.example.com TXTIPv6は、アドレスを32桁の16進数に展開し、1桁ずつ逆順に並べた名前を使います。ドメインを対象にするリストでは、ドメイン名の後ろにゾーン名をそのまま付けます(RFCは、ドメイン型のリストはIP型よりずっと少ないと書いています)。
Aレコード:掲載の有無と種類
- 載っている場合はAレコードが返ります。値は127.0.0.0/8の範囲にすべきとされ、慣例として127.0.0.2がよく使われます。
- 載っていない場合は、そのアドレスについてレコードが一切あってはならない、とされています。DNSの応答としては、名前が存在しないことを示すNXDOMAINになります。
- Aレコードの値はIPアドレスとして使ってはならないとされています。127.0.0.2は接続先ではなく「掲載の印」です。
TXTレコード:掲載理由とURL
RFCは、DNSBLは掲載理由を説明するTXTレコードを持つべきで、その理由には詳しい情報のあるWebページのURLが含まれることが多い、と書いています。受信側はAレコードを確認しなければならず、TXTレコードは確認してもよい、という位置づけです。TXTの文言は受信拒否のエラーメッセージにそのまま使われることがよくあります。エラーメールに掲載理由やURLが書かれている場合、このTXTレコードの内容が使われていることがあります。
数字が違うのはなぜ?サブリストとビットマスク
127.0.0.2以外の数字が返るのは、ひとつのゾーンが複数のサブリストをまとめているからです。RFC 5782は、サブリストの表し方としてサブドメイン、複数のAレコード、ビットで表した値の3つを挙げています。
- 複数のAレコード:サブリストごとに別の値を割り当て、載っているリストの数だけAレコードを返します。
- ビットマスク:各サブリストにビットを割り当て、載っているものの論理和を1つの値で返します。RFCの例では、127.0.0.2と127.0.0.4の両方に該当すると127.0.0.6になります。
重要なのは、RFC自身が「サブリスト名と値の対応に広く使われている決まりはない」と書いている点です。127.0.0.3が、あるリストでは特定の種類を、別のリストではまったく別の意味を表すことがあります。返却コードはゾーン名とセットで、そのリストの公式説明に照らして読んでください。
たとえばSpamhausのZENは、ひとつの問い合わせに対して、IPが載っているデータセットごとに別々のコードを同じ応答に入れて返します。2つ以上のコードが返っても異常ではありません。
主要なDNSBLの返却コード一覧
公式ページで返却値を確認できたものを中心にまとめます。ゾーン名は受信側の設定や確認ツールで使われる名前です。
| リスト(ゾーン) | 返却コード | 意味(公式の説明) |
|---|---|---|
| Spamhaus ZEN(zen.spamhaus.org) | 127.0.0.2 | SBL |
| 同上 | 127.0.0.3 | CSS |
| 同上 | 127.0.0.4 | XBL(CBL由来のデータ) |
| 同上 | 127.0.0.9 | DROP(127.0.0.2と併せて返る) |
| 同上 | 127.0.0.10/127.0.0.11 | PBL(ISPが登録/Spamhausが登録) |
| Spamhaus DBL(dbl.spamhaus.org) | 127.0.1.2/127.0.1.4〜127.0.1.6 | 評価の低いドメイン(スパム、フィッシング、マルウェア、ボットネット指令など) |
| 同上 | 127.0.1.102〜127.0.1.106 | 悪用されている正規のドメイン(127.0.1.103 はスパムに使われた転送(リダイレクタ)ドメイン) |
| 同上 | 127.0.1.255 | IPアドレスでDBLを引いた(禁止されている使い方) |
| SpamCop(bl.spamcop.net) | 127.0.0.2 | 掲載されている |
| UCEPROTECT(dnsbl-1/dnsbl-2/dnsbl-3.uceprotect.net) | 公式の利用案内には値の記載なし | レベル1・2・3に対応する3つのゾーン |
- Spamhaus:ZENはSBL・CSS・XBL・PBLをまとめたIP用のリストで、ドメインは対象外です。DBLは127.0.1.0/24、ZRD(Zero Reputation Domains)は127.0.2.0/24の範囲を使います。各リストの意味と解除手順はSpamhausの解除方法にまとめています。DBLにIPアドレスを問い合わせると常に127.0.1.255が返るため、IPの確認には使えません。
- SpamCop:公式FAQは、掲載を示す応答を127.0.0.2としています。受信拒否より、別フォルダーへの振り分けやタグ付けで利用者が確認できる形を勧めています。解除の考え方はSpamCopの解除を参照してください。
- UCEPROTECT:DNSでの利用案内にはゾーン名だけが書かれ、返却値の説明はありません。DNS方式は小〜中規模のメールサーバー向けで、1日10万件を超える問い合わせにはrsyncでの取得を勧めています。レベルの違いはUCEPROTECTのレベル2・3で解説しています。
- Barracuda:本記事では返却値を扱いません。Barracuda Centralの公式案内で確認してください。
127.255.255.xと公開リゾルバー:「載っている」ではない応答
Spamhausは、127.255.255.0/24の範囲をエラーを示すコードとして使っています。どのゾーンでも返る可能性があり、公式FAQは、これを照会対象が「載っている」と受け取ってはならないと明記しています。
| 返却コード | 意味 |
|---|---|
| 127.255.255.252 | DNSBL名の入力ミス |
| 127.255.255.254 | 公開リゾルバー(オープンリゾルバー)経由の問い合わせ |
| 127.255.255.255 | 問い合わせ数が多すぎる |
公開リゾルバー経由の結果は当てにならない
Spamhausの公式FAQによると、大手の公開リゾルバー経由で問い合わせると、多くの場合「載っていない(NXDOMAIN)」が返ります。つまり実際は載っていても未掲載に見えることがあります。逆に、Amazon・Quad9・Google・Cloudflareなどの公開リゾルバーを使っていることが、「すべてのIPが載っているように見える」誤判定のよくある原因としても挙げられています。
また、存在しない名前に対してNXDOMAINではなく別のIPアドレスを返すリゾルバー(NXDOMAINの書き換え)もあります。メールサーバーがこれを掲載と誤解しないよう、公式FAQは127.0.0.0/8以外の応答を無視する設定や、自前のリゾルバーの利用を挙げています。いま自分がどのリゾルバーを使っているかは、次のコマンドで確認できると案内されています。
dig txt whoami.fastly.net自分のメールサーバーでDNSBLを使っている場合、127.255.255.xが返るたびに受信拒否する設定になっていないかも確認してください。公式FAQは、これを誤った設定の例として挙げています。
NXDOMAIN・SERVFAIL・タイムアウトの違い
DNSの応答には結果の種類を示すコード(RCODE)があり、RFC 1035で定義されています。DNSBLの結果を読むときは、Aレコードの値だけでなく、このコードも区別することが大切です。
| 応答 | DNSとしての意味 | DNSBLでの読み方 |
|---|---|---|
| 127.0.0.0/8のAレコード(127.255.255.xを除く) | 正常な応答(NOERROR) | 掲載。値の意味はリストごとに確認 |
| NXDOMAIN(Name Error) | 問い合わせた名前が存在しない | 掲載なし。ただし適切なリゾルバー経由の場合に限る |
| 127.255.255.x | 正常な応答の形をとったエラー通知 | 確認できていない(リゾルバーや問い合わせ方を見直す) |
| SERVFAIL(Server failure) | サーバー側の問題で処理できなかった | 確認できていない |
| タイムアウト | 応答が返らなかった | 確認できていない |
RFC 5782は、DNSBLが応答しない場合の扱いを定めていません。SERVFAILやタイムアウトを「載っていない」と読むのも、「載っている」と読むのも誤りです。時間をおいて再確認するか、別の経路から問い合わせてください。
テスト用エントリで「リストが動いているか」を確かめる
RFC 5782は、IPv4のリストは試験用に127.0.0.2を掲載しなければならず、127.0.0.1は掲載してはならないと定めています。IPv6のリストでは::FFFF:7F00:2が掲載用、::FFFF:7F00:1が非掲載用、ドメイン型のリストでは予約名の「TEST」が掲載用、「INVALID」が非掲載用です。
dig +short 2.0.0.127.zen.spamhaus.org A
dig +short 1.0.0.127.zen.spamhaus.org A1つ目に掲載コード(127.255.255.x 以外の 127.x)が返り、2つ目に何も返らなければ、そのリストへの問い合わせは正常に動いています。1つ目に 127.255.255.x が返るなら、問い合わせ経路が拒否されています。RFCは、運営を終えたリストが全エントリを消したり、すべてのアドレスを掲載するワイルドカードを置いたりした例があると書き、正しいテスト用エントリのないリストは使うべきでないとしています。127.0.0.1まで掲載と出るなら、自分のIPの問題ではなく、リスト側か問い合わせ経路の問題を疑ってください。
自分のIPの結果を読むときの手順
- どのIP・ドメインを調べるか決めます。エラーメールに書かれたIPや、メールヘッダーのReceived行にある送信サーバーのIPを使います。
- 複数のリストをまとめて確認します。ブラックリストチェッカーで主要なリストの結果を一度に見られます。
- 返却コードをゾーン名とセットで読みます。127.0.0.0/8 の掲載コード(127.255.255.x を除く)なら、そのリストの公式説明で意味を確かめます。127.255.255.xやSERVFAILなら、掲載の有無はまだわかっていません。
- TXTレコードと公式の照会ページを確認します。掲載理由やURLが返るリストもあります。最終的な判断は、各リスト運営者自身の照会ページの結果を正としてください。
- 原因を直してから、そのリストの手順で解除を申請します。解除するかどうかは各リストの運営者が決めます。原因が残っていれば再掲載されます。
メールが届かない原因の切り分け全体はブラックリストでメールが届かないときの対処にまとめています。結果の読み方や原因の特定が自力で難しいときは、解除の相談窓口で状況を伝えることもできます。
解除申請の代行・コンサルティング・ご相談を受け付けている事業者を紹介しています(料金は 5万円〜)。解除はリスト運営元の判断で行われ、お約束するものではありません。
相談窓口へ当サイトは掲載事業者から紹介料を受け取ることがあります。 運営者情報
よくある質問
127.0.0.2が返ってきました。どのリストに載っているのですか?
問い合わせたゾーンのリストに載っています。127.0.0.2は多くのリストで使われる慣例的な値なので、数字だけではリストを特定できません。たとえばZENでは127.0.0.2はSBLを、SpamCopでは掲載そのものを示します。ゾーン名と一緒に、そのリストの公式説明で確認してください。
127.255.255.254が返ってきました。ブラックリストに載っているのですか?
いいえ。Spamhausでは、公開リゾルバー経由で問い合わせたことを示すエラーコードで、掲載を意味しません。Spamhausの照会ページで改めて確認するか、公開リゾルバーを経由しない方法で問い合わせてください。
ツールによって「載っている」「載っていない」が違うのはなぜですか?
よくある理由のひとつは、問い合わせに使うDNSリゾルバーの違いです。公開リゾルバー経由では未掲載に見えたりエラーコードが返ったりします。SERVFAILやタイムアウトを「未掲載」と表示するツールもあり得ます。迷ったときは各リスト運営者の公式照会ページの結果を確認してください。
TXTレコードが返ってこないのは異常ですか?
必ずしも異常ではありません。RFC 5782では、DNSBLは掲載理由のTXTレコードを持つべき(SHOULD)とされていますが、必須(MUST)ではなく、受信側もTXTの確認は任意です。掲載の判定にはAレコードを使います。
参考にした公式ページ
本文の事実関係は、公開時点で次の公式ページに基づいて確認しています。仕様や運用は予告なく変わるため、重要な判断の前に各公式ページをご確認ください。
- RFC 5782: DNS Blacklists and Whitelists
- RFC 1035: Domain Names - Implementation and Specification(RCODE)
- Spamhaus FAQ: DNSBL Usage(返却コード・公開リゾルバー)
- Spamhaus: ZEN Blocklist
- Spamhaus: Domain Blocklist (DBL)
- SpamCop FAQ: How do I configure my mailserver to reject mail based on the blocklist?
- UCEPROTECT: Using DNS Lookups
関連記事
DNSBL(RBL)とは何かをRFC 5782で解説。IPを逆順にする照会方法、A・TXTレコード、IP系とドメイン系、ホワイトリストとの違いと載る原因。
Spamhaus(ZEN)に載ったときの調べ方と解除手順。返却コードの意味、ツールで結果が違う理由、リスト別の対処を公式情報で解説。
送信IPやドメインがブラックリストに載っていないかを定期監視する方法。dig と cron の自前スクリプト、API・Webhook、誤検知を避ける通知設計を解説。