DNSの逆引きゾーンとは、IPアドレスからホスト名を調べるためのDNS領域です。
通常のDNSは、ホスト名からIPアドレスを調べます。
たとえば、www.example.com という名前から 203.0.113.10 のようなIPアドレスを調べる仕組みです。
これを正引きと呼びます。
それに対して逆引きは、その反対です。
つまり、203.0.113.10 のようなIPアドレスから、そのIPに対応するホスト名を調べる仕組みです。
これを実現するために使われるのが、逆引きゾーンです。
まず、正引きと逆引きの違いをはっきり分けておくと理解しやすくなります。
「このホスト名のIPアドレスは何か」を調べる仕組みです。
例
www.example.com → 203.0.113.10主に使うレコード:
「このIPアドレスに対応するホスト名は何か」を調べる仕組みです。
例:
203.0.113.10 → www.example.com主に使うレコード
ここで重要なのは、A/AAAAレコードとPTRレコードは別物だという点です。
正引きを設定しても、逆引きが自動で作られるとは限りません。
逆引きは別途設定が必要です。
逆引きゾーンは、DNSにおける名前空間の一部であり、そこでIPアドレスに対応するPTRレコードを管理します。
ここで区別しておくとわかりやすいのが、次の2つです。
たとえば、192.0.2.0/24 というIPv4ネットワークの逆引きを管理するなら、逆引きゾーンは通常次のようになります。
2.0.192.in-addr.arpa
このゾーンの中に、たとえば以下のようなPTRレコードを登録します。
10 IN PTR server1.example.com.
20 IN PTR mail.example.com.
30 IN PTR router.example.com.
これはそれぞれ次の意味です。
192.0.2.10 → server1.example.com192.0.2.20 → mail.example.com192.0.2.30 → router.example.comIPv4の逆引きでは、IPアドレスをそのまま使うのではなく、オクテットを逆順に並べた名前を使います。
たとえば、IPアドレス 192.0.2.10 は、逆引きでは次の名前になります。
10.2.0.192.in-addr.arpa
これはDNSの階層構造と関係しています。
DNSは右側から左側へ向かって階層的に委任される仕組みなので、IPアドレスも逆順にすることで、ネットワーク単位で管理や委任をしやすくしています。
そのため、192.0.2.0/24 のようなネットワークに対する逆引きゾーンは、2.0.192.in-addr.arpa のような形になります。
逆引きで実際に使われるのは PTR(Pointer)レコード です。
たとえば次のような設定があるとします。
10.2.0.192.in-addr.arpa. IN PTR server.example.com.
これは、
192.0.2.10 を逆引きするとserver.example.com というホスト名が返るという意味です。
PTRレコードの値には、通常は完全修飾ドメイン名(FQDN)を入れます。
ゾーンファイルでは末尾のドットも重要です。これは、その名前を絶対名として扱うためです。
IPアドレスが 203.0.113.45 の場合、逆引き問い合わせ先の名前は次のようになります。
45.113.0.203.in-addr.arpa
ここに以下のようなPTRレコードがあるとします。
45.113.0.203.in-addr.arpa. IN PTR web01.example.jp.
この場合、203.0.113.45 を逆引きすると web01.example.jp が返ります。
もし 203.0.113.0/24 の逆引きゾーン全体を管理しているなら、ゾーンファイルでは次のように書くことができます。
$ORIGIN 113.0.203.in-addr.arpa.
45 IN PTR web01.example.jp.
46 IN PTR mail.example.jp.
47 IN PTR ns1.example.jp.
IPv6では、逆引きに ip6.arpa を使います。
考え方はIPv4と同じで、「IPアドレスから名前を引く」という点は変わりません。
ただし表現方法は少し異なり、IPv6ではアドレスを16進数の1桁(ニブル)単位に分解し、それを逆順に並べます。
そのため、IPv6の逆引き名はかなり長くなります。
実務では手で書くこともありますが、実際にはDNSソフトや管理ツールが生成してくれることも多いため、まずは
と覚えておけば十分です。
ここは誤解されやすい点です。
逆引きゾーンは、DNSの仕組みとして非常に重要ではあるものの、DNS標準の実装上は必須ではありません。
つまり、逆引きがなくても多くの名前解決は動作します。
ただし、実務では逆引きが非常に役立つ場面が多くあります。
特に次のような用途では重要です。
そのため、「DNSとして絶対必須ではないが、運用上は非常に重要」という理解が正確です。
逆引きがもっとも重要視されやすいのがメールです。
メール受信側は、送信元IPアドレスに対して次のような確認を行うことがあります。
このように、メールでは逆引きは単独で見るものではなく、他の認証・整合性確認とあわせて評価される要素のひとつです。
したがって、逆引きがないから必ず配送拒否される、とまでは言い切れません。
ただし、有効な逆引きと正引き整合がないと、不利になることが多いのは事実です。
サーバーやネットワーク機器のログで、IPアドレスだけでなくホスト名も分かると、調査や監査がしやすくなります。
IPアドレスから「どのサーバー・どの機器か」を把握しやすくなり、運用管理が楽になります。
古い仕組みや一部のシステムでは、逆引き結果を参考にすることがあります。
ただし、逆引きはあくまで補助的情報であり、逆引きだけを信頼してセキュリティ判断をするべきではありません。
逆引きの説明でよく出てくる考え方に FCrDNS(Forward-confirmed reverse DNS) があります。
これは簡単にいうと、
という整合性確認です。
たとえば、
203.0.113.25 を逆引きすると mail.example.commail.example.com を正引きすると 203.0.113.25であれば、きれいに整合しています。
ここで大切なのは、「完全な1対1でなければならない」とまでは限らないことです。
実務では、PTRで返ったホスト名を正引きした結果に元のIPが含まれているかというレベルで見られることが多いです。
特にメール送信サーバーでは、この整合性が重視されます。
これも実務で非常に重要です。
正引きは通常、自社ドメインのDNS管理者が設定できます。
しかし逆引きは、普通のドメイン管理とは別で、そのIPレンジについて reverse DNS の委任権限を持つ側が管理します。
つまり、逆引きは多くの場合、次のいずれかが管理します。
このため、自社ドメインのDNSを自由に設定できても、逆引きは自由に触れないことがあります。
よくあるケースは次の通りです。
逆引きは、事業者の管理画面で設定するか、サポートへ依頼して設定します。
自社のDNSサーバーで逆引きゾーンを管理できます。
この違いを理解していないと、「正引きは作ったのに逆引きが設定できない」という混乱が起きやすくなります。
IPv4では、逆引きは /24 単位で扱うと分かりやすいですが、実際には /29 や /28 のような、より小さい単位でIPが割り当てられることがあります。
このような場合、通常の形では逆引きゾーンをきれいに委任しにくくなります。
そこで使われるのが、RFC 2317 に基づくクラスレス逆引き委任です。
これは、上位の逆引きゾーン管理者がCNAMEなどを利用して、一部のアドレス範囲の逆引きを別の管理先へ渡す方法です。
この仕組みは少し複雑なので、実務では
という形になることが多いです。
この点は、「一致」という言葉が少し誤解を招きやすいところです。
厳密には、正引き名と逆引き名が常に完全一致しなければならないわけではありません。
また、1つのホスト名に複数のIPがある構成もあり得ます。
ただし運用上は、少なくとも重要なサーバー、とくにメール送信サーバーでは、
という状態にしておくのが望ましいです。
つまり、「完全に同一であるべき」というより、矛盾なく往復できる状態にしておくべきと考えるのが正確です。
技術的には、複数のPTRが返る構成がまったく不可能というわけではありません。
ただし、実務上はあまり推奨されません。
特にメール用途では、単一で安定したPTRを使うほうが望ましいです。
複数のPTRは解釈の揺れや運用上の混乱につながりやすいため、一般には1つのIPに対して1つの明確なPTRを設定するという方針が安全です。
逆引きが設定されていると、相手の名前が分かって便利です。
しかしそれは、相手の正当性や安全性を保証するものではありません。
逆引きはあくまでDNS上の情報であり、セキュリティ保証そのものではないため、
という考え方が重要です。
逆引きがない場合の影響は、用途によって異なります。
通常のWeb閲覧には大きな支障が出ないことも多いです。
逆引きがない、あるいは不自然な逆引きしかない場合、受信側からの評価が下がる可能性があります。
場合によっては拒否や迷惑メール判定の一因になります。
IPアドレスしか見えないため、可読性が下がります。
どのIPがどの機器か把握しにくくなり、調査や障害対応の効率が落ちることがあります。
逆引きはインターネット公開用だけでなく、社内DNSでもよく使われます。
たとえば社内ネットワークで、
10.0.0.15 → fileserver.office.local10.0.0.20 → printer-3f.office.localのような逆引きを設定しておくと、ログ調査や運用がかなりしやすくなります。
ただし、社内DNSの逆引きは社内向けの名前解決であり、インターネット上で公開される逆引きとは別です。
この2つは同じ考え方で動きますが、用途と公開範囲が異なります。
BIND形式で簡略化すると、次のような設定になります。
zone "2.0.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.0.2";
};
$TTL 3600
@ IN SOA ns1.example.com. hostmaster.example.com. (
2026032401
3600
1800
604800
3600
)
IN NS ns1.example.com.
IN NS ns2.example.com.
10 IN PTR server1.example.com.
20 IN PTR mail.example.com.
30 IN PTR router.example.com.
この場合、問い合わせ結果は次のようになります。
192.0.2.10 → server1.example.com192.0.2.20 → mail.example.com192.0.2.30 → router.example.com逆引き設定は、LinuxやmacOSでは dig、host、nslookup などで確認できます。
dig -x 192.0.2.10
host 192.0.2.10
nslookup 192.0.2.10
dig -x は逆引き名を自動で組み立ててくれるため、もっとも分かりやすく使いやすい確認方法のひとつです。
逆引きゾーンを実務で扱うときは、次の点を押さえておくと混乱しにくくなります。
A/AAAAとPTRは別です。
正引きを作っただけでは逆引きは完成しません。
自社ドメインのDNSで自由に設定できるとは限りません。
まず「このIPのreverse DNSを誰が管理しているか」を確認する必要があります。
メール送信に使うIPでは、
をまとめて整備することが重要です。
すべての端末に必須ではありませんが、まずは以下を整備すると効果が大きいです。
仕様上の絶対条件ではありませんが、実務上は単一の分かりやすいPTRのほうが安全です。
DNSの逆引きゾーンとは、IPアドレスからホスト名を引くためのDNS領域です。
要点を整理すると、次の通りです。
in-addr.arpaip6.arpa以上、DNSの逆引きゾーンについてでした。
最後までお読みいただき、ありがとうございました。