「あれ、メールが届かない?」を解決する!逆引きDNSと「正逆一致」のキホン
こんにちは!データセンターの片隅で、深夜のアラート音をBGMにコーヒーを啜りながらネットワークを監視しているシニアエンジニアです。
ネットワークの世界に足を踏み入れたばかりの皆さん、日々の運用業務お疲れ様です。「なぜか通信がうまくいかない」「メールが特定の相手にだけ弾かれる」……そんなトラブルに直面したとき、真っ先に疑うべき容疑者の一人が「DNSの不整合」です。
今回は、現場で必ずと言っていいほど使う dig コマンドを武器に、逆引きDNSの仕組みと、エンジニアの嗜みである「正逆一致」の確認方法を、郵便配達に例えて紐解いていきましょう。
—
1. そもそも「逆引き」ってなんだろう?
普段、私たちがWebサイトを見るときは「ドメイン名(例: google.com)」から「IPアドレス(例: 142.250.xxx.xxx)」を調べますよね。これを正引きと呼びます。
一方で、逆引きはその逆。IPアドレスという「住所」から、その場所に住んでいる「ドメイン名(名前)」を問い合わせる行為です。
郵便配達で例えると…
- 正引き:宛名(ドメイン)を見て、住所(IPアドレス)を探して届ける。
- 逆引き:手元にある住所(IPアドレス)の表札を確認して、「ここは本当に〇〇さんの家かな?」と確認する。
メールサーバの運用現場では、相手のサーバが「あなたは本当に名乗っている通りのドメインの持ち主ですか?」と、この表札確認(逆引き)を厳しくチェックすることがよくあります。ここが一致していないと、「身元不明の怪しいメール」として即座にゴミ箱行き(拒否)になってしまうんです。
—
2. dig コマンドで逆引きをやってみよう
まずは、IPアドレスからホスト名を引いてみましょう。使うのは dig -x というオプションです。
# 8.8.8.8(GoogleのDNS)の逆引きをしてみる
dig -x 8.8.8.8
実行すると、ズラッと情報が出てきますよね。この中で注目してほしいのは ANSWER SECTION です。
;; ANSWER SECTION:
8.8.8.8.in-addr.arpa. 21599 IN PTR dns.google.
ここで PTR と書かれているのが「ポインタレコード」です。これが「このIPアドレスはこのホスト名ですよ」と指し示している「表札」そのものです。
—
3. 現場の必須知識:「正逆一致(Forward-Confirmed Reverse DNS)」
ここからが本題です。メールサーバを構築する際、「正引きした結果」と「逆引きした結果」が一致していることが非常に重要になります。
確認のステップ
1. まず、IPアドレスから逆引きする(dig -x)
2. 出てきたホスト名を使って、今度は正引きする(dig)
3. 最初に入力したIPアドレスに戻ってくるか確認する
もし、この「行って帰ってきて元の場所に戻る」というループが成立しなければ、それは「設定が不完全ですよ」というサインです。
具体的な確認コマンド例
# 1. 逆引きしてホスト名を確認(例として 93.184.216.34 を使います)
dig -x 93.184.216.34 +short
# 結果: example.com. が返ってきたとする
# 2. そのホスト名で正引きして、元のIPに戻るか確認
dig example.com +short
# 結果: 93.184.216.34 が返ってくれば「正逆一致」!OKです。
もし、2つ目のコマンドで別のIPが返ってきたり、エラーになったりした場合は、DNSの設定ファイル(ゾーンファイル)をもう一度見直す必要があります。
—
4. なぜ「一致」させなきゃいけないの?
シンプルに言えば、「なりすまし防止」です。
悪意のある攻撃者が、他人のドメイン名を名乗ってメールを送ろうとしたとします。相手側のサーバは「お前、本当にそのドメインのサーバか?」と逆引きをかけます。もし正逆一致していなければ、「お前は住所と表札が一致していない怪しいやつだ!」と判断できるわけです。
プロの現場では、この設定漏れが原因で「重要なメールが届かない」という悲劇がよく起きます。インフラを触る皆さんは、「正逆一致はセットで確認する」という癖をつけておくと、トラブルシューティングのスピードが劇的に上がりますよ。
—
まとめ:ネットワークは「お互い様」の確認作業
DNSの逆引き設定は、目に見えない裏側の作業ですが、インターネットという信頼関係を支える非常に大切な基盤です。
dig -xでまずは表札(PTRレコード)を覗く- 正引きと逆引きが「行って来い」の関係になっているか確かめる
最初はコマンドの結果を見るだけでドキドキするかもしれませんが、こうしてパケットがどう確認し合っているかを想像できるようになると、ネットワーク運用はグッと面白くなります。
皆さんの構築するサーバが、世界中どこからでも正しく信頼されるものになりますように。また現場でお会いしましょう!
コメント