よく使うDNSレコード一覧

メソ
2023-12-11
2023-12-11

近頃DNSの設定に触れる機会があり、中でもよく見かけるDNSリソースレコードとその記述方法を簡単にまとめました。

リソースレコードの基本的な書き方

リソースレコードを設定する際は、以下のようにドメイン名やリソースレコードの種類などを設定します。
TTL(Time To Live)はキャッシュされる時間、IN(Internet)はインターネットを指します。

"ドメイン名"  TTL  IN  "レコードの種類"  "レコードの種類に応じた記述"

例)
ドメイン名"example.com"でAレコードを設定したい時

example.com  360  IN  A  192.168.XXX.XXX

 

リソースレコードの種類と設定内容

リソースレコードは、種類に応じて記述ルールがあります。これらのルールは主にRFCという文書を基に適用されています。

A

ドメイン名に対応したIPv4アドレスを紐づけます。

example.com  TTL  IN  A  192.168.XXX.XXX
AAAA

ドメイン名に対応したIPv6アドレスを紐づけます。AレコードのIPv6バージョンです。

example.com  TTL  IN  AAAA  0000:0000:0000:0000:0000:ffff:c0a8:XXXXX
MX

メール転送したいホストを指定します。ホストの直前の数値は優先順位を表しています。

example.com  TTL  IN  MX   10 ml.example.com
CNAME

Canonical Name(=正式名)の通り、ドメイン名の正式な名前を指定します。

www.example.com  TTL  IN  CNAME  example.com
TXT

任意の文字列を指定します。
メールのなりすまし対策に使われるSPFやDKIM、DMARCに使われることがあります。

SPF(Sender Policy Framework)

メール送信者のサーバに対して認証します。
冒頭に「v=」でSPFのバージョンを指定し、以下のように設定内容によってタグを付けます。

example.com  TTL  IN  TXT  "v=spf1 ip4:IPアドレスまたはIPアドレスとサブネット範囲 a:ホスト名(FQDN) include:外部メールアドレスの指定 ~all" 

IPv4...192.168.0.XXX
ホスト名...sub.example.com
外部メールアドレス...fsmails.com
の条件で設定したい時

example.com  TTL  IN  TXT  "v=spf1 ip4:192.168.0.XXX a:sub.example.com include:fsmails.com ~all"
  DKIM(DomainKeys Identified Mail)

メールに電子署名を付与します。
バージョンを指定し、記述情報に応じてタグをつけることが可能です。また、SPFとは異なり各情報末尾に「;」を付けます。

example.com  TTL  IN  TXT  "v=DKIM1; k=暗号方式(rsaのみ); p=公開鍵;" 

暗号方式はrsaのみですので、公開鍵「koukaikagidayo」を設定する場合は以下のように記述します。

example.com  TTL  IN  TXT  "v=DKIM1; k=rsa; p=koukaikagidayo;" 
DMARC(Domain-based Massage Authentication, Reporting, and Conformance)

SPFとDKIMの両方を拡張したものです。メール処理に応じてレポートを受け取ることが可能です。
DMARCでも同様に、バージョンの指定と設定内容応じたタグを付けます。

example.com  TTL  IN  TXT  "v=DMARC1; p=送信元ドメインが認証に失敗した際のメール受信動作を選択(none, quarantine, reject); rua=集計レポートの送り先メールアドレス; ruf=認証レポートの送り先メールアドレス;"

p...reject
rua...mail0@example.com
ruf...mail1@example.com
の条件で設定したい時

example.com  TTL  IN  TXT  "v=DMARC1; p=reject; rua=mail0@example.com; ruf=mail1@example.com;"
  Google Search Console利用時

Google Search Consoleを利用する際、自身が管理しているサイトであるという認証を得るためにレコードを登録します。記述の際は、Googleから指定されるレコードをそのまま登録します。
なお、指定されたレコードは冒頭が主に「google-site-verification=...」となっていますので、以下のように登録されます。

example.com  TTL  IN  TXT  "google-site-verification=指定されたレコード"
  SSLサーバによる証明書利用時

SSLサーバ証明書を利用する際は、ご利用の証明書発行元が指定するレコードを登録します。

example.com  TTL  IN  TXT  "指定されたレコード"

 

まとめ

ここまでリソースレコードの設定について見てきました。
DKIMなどは他にも設定できるタグが存在します。今回取り上げた内容以外にもがあるので、ルールやレコードの仕組みについて今後も見てみたいと思います。