MXレコードについて勉強してみた。【DNSレコード】

はじめに

MXレコードについて、あまり理解していなかったので、勉強しました。

※図はかわいいフリー素材集 いらすとやdraw.ioを使用しています。

参考文献にとぶ

MXレコードとは?

  • MXレコード(Mail Exchangeレコード)は、ドメインにメールを送る際に、どのメールサーバーにメールを配送すべきかを指示するDNS(Domain Name System)の一部。
  • メールが送られるべき住所のようなもの。
  • MXレコードがなければ、メールは宛先不明で送れない。

file

ステップ1: メールの作成と送信

  1. メール作成: 送信者がメールクライアント(Outlook、Gmailのウェブインターフェース、スマートフォンのメールアプリなど)を使用してメール作成。
  2. 宛先(To)、件名(Subject)、本文(Body)などの情報を入力。
  3. 送信ボタンクリック: 送信者が送信ボタンをクリックし、メールは送信者のメールサーバーへ送られる。このサーバーはSMTP(Simple Mail Transfer Protocol)サーバーとして機能し、メール送信を管理。

ステップ2: 送信メールサーバーによる処理

  1. SMTP認証: 送信メールサーバーが送信者の認証を行う(ユーザー名とパスワードによる認証など)。
    • ユーザーがメールサーバーの利用資格を持っていることを確認するために実施。
    • SMTP認証成功で、ユーザーはメールサーバーを通じてメール送信が許可される。
  2. 宛先ドメインのMXレコード検索: 送信メールサーバーがDNS(権威DNSサーバー)を使用し、宛先のドメイン(例: abc@example.comの「example.com」部分)のMXレコードを検索。
    • MXレコードがそのドメインのメール受信サーバー情報を提供。
  3. メール転送: MXレコードに基づき、送信メールサーバーがメールを宛先ドメインのメールサーバーに転送。
    • 複数のMXレコードがある場合、最も低い優先度(数値が小さい)のサーバーが選ばれる。

ステップ3: 受信メールサーバーによる処理

  1. メール受信: 宛先ドメインのメールサーバー(SMTPサーバー)がメールを受け取る。
  2. SPFチェック: DNSに公開されたSPFレコードを参照して、メールが許可されたIPアドレスから送信されたか検証。
  3. DKIM署名検証: メールに付加されたデジタル署名を送信ドメインの公開鍵で検証し、メール内容の改ざんをチェック。
  4. DMARC検証: SPFとDKIMの結果を基に、メールが送信ドメインの認証ポリシーに合致するか確認し、失敗したメールの処理方法を決定。
  5. スパムフィルタリングとウイルスチェック: SPF、DKIM、DMARC検証後、追加のスパムフィルタリングとウイルスチェックを実施し、メールの安全性を評価。
  6. メールボックスへ配送: 上記検証とフィルタリングを通過したメールを受信者のメールボックスに配送。

file

ステップ4: メールの受信

  1. メールチェック: 受信者はメールクライアントを使ってメールボックスをチェック。IMAPやPOP3プロトコルで受信メールサーバーからメールをダウンロードまたは閲覧。
  2. メール閲覧: 受信者がメールを開いて読む。この時点でメールの受信プロセス完了。

MXレコードの設定方法

MXレコードの設定は、通常、ドメインを購入したレジストラの管理画面で行う。

  1. ドメインDNS設定アクセス: レジストラサイトにログインし、管理対象ドメインのDNS設定へ進む。
  2. MXレコード追加: 「MXレコードを追加」や「新しいレコードを作成」オプションを探し、クリック。
  3. レコード詳細入力: メールサーバーアドレスと優先度を入力。優先度は複数のメールサーバーがある場合、どのサーバーからメールを受け取るかを決定する数値。

MXレコードとメールサーバーの関係

  • MXレコードはメールサーバーの住所帳。優先度が低いサーバーから順にメール配送。
  • メールサーバーがダウンの場合、優先度の高い次のサーバーが使用される。

MXレコードの調査: nslookup使用

  • コマンド実行: nslookup -type=mx example.com
  • 指定ドメインのMXレコード情報が表示される。出力からメールサーバーのドメイン名と優先度を確認。

使用例:

nslookup -type=mx example.com

出力結果例:

サーバー:  UnKnown
Address:  192.xx.xx.xx

Non-authoritative answer:
example.com     mail exchanger = 10 mail.example.com.
example.com     mail exchanger = 20 mail2.example.com.
  • 出力から、example.comに設定されている2つのMXレコードが確認できる。
  • 各MXレコードには優先度(1020)とメールサーバーのドメイン名(mail.example.commail2.example.com)が含まれる。
  • 優先度が低いメールサーバーが優先的に使用される。

※2台の受信側メールサーバーが設定されている。MXレコードに複数のメールサーバーが設定されている理由は、冗長性と可用性を高めるため。

参考

MXレコード【DNSレコード】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

MXレコードとは?役割と確認方法についてわかりやすく解説! – Value Note – わかる、なるほどなIT知識。

SMTPとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

Last modified: 2024-02-25

Author