逆引きDNS検索
IPアドレスを入力すると、それに対応するホスト名がわかります。続いて、その名前が同じアドレスを指しているかを確認します。メールサーバーがメールを受け取る前に行うのと同じテストです。
DNSを逆から読む
普段のDNSは名前をアドレスに変換します。dns.googleなら8.8.8.8です。逆引きはその反対で、8.8.8.8にどの名前が対応するかを問い合わせます。DNSにはアドレスで引く索引がないので、質問をふつうの名前の形に仕立てます。4つの数字を逆順に並べ、特別なドメインの下に置くのです。
8.8.4.4 → 4.4.8.8.in-addr.arpa
IPv6では、完全なアドレスの16進数32桁を1桁ずつ逆順にしてip6.arpaの下に置きます。答えがあれば、それはホスト名を持つPTR(「ポインター」)レコードです。結果には実際に問い合わせた名前を表示します。自分でレコードを作ることになった日に役立ちます。
順序を逆にする理由は、ドメイン名が具体的なものから一般的なものへと並ぶのと同じです。こうすると、8.8.4.xの範囲を4.8.8.in-addr.arpaというゾーンとして1つの組織に任せられます。
答えを決めるのは誰か
ここで驚く人がほとんどです。アドレスの逆引きレコードは、あなたのドメインのDNSゾーンにはありません。そのアドレス範囲を割り当てられた人、つまりホスティング会社、クラウドプラットフォーム、インターネットプロバイダーのものです。example.comを持っていても、203.0.113.25が何と答えるかには口を出せません。
変更するには、サーバーのコントロールパネルで「逆引きDNS」「rDNS」「PTR」を探すか、プロバイダーに問い合わせてください。家庭やモバイルの回線には、たいていhost-203-0-113-25.dynamic.provider.netのような、アドレスから自動で作った名前がついていて、変更はできません。
正引き確認済み逆引きDNS
アドレス範囲の持ち主は、PTRレコードに何でも書けます。mail.your-bank.comと書くことさえできるので、逆引きの名前だけでは何の証明にもなりません。証明になるのは、逆方向にたどり直すことです。その名前のAレコード(IPv6ならAAAA)を調べ、元のアドレスが答えに含まれているかを見ます。含まれていれば、アドレスの持ち主と名前の持ち主の言い分が一致しているということで、この組み合わせを正引き確認済み(FCrDNS)と呼びます。
この検索は、1つのアドレスにつき最大5つの名前でこれを行い、次のいずれかを報告します。
- 双方向で確認済み
- 名前が、入力したアドレスに解決されます。
- 確認できず
- 名前がほかのアドレスに解決されるか、どこにも解決されません。メールサーバーの場合は失敗とみなされます。
- PTRレコードなし
- アドレスに名前がありません。多くの機器ではふつうのことですが、メールを送るサーバーでは問題です。
これがいちばん効いてくるのはメールです。Gmailは、送信元アドレスにPTRレコードがあり、それが正引き確認済みであることを求めています。ほかの大手メール事業者も同じルールを適用していて、これに通らないアドレスからのメールは拒否されるか迷惑メールに振り分けられます。多くの受信側は、その名前とサーバーが挨拶で名乗る名前も比べます。ドメインのメールサーバーをテストするにはMXとTLSのテストを使ってください。アドレスの評判が悪くないかはブラックリスト検索で確認できます。
調べるものがないアドレス
いくつかの範囲は特別に取っておかれていて、公開インターネットには決して現れません。この検索はそれらを見分け、問い合わせを送らずに説明します。
| 範囲 | 内容 |
|---|---|
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、fc00::/7 | プライベートネットワーク:家庭、オフィス、データセンター |
127.0.0.0/8、::1 | ループバック:その機械自身 |
169.254.0.0/16、fe80::/10 | リンクローカル:自動で割り当てたもので、1つのネットワークセグメント内だけで有効 |
100.64.0.0/10 | キャリアグレードNAT:プロバイダーの共有内部ネットワーク |
192.0.2.0/24、198.51.100.0/24、203.0.113.0/24、2001:db8::/32 | 説明用の例 |
224.0.0.0/4、ff00::/8 | マルチキャストグループ |
「自分のアドレスを使う」でこれらのどれかになった場合は、ページのローカルコピーを見ているか、変わったプロキシの後ろにいます。
逆引きの名前からわかるのは、アドレスの運用者が公開すると決めたことです。そのアドレスでホストされているウェブサイトの一覧ではありませんし、このページはそれを出そうともしません。当サーバーでネットワークのデータベースが使える場合は、アドレスのネットワークと国も表示します。外部サービスには問い合わせず、ローカルで読み取ります。
よくある質問
サーバーにPTRレコードを設定するには?
ドメインの登録事業者ではなく、IPアドレスのプロバイダーに頼んでください。ほとんどのホスティングやクラウドの管理画面には、各アドレスの横に「逆引きDNS」の欄があります。そこにサーバーの完全なホスト名を設定し、その名前に同じアドレスのA(またはAAAA)レコードがあることを確認してください。
自分のIPアドレスに逆引きDNSがないのはなぜですか?
アドレス範囲の持ち主がPTRレコードを作っておらず、作る義務もないからです。問題になるのは、そのアドレスからメールを送るときや、接続先のサービスがそれを必須にしているときだけです。
1つのIPアドレスに複数のPTRレコードを持たせられますか?
DNSとしては可能ですが、おすすめしません。ほとんどのプログラムは名前を1つしか読みませんし、答えが大きくなりすぎると失敗するものもあります。メールサーバーが一致しないほうを選んでしまうこともあります。安全なのは、1つのアドレスに1つの名前です。
PTRレコードは自分のドメイン名と一致している必要がありますか?
ウェブサイトのドメインと一致する必要はありません。メールサーバーの場合は、サーバーがSMTPの挨拶で使うホスト名(たとえばmail.example.com)と一致させ、その名前が元のアドレスに解決される必要があります。1つのアドレスにある多数のサイトが1つの逆引き名を共有していても、まったく問題ありません。
逆引きで、そのIPアドレスでホストされているすべてのサイトがわかりますか?
わかりません。PTRレコードにあるのは運用者が選んだ名前で、たいていは1つです。「このIPにあるほかのサイト」の一覧は、ウェブをクロールして作ったデータベースから来るもので、DNSからではありません。このツールはそれを提供していません。
in-addr.arpaとip6.arpaは何を意味しますか?
逆引き用に予約されたDNSの2つの枝です。IPv4用がin-addr.arpa、IPv6用がip6.arpaです。アドレスをどちらかの下に逆順で書いた名前を作り、そのPTRレコードを問い合わせます。