rpmでBINDがインストールされているのが前提。したがって、インストールは省略する。ここでは、ローカルアドレスによるBIND8によるDNSの設定解説をする。
お断り:
BINDでのDNS構築を説明しているWebサイトは非常に多いので、ここでは実際の構築と言うより、コンフィグレーションファイルの記述の意味を中心に説明を行う。尚、BIND9に関する設定は ここ を参照してほしい。
ここで登場するドメイン名は、フィクションである。
● ドメインが2つ混在していて、ネットワークアドレスが192.168.255.0(255.255.255.0)の場合
ドメイン1:xxxx.co.jp
ドメイン2:ahodana.co.jp
ネームサーバ:sub2.xxxx.co.jp→IPアドレス:192.168.255.103(ローカルアドレス)
セカンダリネームサーバ:mitysvr.ahodana.co.jp→IPアドレス:192.168.255.1(ローカルアドレス)
1.named.confの設定
以下に、/etc/named.confの記述例を示す。
options {
directory “/var/named”;
};
zone “.” {
type hint;
file “named.ca”;
};
// localhost zone file
zone “localhost”{
type master;
file “named.local”;
};
// localhost revarse file
zone “0.0.127.in-addr.arpa”{
type master;
file “named.local.rev”;
};
// domain xxxx.co.jp zone file
zone “xxxx.co.jp”{
type master;
file “xxxx.co.jp.zone”;
};
// domain ahodana.co.jp zone file
zone “ahodana.co.jp”{
type master;
file “ahodana.co.jp.zone”;
};
// domain revarse file
zone “255.168.192.in-addr.arpa”{
type master;
file “named.rev”;
};
図1
① options
DNSサーバの全体のオプションを、{ }の中に記述する。この中には色々なオプションを記述できるが、図1の場合では、directoryオプションしかない。
② directory
DNSに関するデータファイルの置き場所を指定している。ここでは、/var/named directoryの中に各種ファイルを配置するように指定している。
③ zone
DNSでは、ゾーン(zone)と言う単位で情報の管理を行う。管理するドメインごとに、このzoneという識別子に続いて、ドメイン名を ” で囲って記述する。
尚、「.」 というゾーンや0.0.127.inaddr.arpaと言うゾーンは、DNSが動作する上で必要な記述である。おまじないだと思ってこの通りに設定する。
④ type
このゾーンについて、DNSサーバがプライマリサーバとして動作するか、セカンダリサーバとして動作するかを指定する。プライマリ/セカンダリサーバというのは、実はゾーン単位に設定する事が出来る。
プライマリサーバであれば、master、セカンダリであればslaveと記述する。尚、ゾーンは必ずhintになる。これも、おまじないだと思ってほしい。
⑤ file
このゾーンの設定ファイル(ゾーンファイルと呼ぶ)の場所を指定します。実際には、directoryで指定されたディレクトリ以下にファイルが置かれる。例えば、図1ではxxxx.co.jp.zoneは/var/namedに置かれる。
2.named.ca,named.local(ループバック正引きファイル)ファイルの設定
以下に、named.localファイルを示す。
; File Name “named.local” by xxxx.co.jp
@ IN SOA sub2.xxxx.co.jp. root.sub2.xxxx.co.jp.(
2000122102 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl
)
; Name Server
IN NS sub2.xxxx.co.jp. ←最後の「 . 」を必ず入れること!
loclhoat. IN A 127.0.0.1
図2
まず、内容は登場しないがnamed.caファイルについては、 サイト から最新のファイルをダウンロードする。変更が有るので最新のファイルを使用することが望ましい。ダウンロードしたファイルをそのまま使用して訂正する個所はない。
named.localは、ローカルホストの設定で図2のように作る。ほとんど手を加えるところはないので簡単である。
3.named.local.rev(ループバック逆引きファイル)ファイルの設定
; File Name “named.local.rev” by xxxx.co.jp
@ IN SOA sub2.xxxx.co.jp. root.sub2.xxxx.co.jp. (
2000122102 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl
)
; Name Server
IN NS sub2.xxxx.co.jp.
1 IN PTR localhost.
図3
図3は、ループバック正引きの反対の設定ファイルである。このファイルは省略できるが正当な設定を説明したいため、あえてファイルに加えてある。PTR等は、後に出てくる正引き・逆引きファイルで説明する。
4.xxxx.co.jp.zone(正引きファイル)ファイルの設定
ここからが、本書のポイントである。以下に、xxxx.co.jp.zoneファイルを示す。
; File Name “xxxx.co.jp.zone” by xxxx.co.jp
@ IN SOA sub2.xxxx.co.jp. root.sub2.xxxx.co.jp.
2000122102 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl
)
; Name Server & Mail Server
IN NS sub2.xxxx.co.jp.
IN NS mitysvr.ahodana.co.jp.
IN MX 10 sub2.xxxx.co.jp.
; Server PC
sub2 IN A 192.168.255.103
main2 IN A 192.168.255.110
; CLIENT PC
main IN A 192.168.255.100
sub IN A 192.168.255.101
note IN A 192.168.255.10
; alias CNAME
www IN CNAME sub2
www2 IN CNAME main2
ftp IN CNAME main2
telnet IN CNAME main2
mail IN CNAME sub2
smtp IN CNAME sub2
pop IN CNAME sub2
proxy IN CNAME sub2
図4
① SOAレコード
ファイルの先頭に記述され,このDNSサーバが保証するドメイン情報を記入する。SOAレコードの記述は一つのファイルに一つだけ記述が可能である。
zone-name : 図3では@で、これは“ここ”意味する記述であり、xxxx.co.jpのドメイン名を表す。
sub2.xxxx.co.jp. : DNSサーバ名。最後にピリオドを付加する。
root.sub2.xxxx.co.jp. : このドメインの管理者のメールアドレス、@を「.」に置き換えて記述する。最後にピリオドを付加する。
Serial : 連番の意味。普通は作成年月日・番号とする。この数字が変化しない場合には、セカンダリサーバがプライマリサーバは変更されていないものと認識するので注意が必要。
Refresh : セカンダリサーバが保持するゾーンデータの更新時間。頻繁に変更が有るドメインでは短めに設定する。秒単位。
RetryCount : セカンダリサーバがゾーンデータの更新に失敗した後で再度リフレッシュ作業にはいるまでの時間を記述する。秒単位。
Expire : ゾーンに対する権限を失うまでの時間。秒単位。
Defaul tt_ttl : デフォルトのTTL時間。資源レコードをキャッシュする場合の保持時間。秒単位。
② A(Address:アドレス)
ドメイン内のアドレス資源を記述する。ドメイン内のマシンのうち公開する物のみ列挙して記入する。
③ NS(Name Server:ネームサーバ)
ドメインが参照可能なネームサーバアドレスを記述する。通常は、プライマリ、セカンダリのDNSサーバを指定する。
④ MX(MAil Exchanger:メールエクスチェンジャ)
ドメイン内のメールサーバを指定する。さらに、受信メールサーバの重みづけを指定することが出来る。
⑤ CNAME(Canonical Name)
1つのマシンに複数の機能を持たせる場合などに別名を指定する。例えば、ドメインネームサーバとWebサーバを1台のマシンで実行するときなどに指定する。Webサーバはでメインネームサーバの別名でも良いのですが、ドメインネームサーバをWebサーバの別名にするという使い方は避けるべきである。
5.ahodana.co.jp.zoneファイルの設定(正引きファイル)
以下に、ファイルの内容を示す。
基本的に、ドメインの違いだけで記述内容は、xxxx.co.jp.zoneファイルの内容と同じである。
尚、くれぐれもピリオドを入れるのを忘れないこと。
; File Name “ahodana.co.jp.zone” by xxxx.co.jp
@ IN SOA sub2.xxxx.co.jp. root.sub2.xxxx.co.jp. (
2000122102 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl
)
; Name Server & Mail Server
IN NS sub2.xxxx.co.jp.
IN NS mitysvr.ahodana.co.jp.
IN MX 10 sub2.xxxx.co.jp.
; Server PC
mitysvr IN A 192.168.255.1
mity-comp IN A 192.168.255.105
; CNAME
file IN CNAME mitysvr
mity IN CNAME mity-comp
dns IN CNAME mitysvr
図5
6.named.revファイルの設定(逆引きファイル)
以下に、ファイルの内容を示す。
; File Name “named.rev” by xxxx.co.jp
@ IN SOA sub2.xxxx.co.jp. root.sub2.xxxx.co.jp. (
2000122102 ; serial
3600 ; refresh
3600 ; retry
3600000 ; expire
36000 ; default_ttl
)
; Subnet
IN A 255.255.255.0
; Name Server
IN NS sub2.xxxx.co.jp.
IN NS mitysvr.ahodana.co.jp.
; Server Group
103 IN PTR sub2.xxxx.co.jp.
1 IN PTR mitysvr.ahodana.co.jp.
110 IN PTR main2.xxxx.co.jp.
; Client Group
10 IN PTR note.xxxx.co.jp.
100 IN PTR main.xxxx.co.jp.
105 IN PTR mity-comp.ahodana.co.jp.
101 IN PTR sub.xxxx.co.jp.
図6
① $ORIGIN
文字列変数で、図5では255.168.192.in-addr.arpa.文字列を保存している。
nslookupコマンドを実行して、逆引きを検索する場合、“***.255.168.192.in-addr.arpa”が出力される。
② PTR(PointTeR)
逆引き用のポインタ記述を行う。今までの通常のネームアドレスの記述とは異なり、単語ごとに逆順に記述する。
7.resolv.confの設定
リゾルバでは、DNSを利用するときのドメインネームサーバを記述する。以下に、ファイル内容を示す。
search xxxx.co.jp ahodana.co.jp ←これはドメインが複数指定の場合、ドメインが一つの場合は、domain ******* の記述をすると良い。
nameserver 192.168.255.103 ←プライマリ
nameserver 192.168.255.1 ←セカンダリ
図7
8.セカンダリネームサーバの作成
セカンダリネームサーバ作成は超簡単である。まず、caching-name-serverのRPMをインストールしてnamed.confの最後に以下の記述をするだけである。内容は、プライマリネームサーバから自動的にキャッシングされるため何も編集する必要はない。fileサブステートメントで指定されているファイルの中身を見るとマスターサーバがどのような設定をしてるか解るはずである。
zone “xxxx.co.jp”{
type slave;
file “xxxx.co.jp.zone.bak”;
masters{
192.168.255.103;
};
};
zone “ahodana.co.jp”{
type slave;
file “ahodana.co.jp.zone.bak”;
masters{
192.168.255.103;
};
};
zone “255.168.192.in-addr.arpa”{
type slave;
file “named.rev.bak”;
masters{
192.168.255.103;
};
};
以上
コメント