用語辞典・DNS・ドメイン

PTRレコード

PTRレコードとは

PTRレコードは、特別なDNS名前空間の所有者名から別のドメイン名を指すレコードで、IPアドレスの逆引きなどに使われます。正式名称はPointer record(ポインター・レコード)です。

IPアドレスから名前を調べるとき、アドレスそのものを検索キーにするのではありません。IPv4ならin-addr.arpa、IPv6ならip6.arpaの下へアドレスを逆順に変換したDNS名を作り、その名前のPTRを問い合わせます。

PTRはA・AAAAを逆向きに検索した結果ではなく、逆引き用ゾーンで別に管理される独立したレコードです。

アドレスの各部分を逆順のDNS階層へ並べ、PTRの所有者名を作るIPv4はオクテット単位、IPv6は16進数一桁単位で委任できる形にする
IPv4の四つのオクテットとIPv6の16進数各桁を逆順のDNS階層へ変換し、PTRレコードからホスト名を得る図解
図1順序を逆にするのは、DNSの階層が右側から左側へ具体化するためです。アドレス割り当ての大きな範囲から小さな範囲へ、ゾーンを委任できます。

IPv4とIPv6では、逆順にする単位が違う

問い合わせるのは、変換後の所有者名にあるPTR返る値はドメイン名で、元アドレスそのものではない
IPv4の例192.0.2.1010.2.0.192.in-addr.arpa.オクテットを反転
IPv6の例2001:db8::11.0…8.b.d.0.1.0.0.2.ip6.arpa.128ビットを展開し、16進数一桁ずつ反転
PTRのデータhost.example.test.その所有者名に対応付けた別のドメイン名
図2IPv6では::を省略前の32桁へ展開してから反転します。短縮表記のコロン区切りをそのまま逆にするわけではありません。

逆引きの管理者は、正引きドメインの管理者とは限らない

AレコードAAAAレコードはドメインのDNS管理者が設定します。逆引きゾーンはIPアドレス範囲の管理側にあるため、通信事業者、クラウド事業者、組織のネットワーク管理者などが設定権を持つ場合があります。

そのため正引きを変更してもPTRは自動更新されません。利用する事業者の管理画面や申請手続きで逆引きを設定します。家庭向け回線では利用者が変更できないこともあります。

正引きと逆引きは、一対一でなくてもよい

一つのIPアドレスを複数の名前が指す一方、PTRは代表する一つの名前を返す構成があります。PTRを複数置くことも形式上は可能ですが、利用ソフトウェアが一件だけを想定することがあるため、用途を確認します。

メールサーバーでは、PTRで得た名前をA・AAAAで正引きし、元のアドレスへ戻るforward-confirmed reverse DNS(フォワード・コンファームド・リバース・ディーエヌエス)が評価材料になることがあります。ただし一致だけで送信者の正当性が証明されるわけではありません。

PTRはCNAMEのような別名処理を起こさない

RFC 1035は、PTRを特別な名前空間から別の位置を指す単純なデータとし、CNAMEのような別名処理を意味しないと説明しています。PTR値の先へ自動的に同じ種類の問い合わせを続ける規則ではありません。

IPアドレスから得た名前は、機器の識別やログの読みやすさに役立ちますが、名前の所有者や通信内容を認証しません。信頼判断にはTLS証明書やアプリ固有の認証を使います。

仕様の確認資料:RFC 1035「Domain Names — Implementation and Specification」RFC 3596「DNS Extensions to Support IP Version 6」

関連用語