リソースレコード
DNSでドメイン名に結び付けて管理する1件ごとの情報。対象の名前、情報の種類、その種類に応じた値などからなり、IPアドレスやメールの配送先などを表す。
イマシルちゃんの解説
DNSは、名前に対応するIPアドレスやメールの配送先などを調べる仕組みだよ。
そこで扱う1件ごとの情報をリソースレコードというんだ。
各レコードには、対象のドメイン名と情報の種類、その種類に応じた値などが入っているよ。
たとえばIPv4アドレスを記録するのがAレコード、メールの配送先サーバの名前を記録するのがMXレコードなんだ。
問い合わせる側は、名前と一緒に知りたい情報の種類を指定するよ。
こうして種類を分けることで、同じ名前に複数の情報があっても必要なものを取り出せるんだ。
この解説はわかりやすかったですか?
より深い解説
定義
リソースレコード(RR)は、DNSのゾーンに登録される1件ごとの情報で、次の要素からなる。
| 要素 | 内容 |
|---|---|
| 名前 | 対象のドメイン名 |
| TTL | キャッシュしてよい時間(秒) |
| クラス | 通常はIN(インターネット) |
| タイプ | 情報の種類(A、MXなど) |
| データ | 種類に応じた値 |
主な種類
| タイプ | 内容 |
|---|---|
| A | ドメイン名に対応するIPv4アドレス |
| AAAA | ドメイン名に対応するIPv6アドレス |
| CNAME | 別名(エイリアス)。本当の名前(正規名)を指す |
| MX | そのドメイン宛てのメールを受け取るメールサーバ。優先度の値が小さいものから使う |
| NS | そのゾーンを担当する権威DNSサーバ |
| SOA | ゾーンの管理情報(シリアル番号、更新の間隔など) |
| PTR | IPアドレスに対応するドメイン名(逆引き) |
| TXT | 任意の文字列。SPFやドメインの所有確認などに使う |
| SRV | サービスを提供するサーバとポート番号 |
| CAA | そのドメインの証明書を発行してよい認証局 |
DNSSECでは、RRSIG(署名)、DNSKEY(公開鍵)、DS(子のゾーンの鍵のハッシュ値)などのレコードが加わる。
ゾーンファイルの例
example.co.jp. 3600 IN SOA ns1.example.co.jp. admin.example.co.jp. (
2026101601 ; シリアル番号
3600 ; リフレッシュ
900 ; リトライ
604800 ; 期限切れ
300 ) ; ネガティブキャッシュのTTL
example.co.jp. 3600 IN NS ns1.example.co.jp.
example.co.jp. 3600 IN MX 10 mail.example.co.jp.
www.example.co.jp. 3600 IN A 192.0.2.10
mail.example.co.jp. 3600 IN A 192.0.2.20
shop.example.co.jp. 3600 IN CNAME www.example.co.jp.
押さえておきたい決まり
- CNAMEを付けた名前には、ほかの種類のレコードを登録できない。そのため、ゾーンの頂点(example.co.jp そのもの)にはCNAMEを使えない
- MXレコードやNSレコードの値には、IPアドレスではなくドメイン名を書き、そのドメイン名のAレコードなどを別に用意する
- TTLを短くすると変更がすぐに反映されるが、問合せが増える。サーバの移転の前には、あらかじめTTLを短くしておくとよい
- 逆引きは、IPアドレスを逆順に並べた in-addr.arpa(IPv4)や ip6.arpa(IPv6)のドメインのPTRレコードで行う
メール配送先の読み方
メールアドレスが [email protected] の場合、配送先を調べる対象はメールアドレスのドメイン部分である。
次のレコードでは、先頭のNAMEフィールドにそのドメイン名を書き、右側にメール交換ホストを指定する。
example.co.jp. 3600 IN MX 10 mail.example.co.jp.
| 部分 | 意味 |
|---|---|
| example.co.jp. | メールを受け取る対象のドメイン(NAME) |
| 10 | プリファレンス値。小さい値のホストを優先する |
| mail.example.co.jp. | 配送先メールサーバのドメイン名 |
配送先にはIPアドレスを直接書かず、AレコードやAAAAレコードでアドレスを取得できる名前を使う。
また、この配送先の名前にCNAMEで定義された別名を指定してはいけない。MXが指す名前と、メールアドレスのドメインを取り違えないことが大切である。
別名と配信先を対応付ける
CNAMEは、問い合わせた名前が別の正規名を指すことを表す。例えば自社のwww.example.net.をCDN事業者が提供するedge.cdn.example.へ対応付けると、名前解決はその先のAレコードやAAAAレコードを調べて続く。CNAMEの右側にはIPアドレスではなく名前を記述する。
ゾーンファイルで名前の末尾にドットを付けると、ルートまで含む絶対名として扱う。省略すると設定された起点の名前が補われるため、別のドメインへ向けるつもりの名前が意図せず自社ドメインの下になることがある。
一方、ロードバランサの仮想IPアドレスへ名前を対応付ける場合、IPv4ならAレコードの値へそのアドレスを書く。別名への対応と、アドレスへの対応は異なるレコードで表す。 CNAMEはHTTPのリダイレクトを返す仕組みでもなく、ブラウザの要求先URLを別URLへ変更するものではない。
参考資料
実際の試験ではここに出る!全23問
ネットワークスペシャリスト
- 午前Ⅱ
- 午後Ⅱ
- 午後Ⅰ
テクニカルエンジニア(ネットワーク)
- 午前