はじめに
DNS(Domain Name System)はインターネットの電話帳とも呼ばれます。ドメイン名をIPアドレスに変換し、メールの配送先を指定し、ドメインの所有権を証明する——これらすべてがDNSレコードによって実現されています。この記事では、主要なDNSレコードタイプを一つひとつ解説します。
Aレコード(Address Record)
Aレコードは、ドメイン名をIPv4アドレスに対応付ける最も基本的なレコードです。
example.com. IN A 93.184.216.34
AAAAレコードはIPv6アドレス用の同等のレコードです:
example.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946
MXレコード(Mail Exchange Record)
MXレコードは、ドメイン宛のメールをどのサーバーに配送するかを指定します。メール運用において最も重要なレコードです。
example.com. IN MX 10 mx1.evilmail.com.
example.com. IN MX 20 mx2.evilmail.com.
数値は優先度を示し、値が小さいほど優先されます。複数のMXレコードを設定することで、冗長性を確保できます。
CNAMEレコード(Canonical Name Record)
CNAMEレコードは、あるドメイン名を別のドメイン名のエイリアスとして定義します。
www.example.com. IN CNAME example.com.
mail.example.com. IN CNAME mailserver.evilmail.com.
注意:CNAMEレコードはゾーンの頂点(ネイキッドドメイン)には設定できません。また、MXレコードやNSレコードと共存できません。
TXTレコード(Text Record)
TXTレコードは、任意のテキスト情報をDNSに格納するためのレコードです。主に以下の用途で使われます:
SPF(Sender Policy Framework)
example.com. IN TXT "v=spf1 include:evilmail.com ~all"
どのサーバーがこのドメインからメールを送信する権限を持つかを定義します。
DKIM(DomainKeys Identified Mail)
selector._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0..."
メールにデジタル署名を付加し、改ざんされていないことを証明します。
DMARC(Domain-based Message Authentication)
SPFとDKIMの認証結果に基づくポリシーを定義します。
その他のレコードタイプ
- NSレコード:ドメインの権威DNSサーバーを指定します。
- SOAレコード:ゾーンの管理情報(シリアル番号、TTLなど)を定義します。
- SRVレコード:特定のサービスのサーバーとポートを指定します。
- PTRレコード:IPアドレスからドメイン名への逆引きに使用されます。
- CAAレコード:SSL証明書の発行を許可する認証局を指定します。
TTL(Time to Live)について
すべてのDNSレコードにはTTL値が設定されます。これはキャッシュの有効期間を秒単位で指定するものです。メール関連の設定変更を予定している場合は、事前にTTLを短く設定しておくと、変更が速やかに反映されます。
まとめ
DNSレコードを正しく理解し設定することは、メール配信の信頼性とセキュリティの基盤です。A、MX、CNAME、TXTの各レコードの役割を把握し、SPF、DKIM、DMARCを適切に構成することで、メール運用を安全かつ確実に行えます。