DNSのリソースレコードについてよく分かっていなかったので雑にまとめたよ

Submitted by UltraBirdTech on Mon, 08/14/2017 - 05:10

DNSのリソースレコードについてよく分かっていなかったので雑にまとめたよ

どーも、ばぁどです。

今回、当ブログの開設にあたってDNSの紐付けでハマりました。

(どちらかいうとawsのRoute53の仕様な気はするが・・・)

その時のDNSに設定する値(リソースレコード部分)がよく分かっておらず、Route53 で設定している内容もフワフワしていたので基本部分を復習。


DNSとは?

DNSはIPアドレスを一対一で紐付けた名前のことです。

IPアドレスって、127.0.0.1みたいに数字が並ぶことから人間って覚えにくいと思うのですが、それを人間が識別しやすい名前(google.co.jpとか)に変換できるようにしましょうという技術です。

(実際に社会の勉強で、年号とか語呂合わせで覚えたな・・・794ウグイス平安京)

そのドメイン名とIPアドレスを紐づけるのがDNSです。


DNSのリソースレコード

今回、DNSを設定していて、よくわかっていないなーと実感したのがこの部分。

ドメインはリソースレコード(資源レコード)というものをDBに保持しているようです。

ドメイン名と一緒にリソースレコードを指定して問い合わせることによって、該当するリソースレコードが返却されます。

リソースレコードの種類としては下記の表に大まかにまとめました。

へー、これだけあるんですねぇ。他にもありそう。

タイプ

意味

A 1 ホストのIPアドレス(IPv4)。よく使う。
NS 2 ゾーンに権威を持つネームサーバー(DNSサーバー)。これもよくみる。
CNAME 5 ホストの別名に対応するドメインの正式名。一つのIPに複数紐づける場合などに使うらしい。
SOA 6 ゾーン内の権限の起点。これもRoute53 で指定した。
WKS 11 ウェルノウンサービス
PTR 12 IPアドレスの逆引き用のポインタ
HINFO 13 ホストに関する追加情報(CPUとOSのタイプ)。
MINFO 14 メーリングリストを担当するメールボックス
MX 15 メールサーバー( Mail Exchange )
TXT 16 DNSが解釈しない単なるASCII文字列。プログラムには必要なし。
SIG 24 セキュリティの署名
KEY 25 セキュリティの鍵
GPOS 27 地理的な位置
AAAA 28 ホストのIPアドレス ( IPv6 )。Aレコードの4倍(128bit)格納できるので、A * 4 で AAAA レコードという名前らしい。
NXT 30 次のドメイン
SRV 33 サーバーの選択
* 255 すべてのレコードの選択

この表を見て、気づいたのがRoute53でTypeとして指定できる値ってこの値だということ(無知)

aws route53 setting01

今回はawsのRoute53で使用した、Aレコード、NSレコード、SOAレコードについて、詳しく見ていきたいと思います。


Aレコード

ホスト名からIPアドレス(Ipv4)を取得するために使用する。

dig コマンドで取得して見たら、下記のような感じで返ってきます。

example.comに紐づくIPアドレスが返却されてきていますね。

これは、dig で Aレコードを指定したので、Aレコードとして格納されているIPアドレスが返ってきているという認識。

画像はdigコマンドの結果。dig A record

Route53の設定部分を見ても、確かにTypeにAレコードを指定すると返却するIPアドレスを記入する場所が出てきますね。

Route53

 


NSレコード

DNSの管理を委託しているDNSのドメインを持っているレコードのようです。

これらのDNSサーバーを通って特定してくれているということですかね?

なにやら調べたのですが、他で取得したドメインをRoute53で紐づける場合は、この値が重要らしい。その時になったらまた調べよ。

digの結果です。dig NS record


SOAレコード

DNSが所属するゾーンのオーソリティ情報を持っている。

SOAとはStart Of Authorityの略。

権限に関する記述はここから始まるよってことかね。

SOAレコードは、7つの情報を持っている。

digを打った時に返ってくるレコードでも確認できますね。

digで打つと、一行で半角スペース区切りで返ってくる?

dig SOA record

今回はnslookupコマンドの方が良さそうということなので、nslookupで確認。

nslookup SOA

うん!各値も見やすい気がする。

  • MNAME

ゾーンファイルの基となるデータを持つネームサーバーの名前。originで値が返ってきています。

  • RNAME

ドメインの管理者のメールアドレス。@は.に置き換えられている模様。mail addr の値。

  • SERIAL

ゾーンファイルのバージョンを表す数値。大きいほどバージョンが新しいということになる。

  • REFRESH

ゾーンファイルの更新をチェックする間隔を指定。

  • RETRY

リフレッシュ時間にゾーンの更新の確認を行った際、通信エラーが発生して失敗する場合がある。

その時の再度、確認を行うまでの待ち時間を指定する。

  • EXPIRE

ゾーン情報を更新できない場合、どれだけの間現状の値を利用していいかを設定する値

  • MINIMUM

キャッシュサーバーに対するネガティブキャッシュ時間を指定する。

キャッシュサーバーは存在しないドメインの情報も保持するので、その保持する期間を指定することができる。


そんな感じで DNSのリソースレコードに関してでした。

上記の知識がある程度頭に入っていれば、Route53における設定はある程度大丈夫そうですね。

 

Tags