SMTPサーバ構築時に必要なDNS設定まとめ

目次
SMTPサーバ構築時に必要なDNS設定をまとめて解説
SMTPサーバを構築する際、多くの管理者はPostfixやEximなどのメールサーバソフトウェアの設定に注目します。
しかし実際にはDNS設定が正しく行われていなければ、メール送受信に様々な問題が発生します。
メールが届かない、迷惑メール扱いされる、受信拒否されるといった問題の多くはDNS設定が関係しています。
現在のメールシステムではSMTPとDNSは密接に連携しています。
本記事ではSMTPサーバ構築時に必要となるDNS設定をまとめて解説します。
なぜDNS設定が重要なのか
メール配送ではSMTPサーバだけでは動作しません。
送信先メールサーバの特定や送信元サーバの信頼性確認など、多くの場面でDNSが利用されています。
そのためDNS設定はメールサーバ構築の重要な要素です。
メール配送とDNSの関係
メール送信時には複数のDNS問い合わせが発生します。
メール送信
↓
MX問い合わせ
↓
Aレコード問い合わせ
↓
SMTP接続
↓
SPF確認
↓
DKIM確認
DNSが正しく設定されていないと配送に失敗する場合があります。
SMTPサーバ構築で必要なDNSレコード
代表的なDNSレコードは以下の通りです。
| レコード | 用途 |
|---|---|
| A | ホスト名からIP取得 |
| MX | メールサーバ指定 |
| PTR | 逆引きDNS |
| TXT(SPF) | 送信元認証 |
| TXT(DKIM) | 公開鍵登録 |
| TXT(DMARC) | 認証ポリシー |
現在のメール運用ではこれらの設定が推奨されています。
Aレコード
まずメールサーバのホスト名を登録します。
例です。
mail.example.com. IN A 203.0.113.10SMTPサーバのIPアドレスを登録します。
Aレコードが必要な理由
MXレコードはホスト名を指定するため、対応するAレコードが必要です。
例えば以下です。
example.com. IN MX 10 mail.example.com.mail.example.comを解決するためAレコードが利用されます。
MXレコード
メール受信サーバを指定します。
最も重要なDNSレコードの一つです。
example.com. IN MX 10 mail.example.comメール配送時にSMTPサーバが参照します。
MXレコードの優先度
複数のメールサーバを設定できます。
example.com. IN MX 10 mail1.example.com.
example.com. IN MX 20 mail2.example.com.数値が小さい方が優先されます。
PTRレコード
逆引きDNSを設定します。
メールサーバの信頼性確認に利用されます。
203.0.113.10
↓
mail.example.com
GmailやMicrosoft 365でも重要視されています。
PTRレコードの設定例
10 IN PTR mail.example.com.逆引きゾーンへ登録します。
正引きと逆引きが一致することが重要です。
FCrDNSを成立させる
推奨される構成です。
mail.example.com
↓
203.0.113.10
正引きです。
203.0.113.10
↓
mail.example.com
逆引きです。
両方が一致する状態を維持します。
SPFレコード
送信元SMTPサーバを認証するための設定です。
TXTレコードとして登録します。
v=spf1 ip4:203.0.113.10 -allなりすまし対策として重要です。
Google Workspace利用時の例
v=spf1 include:_spf.google.com ~allGoogleのSMTPサーバを許可します。
Microsoft 365利用時の例
v=spf1 include:spf.protection.outlook.com -allMicrosoftの送信サーバを許可します。
DKIM公開鍵
メールへ電子署名を付与するための公開鍵です。
DNSのTXTレコードへ登録します。
mail._domainkey.example.com.専用のホスト名を利用します。
DKIM登録例
mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA..."受信側メールサーバが公開鍵を取得します。
DMARCレコード
SPFやDKIMの認証失敗時の動作を定義します。
TXTレコードとして登録します。
_dmarc.example.com専用のホスト名を利用します。
DMARC設定例
v=DMARC1; p=reject; rua=mailto:dmarc@example.com認証失敗メールを拒否する設定です。
メール配送時のDNS問い合わせ
実際には複数の問い合わせが行われます。
MX問い合わせ
↓
Aレコード問い合わせ
↓
SMTP接続
↓
PTR確認
↓
SPF確認
↓
DKIM確認
↓
DMARC判定
DNSがメール配送を支えていることが分かります。
確認コマンド一覧
MXレコード確認です。
$ dig MX example.com
Aレコード確認です。
$ dig A mail.example.com
逆引き確認です。
$ dig -x 203.0.113.10
SPF確認です。
$ dig TXT example.com
DKIM確認です。
$ dig TXT mail._domainkey.example.com
DMARC確認です。
$ dig TXT _dmarc.example.comよくある設定ミス
- MXレコード未設定
- Aレコード未設定
- PTRレコード未設定
- SPF設定漏れ
- DKIM公開鍵未登録
- DMARC未設定
メールが届かない原因として非常に多く見られます。
メールサーバ構築後の確認項目
以下をチェックしましょう。
- MX解決できるか
- Aレコード解決できるか
- 逆引きできるか
- SPF認証成功するか
- DKIM署名されるか
- DMARC設定が存在するか
運用開始前の確認が重要です。
Gmail対策として重要な項目
Gmailへ確実に届けるためには以下が特に重要です。
- PTRレコード
- SPF
- DKIM
- DMARC
未設定の場合は到達率低下の原因になります。
実務で推奨される構成
mail.example.com ↓ Aレコード example.com ↓ MXレコード 203.0.113.10 ↓ PTRレコード example.com ↓ SPF mail._domainkey ↓ DKIM _dmarc ↓ DMARC
現在の標準的なメールサーバ構成です。
まとめ
SMTPサーバ構築ではAレコード、MXレコード、PTRレコード、SPF、DKIM、DMARCの設定が重要です。
これらはメール配送や送信元認証、サーバ信頼性確認に利用されます。
DNS設定に不備があるとメールが届かない、迷惑メール扱いになるなどの問題が発生します。
メールサーバ構築時にはDNS設定を総合的に確認し、安全で信頼性の高いメール環境を構築しましょう。





