DNS誕生の背景
DNSが誕生する前
- IPアドレスは1箇所で管理していたが、接続する機器が増えすぎたため分散管理するようになった(ただのテキストファイルでIPとドメインを管理)
- インターネット利用者はテキストファイルをダウンロードして使っていた
- インターネットを始める場合は、管理局(レジストリ)に申請しテキストファイルに追加してもらう必要があった
- 色々めんどくさいのでドメインを階層化し管理を委任することで現在のDNSシステムとなった
分散管理のメリット
- 管理者の負担軽減(
-
.jp
なら.jp
だけを管理すれば良い、example.jp
は委任して他に任せる
-
- 拡張性
-
example.jp
は.jp
から委任されているので理範囲内で独自にルールを決めれる
-
リゾルバについて
スタブリゾルバ
- デバイスの中にあるもの(DNSクライアントともいう)
フルリゾルバ
- DNSサーバーに問い合わせを行い取得したIPをクライアントに返却する
- 名前解決したIPをキャッシュしておく
- キャッシュDNSサーバーと呼ばれることもある
キャッシュについて
キャッシュは2種類ある
キャッシュ
- 名前解決したドメインをIPを保持しておき、シドリクエストが来た際はキャッシュをレスポンスする
ネガティブキャッシュ
- 存在しないIPにだった場合その情報もキャッシュしておく
- これがないとブラウザをリロードしたときに再度DNSサーバーへ名前解決のリクエストを送信することになる
サーバーは複数設置する
同じゾーン情報を持つサーバーを複数立てておくためゾーン転送を行う
プライマリサーバー・セカンダリサーバー
レコードについて
SOAレコード
- ゾーン頂点でSOAレコードが必要
-
.jp
から委任されたexmaple.jp
はexmaple.jp
のゾーン頂点
-
- ゾーン転送にも必要
NSレコード
- ゾーンの親子関係を示すもの
- ゾーンを管理するサーバーのホスト名を設定する(
exmaple.jp
であればexmaple.jp
を設定する)
TXTレコード
- 任意の文字を設定できるので、特定のフォーマットを入力すると、ドメインの所有権の確認、メールのセキュリティの確保、迷惑メールやフィッシングの防止を行える
SPFとは?
- SPFとは送信元の身元を確認するためのドメイン認証技術
-ドメインが迷惑メールの送信に使用されることを防ぐ目的がある - 例えば、ドメイン「XXX.co.jp」のIPアドレス「192.168.10.1」から送信されたメールのみを認証させたいときは、TXTレコードに追加する
XXX.co.jp. IN TXT "v=spf1 +ip4:192.168.10.1 –all"
CNAMEレコード
- ドメイン名のエイリアス(別名)を指定するために使われる
- 以下の場合、
www.example.com
の問い合わせに対し、test.example.com
の名前解決を行う
www.example.com IN CNAME test.example.com