|
DNSには重要なファイルが3つあります。
1 name.root
2 name.conf (BIND8) & name.boot (BIND4)
3 localhostのゾーンテーブル
name.rootの中をみるとわかるように ルートDNS情報が記されています。このファイルは定期的に更新されるそうです。つまりリゾルバからの問い合わせに必要なものです。自分の管理するゾーンには関係ないでしょう。(それは自分のゾーンテーブルを知っているは自分のDNSサーバーだけなのですから)
では hoge.com のhoge-zoneについて考えていきます。
hoge-zoneのテーブルを持っているネームサーバーは誰なのでしょうか?それは
一つ上のゾーンを管理しているネームサーバーが知っています(注意:com-zoneを持つネームサーバーはルートDNSではありません。ルートDNSは「.-zone」のテーブルを持っているネームサーバーの事です)。と、言うことはhoge-zoneテーブルを持つネームサーバーを一つ上に教えておかなくてはいけません。その手続きは各自でおこなっておく必要があります。
ここでの登録済みネームサーバーは 定番のns.hoge.comとします。
以下がその時のhoge-zoneテーブル情報を持つnamed.confの設定です。
逆マッピング zone "11.10.201.in-addr.arpa" in は201.10.11.* の逆マッピングのゾーンテーブルですがネットワークアドレスが201.10.11.10など限られた範囲の場合 10h.を付けて下さい。つまり
zone "10h.11.10.201.in-addr.arpa" in のようになります。
|
options {
directory "/var/named"; ゾーンテーブルの保存先
};
zone "0.0.127.in-addr.arpa" in { ローカルの逆マッピング (BIND4なら.revという使い方をします)
type master;
file "db.local"; 127.0.0.のテーブルファイル名
};
zone "." in { ルートDNSの情報定義
type hint;
file "named.root";
};
zone "hoge.com" in { hogeゾーンのテーブルファイルの定義
type master;
file "hoge.com.zone";
};
zone "11.10.201.in-addr.arpa" in { hogeゾーンの逆マッピング
type master;
file "11.10.201.in-addr.arpa.zone";
};
|
named.rootは元のBINDに付属しているものを使うのが良いでしょう。なければ他のサイトから持ってきて下さい。
named.rootはrootDNSサーバーの情報がしるされているだけです。リゾルバはこれを使って.-zoneに問い合わせに行きます.
|
db.localはlocal情報を持っています。利用するかしないかに関係なく絶対に必要なファイルですので作成してください。
@ IN SOA localhost. postmaster.localhost
(
1 ; Serial Number
10800 ; Refresh after 3 hour
3600 ; Retry after 1 hour
604800 ; TTL
86400 ) ; Minimum TTL of 1 day
@ IN NS localhost.
1 IN PTR localhost.
|
|
11.10.201.in-addr.arpa.zone
の設定です。
@ IN SOA ns.hoge.com.
admin.hoge.com (
1 ; Serial Number
10800 ; Refresh after 3 hour
3600 ;Retry after 1 hour
604800 ; TTL 86400 ) ; Minimum TTL of 1 day
IN NS ns.hoge.com.
230 IN PTR ns.hoge.com.
228 IN PTR penguin.hoge.com.
|
|
hoge.com.zoneの設定が最大のポイントになります。
@ IN SOA ns.hoge.com. admin.hoge.com
(
1 ; Serial Number
1080 ; Refresh after 3 hour
360 ; Retry after 1 hour
6048 ; TTL
864 ) ; Minimum TTL of 1 day
@ IN NS ns.hoge.com.
IN MX 10 coara
ns IN A 210.10.11.230
coara IN A 210.10.11.230
penguin IN A 210.10.11.228
warp IN A 210.13.90.54
www IN CNAME warp
|
以上で BINDの設定は完了です。ここで
hoge.com.zoneの記述で注意しなければならないところをまとめてみました。
@ IN NS ns.hoge.com.
IN MX 10 coara
@は起点をあらわします。
2行めにホスト名がなくMXレコードを記述しているのは 前の行の追記をあらわしています。つまり
ns IN A 210.10.11.230
ns IN CNAME 210.10.11.230
ns IN MX 210.10.11.230
と書く必要はなく
ns IN A 210.10.11.230
IN CNAME 210.10.11.230
IN MX 210.10.11.230
といった省略が可能です。
設定がおわるとBINDを再起動してください。そして今後、BINDの設定ファイルを変更するたびに、必ずnamedを再起動してください。
# pkill -HUP in.named
|