DNS(Domain Name System)とはネットワークにおける名前解決のためのシステムである。
具体的にはインターネットドメイン名(階層化された名前空間)とIPアドレスをマッピングする。
DNSの実装として標準的なものとしてBIND(Berkeley Internet Name Domain)がある。
BINDには4.Xと8.Xの2つのバージョンがあるが、
セキュリティが強化されているなどの理由で8.Xが使用されることが多い。
実際にネームサーバとして実行されるのは、UNIXではnamedというデーモンである。
ネームサーバの動作モードにはマスターサーバー・スレーブサーバー・キャッシュサーバーの3種類がある。
以下に出てくるゾーンとはネームサーバーが責任を持って名前解決を行う範囲(サブドメイン)のことである。
マスターサーバ・スレーブサーバーの返す答えは権威のある(Authoritative)応答、キャッシュサーバーの返す答えは権威のない(Non-authoritative)応答である。
なお、通信時にはネームサーバーは53番ポート、クライアント(nslookupなど)は1024番以降のポートを使用し、ゾーン転送時はTCP、検索時はUDPまたはTCPを使用する。
ネームサーバ(named 8.X)の設定ファイルはnamed.confである。
options {
directory "/etc/namedb";
};
zone "." {
type hint;
file "named.root";
};
zone "bbb.aaa.co.jp" {
type master;
file "bbb.db";
};
zone "aaa.co.jp" {
type slave;
master 192.168.10.1;
};
zone "." { ... };
ルートネームサーバ(. で表される)の登録。
type hint;
namedの動作モード。
file "named.root";
named.rootファイルにルートネームサーバの名前とIPアドレスが書いてある。
zone "bbb.aaa.co.jp" { ... };
ゾーンbbb.aaa.co.jpの設定。
type master;
動作モードはマスターサーバ。
file "bbb.db";
データベースファイルはbbb.db。
zone "aaa.co.jp" { ... };
ゾーンaaa.co.jpの設定。
type slave;
動作モードはスレーブサーバ。
master 192.168.10.1;
マスターサーバーのIPアドレス。
データベースファイルは以下の形式のテキストファイルである。
また、データベースファイル内のドメイン名はFQDN(Fully Qualified Domain Name - さいごに.がつく)である。
(名前) (クラス) (レコード種別) (パラメータ)
基本的なレコードは以下の通り。
@ IN SOA ns.bbb.aaa.co.jp. postmaster.aaa.co.jp. {
2000081101 ; シリアル番号
10800 ; リフレッシュ時間
3600 ; 再試行時間
604800 ; 最大有効時間
86400 ; 生存時間
}
IN NS ns.bbb.aaa.co.jp.
IN NS ns.aaa.co.jp.
ns IN A 192.1.1.1
mail IN A 192.1.1.2
www IN A 192.1.1.3
ftp IN CNAME www.bbb.aaa.co.jp.