2026年6月10日
2026年6月10日
PTRレコードが反映されない場合の競合の解消|設定場所が複数あるとき、どのPTRが効いているかを突き止める
PTRレコードを設定したのに反映されないときは、PTRを書いた場所が複数あり、実際に答えを返している場所とは別のところを編集していることがよくあります。解消の手順は、逆引きゾーンを誰が持っているかを確かめ、効いている設定場所を1つに決め、正引きと逆引きを一致させることです。この記事では、PTRで起きやすい競合を5つに分け、それぞれの見分け方と直し方を説明します。
PTRの「競合」とは何か
PTRレコードは、IPアドレスからホスト名を引く逆引きの情報です。逆引きの情報はドメインのDNSではなく、IPアドレスを割り当てた側(VPSやクラウドの事業者、回線事業者)が管理する逆引きゾーンにあります。そのため、自分のドメインのDNSサービスにPTRを書いても、通常は効きません。
競合は、この「効く場所」と「書いた場所」がずれたり、効く場所に複数の情報が並んだりすると起きます。
- 事業者の管理画面と、委任を受けた自前のDNSの両方にPTRがある
- 同じIPアドレスに複数のPTRがある
- IPv4とIPv6で別々に設定が必要なのに、片方しか直していない
- 逆引きのホスト名と、そのホスト名の正引き(A・AAAA)が一致しない
- 古いPTR、または「PTRが無い」という答えがキャッシュに残っている
まず逆引きゾーンの持ち主を確かめる
どこが答えを返しているかを見るには、dig -x で逆引きを、+trace で問い合わせの経路をたどります。IPアドレスは例として文書用の範囲を使っています。
# 逆引きの結果を見る
dig -x 203.0.113.25 +short
dig -x 2001:db8::25 +short
# ルートからたどり、どのネームサーバーが答えているかを見る
dig -x 203.0.113.25 +trace
# 逆引きゾーンのネームサーバーとSOAを見る
dig 113.0.203.in-addr.arpa NS +short
dig 113.0.203.in-addr.arpa SOA +short
+trace の最後の段で答えているネームサーバーが、逆引きゾーンの持ち主です。ここが事業者のネームサーバーなら、事業者の管理画面かAPIでPTRを設定します。自分のネームサーバーが答えているなら、逆引きゾーンが委任されているので、自分のDNSで設定します。
競合1:事業者の管理画面と自前のDNSの両方にPTRがある
小さなIPアドレスの範囲を借りている場合、事業者は逆引きを委任するために、各アドレスの逆引き名から別の名前へのCNAMEを置く方法を使うことがあります(RFC 2317)。
; 事業者側の逆引きゾーン(例)
25.113.0.203.in-addr.arpa. IN CNAME 25.0-63.113.0.203.in-addr.arpa.
; 委任された自前のゾーン(0-63.113.0.203.in-addr.arpa)
25 IN PTR mail.example.com.
この形で委任されているのに、事業者の管理画面でもPTRを入力したり、委任前の古いPTRが事業者側に残っていたりすると、どちらが返るかは事業者側の設定次第になります。+trace の結果にCNAMEが出ていれば委任されているので、自前のゾーンのPTRを直します。CNAMEが出ていなければ委任されていないので、自前のDNSに書いたPTRは使われず、事業者の画面で直す必要があります。
競合2:同じIPアドレスに複数のPTRがある
1つのIPアドレスに複数のPTRを置くことはDNSの仕組み上できますが、メールの受信側などが逆引きを使って確かめるときには、どれを使うか、すべてを確かめるかは実装によって違います。1つのサーバーで複数のドメインを運用していても、PTRは1件にし、そのホスト名をメールサーバーの名乗る名前(HELOやEHLOで使う名前)とそろえるのが扱いやすい形です。
# 複数行が返れば、PTRが複数ある
dig -x 203.0.113.25 +noall +answer
複数行が返ったら、使わない方を削除します。
競合3:IPv4とIPv6で別々に設定が必要
IPv4の逆引きは in-addr.arpa、IPv6の逆引きは ip6.arpa という別のゾーンにあり、事業者の管理画面でも別々に設定することが一般的です。サーバーにIPv6アドレスがあり、メール送信などでIPv6が使われていると、IPv4のPTRを直しても相手からはIPv6の逆引きが見えません。
# サーバーの外向きの IPv4・IPv6 アドレスを確かめる(IPv6 が無い環境では2行目は失敗する)
curl -4 -s https://ifconfig.co
curl -6 -s https://ifconfig.co
外向きのアドレスを確かめる外部サービスはほかにもあり、仕様が変わることもあるので、使い慣れたもので構いません。両方のアドレスについて dig -x で逆引きを確かめ、必要な方のPTRを設定します。IPv6の逆引き名は、アドレスを4ビットずつ逆順に並べた長い形になるため、手書きで間違えやすい点にも注意します。
競合4:正引きと逆引きが一致しない
PTRで返るホスト名を正引きすると、元のIPアドレスに戻ってくる状態が求められる場面があります。メールの受信側がこの一致を送信元の評価に使うことがあるためです。各メール事業者の送信者向けガイドラインでも、送信元IPの逆引きの設定が求められていることがあります。内容は改定されることがあるため、最新の案内を確かめてください(2026年10月現在)。
# 逆引きで得たホスト名を、正引きで確かめる
dig -x 203.0.113.25 +short
dig mail.example.com A +short
dig mail.example.com AAAA +short
逆引きのホスト名にAレコードが無い、別のIPアドレスを指している、IPv4のPTRに対応するAAAAしか無い、といったずれがあれば、ドメイン側のDNSで正引きを直します。
競合5:古いPTRや否定応答がキャッシュに残っている
権威サーバーが新しいPTRを返しているのに、キャッシュDNSが古い答えを返すことがあります。古いPTRのTTL、またはPTRが無かった場合はSOAから決まる否定応答のキャッシュ時間が過ぎるまで待ちます。
# 逆引きゾーンのネームサーバーに直接聞く
dig @ns1.example-provider.net -x 203.0.113.25 +norecurse +noall +answer
# キャッシュDNSに聞いて残りTTLを見る
dig @8.8.8.8 -x 203.0.113.25 +noall +answer
前者で新しい値が返り、後者だけ古いなら、TTLの数字が減って0になるのを待てば入れ替わります。
解消後の確認
設定を直したら、次の3点を確かめます。
- 逆引きゾーンの持ち主のネームサーバーが、意図したPTRを1件だけ返す
- そのホスト名の正引きが、元のIPアドレスに戻る(IPv4・IPv6とも)
- メール送信が目的なら、実際に送ったメールのヘッダーで、受信側の評価に逆引きの問題が出ていない
自前の逆引きゾーンを変更する前には、ゾーンファイルを控えておき、SOAのシリアル番号を上げてから読み込み直します。
まとめ
- PTRは、IPアドレスを割り当てた側の逆引きゾーンにあります。ドメインのDNSに書いても通常は効きません。
dig -xと+traceで、どのネームサーバーが答えているかを確かめ、効いている設定場所を1つに決めます。- 委任の有無を確かめ、事業者側と自前のDNSのどちらで直すかを判断します。
- PTRは1件にし、正引きと逆引きを一致させます。IPv4とIPv6は別々に設定します。
- 権威サーバーが正しければ、残りはキャッシュの期限切れを待つだけです。