機能 
 構成・方式 
    ドメイン名DNS
    ゾーン
    ゾーンファイル
    デフォルト定義
    named.conf
    リゾルバ
    ネームサーバ 
    ドメイン名空間 
    マッピング
    キャッシュ
 タスク 
 インストール 

 ドメイン名とDNSドメインネームサーバ
ツリー構造と委任による ゾーン の分散管理を可能にする仕組み
ドメイン名で整理されている、ホスト情報のデータベース
分散型DB
DBの各部分はローカルで管理
DNSの設計目標の一つの「管理の分散化」を委任によって達成する。
クライアントサーバー型
ネームサーバーはDBを整理し、クライアント(リゾルバー)に情報を提供する。
 ・ツリー構造
ドメイン名空間について
ルート(root、”.”で表す。)
TLD(Top Level Domain、最初の分岐、.jp、.com など)
SLD(Second Level Domain、example.jp、co.jp など)
3LD(www.example.jp、example.co.jp など)
4LD(www.example.co.jp など)
 ・サブドメインの委任(delegation)
ツリーは、様々な組織によって分散管理される。
各組織は、親となるドメインからそのドメインの一部(サブドメイン)の管理を任される。
ドメインを管理する組織は、ドメインを複数のサブドメインに分割し、
それぞれのサブドメインに関する管理を他の組織に委任する。
委任したサブドメインに関する情報は持たない代わりに、
そのドメインの権威をもったネームサーバへのポインタを持つ。
委任したサブドメインの情報の要求にネームサーバのリストを返す。
 ・参考

 ゾーン(各DNSサーバが管理しているドメインの範囲)とゾーン情報
 ・サブドメインの管理を委任された組織は、そのサブドメインのすべてのデータに関する責任を持つ。
 ・ドメインのホストは、地理的または組織的な要素によって関連付けられる。
 ・接続など
インターネットに接続されている場合
インターネット上のホストにUUCP接続している場合
TCP/IPベースの複雑なネットワークのネットワークを自分で持っている場合
自分のネットワークが大規模なネットワークに接続されている場合
 ・ゾーン情報
各DNSのトップレベルドメインのゾーンには、サブドメインに関する委任情報が含まれる。
委任されたドメインに係る完全な情報を格納
(ネームサーバはゾーンに関する権威を持っている。)
様々なリソースレコード(RR)を持ち、名前解決などの問い合わせに応じてそれらを返す。

 ゾーンファイル
 ・所定の文法で、RRなどのゾーンの情報をゾーンファイルに定義する。
 ・$ORIGINディレクティブ
それにつづくRRなどがの最後に「.(ドット)」のない名前を含む場合に、
最後に付加される文字列を定義する。
$ORIGINに設定した値そのものを名前として利用する場合、「@」で置き換えられる。
ゾーンファイルの中で複数回使用可能(複数のゾーン記述が可能)
先頭の$ORIGINは省略できる。
 ・$TTL (キャッシュ
当該ゾーンの各レコードの寿命(Time To Live)の値を秒単位で指定
$ORIGINでゾーンを指定した直後は、かならず$TTL
$TTLが指定されると、それに続くすべてのレコードのTTLがこの値
$TTLは何回でも設定可能
RRなどに更新があった場合、この値を使う他のサーバへの更新は最大$TTL時間後になる。
3600秒(1H)が多くなった。(DHCPとの連携でのDDNSは更に短い。)
 ・RR(Resource Recode)
SOA(Start Of Authority) ゾーンそのものの情報
owner(RRを対応付ける(RRの一部ではない)、zoon apexを指せば自由(@が多い))
class(IN)
type(SOA)
mname(ゾーンデータの原本の在りか:primary)
rname(ゾーンに関する連絡先)
NSレコード      そのゾーンの権威あるDNSコンテンツサーバの名前
MXレコード      そのゾーンのメールサーバの名前
Aレコード       名前に対するIPv4アドレス
AAAAレコード    名前に対するIPv6アドレス
PTRレコード     逆引き  (アドレスから名前へのマッピング
ドメイン持ち主の確認
CNAMEレコード   その名前に対する別名
TXTレコード      テキスト情報
DNSKEYレコード/RRSIGレコード  DNSSECのための公開錠/署名

 デフォルト定義名
any     すべてのアドレス
none    anyの逆、すべてのアドレスを否定
localhost  DNSホストに実装された全てのNWインタフェイスに割り当てられたIP
localnets  DNSホストに実装された全てのNWインタフェイスに割り当てられたNW

 named.conf
 ・/etc/named.conf (/usr/local/etc/named.conf (ソースからビルド))
acl        IPやNWに名前をつけて、allow-query、allow-transferなどで使用
listen-on port DNSサービスへのアクセスが可能なものを限定する場合に指定
version     versionの問い合わせに対して返送する文字列
hostname   DNSサーバのホスト名の問い合わせに対して返送する文字列
directory    相対パスの起点
dump-file    rndcを使いdbのダンプを要求した場合のダンプ先ファイルのパス
statistics-file  rndcを使いステータス情報を要求した場合に統計情報が追記されるパス
pid-file      namedプロセスのPIDを書き出すファイルのパス
allow-transfer ゾーン転送を許可するリモートサーバ
allow-query-cache  キャッシュデータに対するDNSクエリーを許可するリモートホスト
allow-query  { internalnet; localhost; };
recursion    再帰的クエリーに対する措置を決定
 ・/etc/named.confのゾーン定義
ゾーンの宣言、ゾーンファイルへのパス、そのゾーン固有の各種オプション設定
ルートゾーン       キャッシュサーバとして利用する場合にのみ必要
named.rfc1912.zones グローバルなDNS参照をしても意味がないDNS名やIPアドレス
 ・ドメインの委任に関する情報

 リゾルバ(resolver)
 ・ネームサーバ(フルサービスリゾルバ、DNSキャッシュサーバ)をアクセスするクライアント
 ・プログラムに組み込まれたライブラリルーチンの集まり(スタブリゾルバ(DNS仕様))
問い合わせ要求を組み立て、相手に送信し、応答を待つ、
応答が得られない場合は要求を再送信するだけ
 ・リゾルバの再帰的な(recursive)問い合わせ
ローカルネームサーバは参照先をリゾルバに返すだけではダメと知る。
 ・リゾルバの反復的な(interative)問い合わせ、(非再帰的(non-recursive)問い合わせ)
要求されたデータがない場合、
知ってる中で最も近いネームサーバのドメイン名とアドレスを返す。
 ・ドメイン名空間からの情報が必要なプログラムが使用する。
  (問い合わせへの応答に必要な処理のほとんどはネームサーバが行う。)
 ・リゾルバが行う操作
ネームサーバへの問い合わせ
応答の解釈
要求側プログラムへの情報の転送
 ・動作の設定「/etc/resolv.conf」
デフォルトドメイン
探索リスト
問い合わせ先となるネームサーバ

 ドメインネームサーバ
 ・ ドメイン名空間 に関する情報を扱うプログラム
 ・ゾーン(ドメイン名空間の一部)についての完全な情報を格納する。
 ・ネームサーバの種類(DNSの仕様)
プライマリマスタ
セカンダリマスタ

 ドメイン名空間
 ・ノード(DNSの木構造の各節点)
木構造の深さは最大127レベル
各ノードにはドットの付かない最長63文字のラベルをつけられる。
(空のラベルはルートのために予約)
 ・各ドメイン名は、ドメイン名空間という大きな逆木構造内での自分の場所を表す。
ドメイン名は、そのドメインの一番上にあるノードのドメイン名と同じ
ドメイン名はDNSデータベースのホスト情報を整理するための索引
ドメインにはサブドメインやホストが格納される。
 ・完全に限定されたドメイン名(FQDN)
ルートに対して相対的に指定されたドメイン名
ソフトウェアによっては、ドット(「.」)で終わっている。
 ・ドメインのホストは、地理的または組織的な要素によって関連付けられる。
異なる国の異なるネットワークに属していても、それらを一つのドメインに纏めれる。
 ・トップレベルドメイン
ジェネリックトップレベルドメイン(gTLD)

 アドレスから名前へのマッピング
 ・アドレスをラベルとして使用する別の空間を作る
 ・「in-addr.arpa」ドメインで、アドレスを名前としてデータを整理