Menu

BLOG ベアメールブログ

PTRレコードは何のために設定するの? DNSの逆引きとメール送信の関係について

PTRrecord

PTRレコードはDNSの設定の中でも注目されることが少なく、一体何のために設定するのか?本当に必要なのか?と疑問に思う方も多いのではないでしょうか。実はPTRレコードは、受信側メールサーバーが「迷惑メール」を判定するために、送信元サーバーの身元を確認する仕組みとして利用されています。
本記事では、PTRレコードの概要と記述方法、メールを確実に届けるためのPTRレコードの重要性について解説します。

おすすめのお役立ち資料の紹介です。Googleの新送信者要件対応ガイドのダウンロードはこちらから。

PTRレコードとは

PTRレコード(Pointerレコード)とは、DNSのリソースレコードの一種で、特定のIPアドレスに対応するホスト名を定義するレコードです。PTRレコードはドメイン名の逆引きに利用されます。

正引きと逆引きとは

ドメイン名とIPアドレスを紐付けるDNSの名前解決には、正引きと逆引きの2通りの方法があります。

DNS正引きの仕組み

ドメイン名からIPアドレスを調べることを「正引き」と言います。コンピュータが通信する際にはIPアドレスを指定する必要がありますが、正引きの仕組みがあることによって、ユーザは数字の羅列であるIPアドレスを覚えなくてもドメイン名を入力するだけでインターネット上の各サービスにアクセスすることができます。

正引きを行うには、DNSのAレコードの定義が必要です。Aレコードとは、最も基本的なDNSリソースレコードで、特定のドメイン名(ホスト名)に対応するIPアドレスを定義するものです。正引きはこのAレコードを参照してドメイン名からIPアドレスを割り出します。

DNS逆引きの仕組み

正引きとは反対に、IPアドレスからドメイン名を調べることを「逆引き」と呼びます。逆引きは、Webサイトへの訪問者のアクセス元を調べたり、メール送信者の送信元を確認するために使用されます。

逆引きを行うには、DNSのPTRレコードの定義が必要です。PTRレコードは、特定のIPアドレスに対応するホスト名を定義します。逆引きはPTRレコードを参照してIPアドレスからドメイン名を割り出します。

PTRレコードの書式

PTRレコードは以下の書式に従って記述します。

[IPアドレスの逆引き用表記] IN PTR [ドメイン名]

例:

1.1.168.192.in-addr.arpa. IN PTR mail.example.com

[IPアドレスの逆引き用表記]とは、IPアドレスを逆引き用の手順に従って変換した表記のことで、下記の手順に従って変換します。

例:192.168.1.1 の場合

① IPアドレスの各オクテットを逆順に並べる。

192.168.1.1 → 1.1.168.192

② IPアドレスがIPv4形式の場合は、後ろに「.in-addr.arpa.」(※)を付与する。

1.1.168.192.in-addr.arpa.

(※)IPv6形式の場合は「.ip6.arpa.」を付与します。

これでIPアドレスの変換が完了となります。

PTRレコードの用途と、メール送信との関係性

PTRレコードは何のために設定し、逆引きができると何がうれしいのでしょうか? 実はPTRレコード・逆引きは、メール送受信において送信者の身元の認証として利用されているのです。

受信側メールサーバーは、受信したメールのヘッダ情報を元にDNSに問い合わせを行い、「なりすまし」をしている不審な送信者ではないか、送信元のチェックを行なっています。DNSを利用したなりすまし判定にはいくつかチェックポイントがありますが、ここではPTRレコードを利用した送信元認証について解説します。

PTRレコードを利用したスパムチェック

受信側メールサーバーは、メールの送信元IPアドレスを逆引きし、紐づくドメイン(ホスト)名を問い合わせます。DNSからの回答を受けて、以下の観点でチェックを行います。

・送信元IPアドレスにPTRレコードが設定されているか?
・送信元IPアドレスから逆引きしたホスト名のAレコード(IPアドレス)と、送信元IPアドレスが一致しているか?
・送信元IPアドレスから逆引きしたホスト名と、送信元SMTPサーバーのホスト名が一致しているか?

このように受信側メールサーバは、PTRレコードをチェックすることによって、そのメールの送信元IPアドレスが本物のドメイン名と関連があるのか確認します。

一般的に迷惑メールを送信するスパマーは、自身の送信元が特定されることを避けるためにも、逆引きレコードを設定していることは非常に稀です。そのためPTRレコードをチェックすることは、メールヘッダの情報だけで素早く行うことができるので、受信側メールサーバーは少ない負荷で不審なメールをブロックできるというメリットがあります。

DNSを利用したスパムチェックは、基準やチェック後の取り扱いなどが受信側メールサーバーのポリシーによって異なります。PTRレコードが設定されてさえいればOKである場合もありますし、逆引きしたホスト名のAレコードと送信元IPアドレスまで一致していなければ迷惑メールとして扱われてしまう場合もあります。例えばGmailやMicrosoft、Yahooなどの主要なメールサービスプロバイダは、有効なPTRレコードのないメールサーバーからのメールの受信をブロックする可能性があります。

このように、メール送信においてPTRレコードは重要な役割を担っているため、メールを送信する場合は設定しておくことをお勧めします。

メールのヘッダ情報とDNSを利用した受信側の「なりすまし」チェックについては、こちらの記事でも詳しく解説しています。
迷惑メール判定されないために注意したいDNSの設定とは? Part2 | ベアメールブログ

PTRレコードが正しく設定されているかの確認方法

PTRレコードが適切に設定されているか確認するには、コマンドを実行するか、Webサービスを利用するといった方法があります。

nslookupコマンド(Windows)

PTRレコードが正しく設定されていることを確認するための方法のひとつとして、Windows OS標準のnslookupコマンドを利用する方法があります。PCのコマンドプロンプトからnslookupコマンドを使用することで、PTRレコードの値が確認できます。

コマンドプロンプトを起動し、下記のように対話モードでコマンドを実行します。

> nslookup
> set type=PTR
> xxx.xxx.xxx.xxx(PTRレコードを確認したいIPアドレス)

Enterキーを押下すると、ドメインに設定されているPTRレコードが出力されます。

digコマンド(Linux)

Linux OSではdigコマンドを使用してPTRレコードを確認することができます。digコマンドの場合、以下のようにコマンドを実行します。

# dig -x 111.222.333.444(PTRレコードを確認したいIPアドレス)

Enterキーを押下すると、OSに設定されたDNSサーバーにDNS問い合わせが行われ、結果が返されます。

Linuxにもnslookupコマンドはありますが、digコマンドを使用することが一般的です。なぜなら、digコマンドはDNS問い合わせの結果を比較的そのまま表示しますが、nslookupコマンドは結果をある程度見やすいように加工して表示します。PTRレコードを確認したいというだけならどちらのコマンドでも問題ないですが、DNSの挙動をより深く知りたいという場合はdigコマンドを使用することがおすすめです。

DNS設定確認サイト

OSのコマンドを実行しなくても、DNS設定確認サイトを利用してPTRレコードを確認することができます。フォームにPTRレコードを確認したいIPアドレスを入力して逆引きを実行することで、見やすいWeb画面でDNS問い合わせの結果が出力されます。代表的なDNS設定確認サイトは下記の通りです。

・cman.jp DNSチェック

https://www.cman.jp/network/support/go_nslookup.cgi

・debouncer.com

https://www.debouncer.com/reverse-dns-check

まとめ

メールを正しく宛先に送り届けるためにPTRレコードは重要な役割を担っています。PTRレコードを適切に設定していないと、送信側が正当な送り主であるにも関わらず迷惑メールと判断されてしまう恐れがあるため、PTRレコードを設定することをお勧めします。

しかし、PTRレコードは、受信側メールサーバーが迷惑メール判定をする上で参考にする多くの要素のうちの一つでしかありません。その他にもSPFレコードやDKIMといった送信ドメイン認証や、送信元IPアドレスのレピュテーション、メールのフォーマットや内容などから、総合的に迷惑メールではないか判断されます。

迷惑メールスコアリングは、メールリレーサービスベアメールで培ったノウハウを活かし、メールが届かない原因を可視化し、改善策のアドバイスを行います。迷惑メールとして誤判定されてしまった場合、その原因の究明には専門知識が必要ですが、テストメールを送信するだけで簡単にチェックできるサービスです。

メールが届かないお悩みをお持ちであれば、まずはお気軽にご相談ください。