内向き DNS サーバの設定
ここでは内向き DNS サーバの設定を行います。
マスターサーバとスレーブサーバで設定内容が違うので、自宅のネットワーク環境を確認した上でご参照ください。
マスターサーバの設定
DNS のゾーン情報は全てマスターサーバで設定します。
named.conf の設定
まずは named.conf の設定から行います。
rndc 関連の設定は既に済ませてあるものとして進めます。
# vi /etc/namedb/named.conf
acl localnet {
127.0.0.1;
192.168.1.0/24;
};
include "/etc/namedb/rndc.key";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on {
127.0.0.1;
192.168.1.100;
};
listen-on-v6 { none; };
allow-query { localnet; };
allow-transfer { localnet; };
allow-recursion { localnet; };
forwarders {
202.224.32.1;
202.224.32.2;
};
version "unknown";
};
zone "." {
type hint;
file "named.root";
};
zone "clx.ath.cx" {
type master;
file "master/clx.ath.cx";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "master/1.168.192.in-addr.arpa";
};
logging {
channel default_log {
file "/var/log/named.log" versions 7 size 10m;
severity info;
print-time yes;
print-category yes;
};
category default { default_log; };
};
正引きのゾーン設定
正引きのゾーン設定です。
# vi /etc/namedb/master/clx.ath.cx
$TTL 1D
@ IN SOA ns.clx.ath.cx. root.ns.clx.ath.cx. (
2007100101
3H
1H
1W
1D )
IN NS ns.clx.ath.cx.
IN MX 10 smtp.clx.ath.cx.
@ IN A 192.168.1.100
gw IN A 192.168.1.1
s1 IN A 192.168.1.100
s2 IN A 192.168.1.100
ns IN A 192.168.1.100
www IN A 192.168.1.100
smtp IN A 192.168.1.100
mail IN A 192.168.1.100
ftp IN A 192.168.1.100
ntp IN A 192.168.1.100
ldap IN A 192.168.1.100
svn IN A 192.168.1.100
cvs IN A 192.168.1.100
dev IN A 192.168.1.100
stat IN A 192.168.1.100
逆引きのゾーン設定
逆引きのゾーン設定です。
# vi /etc/namedb/master/1.168.192.in-addr.arpa
$TTL 1D
@ IN SOA ns.clx.ath.cx. root.ns.clx.ath.cx. (
2007100101
3H
1H
1W
1D )
IN NS ns.clx.ath.cx.
1 IN PTR gw.clx.ath.cx.
100 IN PTR s1.clx.ath.cx.
101 IN PTR s1.clx.ath.cx.
スレーブサーバの設定
マスターサーバからゾーン転送により、マスターサーバの複製を行う手法でスレーブサーバを構築します。
named.conf の設定
まずは named.conf の設定から行います。
rndc 関連の設定は既に済ませてあるものとして進めます。
# vi /etc/namedb/named.conf
acl localnet {
127.0.0.1;
192.168.1.0/24;
};
include "/etc/namedb/rndc.key";
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on {
127.0.0.1;
192.168.1.100;
};
listen-on-v6 { none; };
allow-query { localnet; };
allow-transfer { localnet; };
allow-recursion { localnet; };
forwarders {
202.224.32.1;
202.224.32.2;
};
version "unknown";
};
zone "." {
type hint;
file "named.root";
};
zone "clx.ath.cx" {
type slave;
masters {
192.168.1.100;
};
file "slave/clx.ath.cx";
};
zone "1.168.192.in-addr.arpa" {
type slave;
masters {
192.168.1.100;
};
file "slave/clx.ath.cx";
};
logging {
channel default_log {
file "/var/log/named.log" versions 7 size 10m;
severity info;
print-time yes;
print-category yes;
};
category default { default_log; };
};
設定ファイルの確認
設定ファイルに記述ミスがないかどうかチェックします。
# named-checkconf /etc/namedb/named.conf
# named-checkzone clx.ath.cx /etc/namedb/master/clx.ath.cx
zone clx.ath.cx/IN: loaded serial 2007101001
OK
# named-checkzone 1.168.192.in-addr.arpa /etc/namedb/master/1.168.192.in-addr.arpa
zone 1.168.192.in-addr.arpa/IN: loaded serial 2007100101
OK
再起動
問題がなければ再起動します。
# /etc/rc.d/named restart
動作確認
ちゃんと起動しているか、動作確認をします。
# cat /var/log/messages | grep named
Jun 27 07:20:48 server named[69213]: starting BIND 9.3.3 -t /var/named -u bind
Jun 27 07:20:48 server named[69213]: command channel listening on 127.0.0.1#953
Jun 27 07:20:48 server named[69213]: running
LISTEN しているかどうか確認します。
# netstat -a | grep .domain
tcp4 0 0 localhost.domain *.* LISTEN
tcp4 0 0 s1.domain *.* LISTEN
udp4 0 0 localhost.domain *.*
udp4 0 0 s1.domain *.*
# netstat -a | grep rndc
tcp4 0 0 s1.rndc *.* LISTEN
dig で DNS を引けるかどうか確認します。
# dig @127.0.0.1 -x 127.0.0.1
# dig @127.0.0.1 localhost
# dig @127.0.0.1 -x 192.168.1.100
# dig @127.0.0.1 s1.clx.ath.cx
# dig @127.0.0.1 yahoo.co.jp
# dig @127.0.0.1 google.co.jp
名前解決に BIND を使用する
全て問題なければ名前解決でBIND を使うように resolv.conf を書き換えます。
# vi /etc/resolv.conf
nameserver 127.0.0.1