DNS設定の確認方法|各レコードの役割と設定ミスの見つけ方
DNSレコードの種類と役割、設定の確認方法を解説。A、MX、TXT、CNAMEなど各レコードの意味と、よくある設定ミスの見つけ方を紹介します。
DNSはインターネットの電話帳のような存在です。正しく設定されていないと、Webサイトが表示されない、メールが届かないなどの問題が発生します。
DNSの基本
DNS(Domain Name System)は、ドメイン名をIPアドレスに変換するシステムです。
example.com → 93.184.216.34
主要なDNSレコード
| レコード | 役割 | 例 |
|---|---|---|
| A | ドメイン→IPv4アドレス | 93.184.216.34 |
| AAAA | ドメイン→IPv6アドレス | 2606:2800:220:1:... |
| CNAME | ドメイン→別ドメイン | www.example.com → example.com |
| MX | メールサーバー指定 | mail.example.com |
| TXT | テキスト情報 | SPF、DKIMなど |
| NS | ネームサーバー指定 | ns1.dns.com |
| SOA | ゾーンの権威情報 | プライマリNS、管理者など |
DNS設定の確認方法
コマンドラインで確認
dig コマンド(Linux/Mac):
# Aレコードを確認
dig example.com A
# MXレコードを確認
dig example.com MX
# TXTレコードを確認
dig example.com TXT
# すべてのレコードを確認
dig example.com ANY
# 特定のDNSサーバーを指定
dig @8.8.8.8 example.com A
nslookup コマンド(Windows/Mac/Linux):
# Aレコードを確認
nslookup example.com
# MXレコードを確認
nslookup -type=MX example.com
# TXTレコードを確認
nslookup -type=TXT example.com
オンラインツールで確認
- MXToolbox: https://mxtoolbox.com/
- DNSChecker: https://dnschecker.org/
- Google Admin Toolbox: https://toolbox.googleapps.com/apps/dig/
RiskLensで確認
RiskLensでドメインを診断すると、DNS設定を自動でチェックし、問題点を指摘します。
各レコードの詳細と設定例
Aレコード
ドメインをIPv4アドレスにマッピングします。
example.com. A 93.184.216.34
www.example.com. A 93.184.216.34
確認方法:
dig example.com A +short
# 出力: 93.184.216.34
よくあるミス:
- IPアドレスの入力ミス
- サーバー移転後の更新忘れ
MXレコード
メールの配送先を指定します。優先度(数字が小さいほど優先)も設定します。
example.com. MX 10 mail1.example.com.
example.com. MX 20 mail2.example.com.
確認方法:
dig example.com MX +short
# 出力: 10 mail1.example.com.
# 20 mail2.example.com.
よくあるミス:
- 優先度の設定漏れ
- 末尾のドット忘れ(FQDN)
- メールサービス変更後の更新忘れ
TXTレコード
テキスト情報を格納します。主にSPF、DKIM、DMARCで使用。
example.com. TXT "v=spf1 include:_spf.google.com -all"
selector._domainkey TXT "v=DKIM1; k=rsa; p=..."
_dmarc.example.com. TXT "v=DMARC1; p=reject; rua=mailto:..."
確認方法:
# SPFを確認
dig example.com TXT +short
# DKIMを確認
dig selector._domainkey.example.com TXT +short
# DMARCを確認
dig _dmarc.example.com TXT +short
よくあるミス:
- 引用符の使い方(ダブルクォーテーション必要)
- 長いレコードの分割ミス(255文字制限)
- 複数のSPFレコード(1つだけにすべき)
CNAMEレコード
ドメインを別のドメインにエイリアスします。
www.example.com. CNAME example.com.
blog.example.com. CNAME example.github.io.
確認方法:
dig www.example.com CNAME +short
# 出力: example.com.
よくあるミス:
- ルートドメイン(example.com)にCNAMEは設定不可
- CNAMEとAレコードの共存(できない)
- 外部サービス解約後の放置(テイクオーバーリスク)
NSレコード
ドメインの権威DNSサーバーを指定します。
example.com. NS ns1.dns-provider.com.
example.com. NS ns2.dns-provider.com.
確認方法:
dig example.com NS +short
よくあるDNS設定ミス
1. TTLが短すぎる/長すぎる
TTL(Time To Live)は、DNSレコードがキャッシュされる時間です。
| 状況 | 推奨TTL |
|---|---|
| 通常運用 | 3600(1時間)〜 86400(1日) |
| 変更予定あり | 300(5分)〜 600(10分) |
| 変更直後 | 徐々に元に戻す |
2. SPFレコードが複数ある
# 間違い(2つある)
example.com TXT "v=spf1 include:_spf.google.com -all"
example.com TXT "v=spf1 include:sendgrid.net -all"
# 正しい(1つにまとめる)
example.com TXT "v=spf1 include:_spf.google.com include:sendgrid.net -all"
3. ルートドメインにCNAMEを設定
# 間違い(ルートドメインにCNAME)
example.com CNAME other-domain.com
# 正しい(Aレコードを使用)
example.com A 93.184.216.34
代替案: ALIASレコード(一部DNSプロバイダがサポート)
4. MXレコードがIPアドレスを指している
# 間違い
example.com MX 10 93.184.216.34
# 正しい
example.com MX 10 mail.example.com
MXレコードはホスト名を指定する必要があります。
5. 末尾のドット忘れ
FQDNを指定する場合、末尾にドットが必要です(DNSプロバイダによる)。
# ドットあり(絶対指定)
example.com. MX 10 mail.example.com.
# ドットなし(相対指定、DNSプロバイダが補完)
@ MX 10 mail
DNS伝播の確認
DNS変更後、世界中のDNSサーバーに反映されるまで時間がかかります。
伝播状況の確認:
伝播が遅い場合:
- TTLが長い設定だった
- 一部のISPがキャッシュを持っている
- 24〜48時間待つ
チェックリスト
- Aレコードが正しいIPを指している
- MXレコードが設定されている
- SPFレコードが1つだけ存在する
- DKIMレコードが設定されている
- DMARCレコードが設定されている
- 不要なレコードが残っていない
- TTLが適切な値になっている
まとめ
| 確認項目 | コマンド |
|---|---|
| Aレコード | dig example.com A |
| MXレコード | dig example.com MX |
| TXTレコード | dig example.com TXT |
| CNAME | dig www.example.com CNAME |
| 全レコード | dig example.com ANY |
DNS設定は、Webサイトとメールの基盤です。RiskLensで定期的に診断し、設定ミスを早期に発見しましょう。