さて、RedHat Linux 7.1J のインストールが終わると、デフォルトでDNS Serverである、bind 9.1.0がインストールされているはずです。
1.named.conf
BIND9では、named.confで様々な設定を行います。このnamed.confの書き方ひとつで実に様々な設定が可能になったようですが、ここでは単純かつ必要充分な設定にしてみます。named.conf は /etc においてあります。また、zoneファイルやcacheファイルは デフォルトでは /var/named に置いてあります。あとのbakファイルは自然と作られます(secondaryの場合)。
Secondary nameserver の場合
named.conf の一例です。Primary nameserverの場合は、FreeBSDの場合を参照してください。Linux でもヒントファイル名が違うくらいでほとんど同じです。
// generated by named-bootconf.pl
options {
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
key "key" {
algorithm hmac-md5;
secret "*******************************************";
};
zone "fujie.org" IN {
type slave;
file "bak/fujie.org.bak";
masters { 210.250.4.50;};
allow-transfer { any; };
allow-query { any; };
};
zone "4.250.210.in-addr.arpa" IN {
type slave;
file "bak/4.250.210.rev.bak";
masters { 210.250.4.50;};
allow-transfer { any; };
allow-query { any; };
};
zone "local.fujie.org" IN {
type slave;
file "bak/local.fujie.org.bak";
masters { 210.250.4.50;};
allow-transfer { 210.250.4.48/29;
192.168.1.0/24;
127.0.0.1;};
allow-query { 210.250.4.48/29;
192.168.1.0/24;
127.0.0.1;};
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
file "bak/1.168.192.rev.bak";
masters { 210.250.4.50;};
allow-transfer { 210.250.4.48/29;
192.168.1.0/24;
127.0.0.1;};
allow-query { 210.250.4.48/29;
192.168.1.0/24;
127.0.0.1;};
};
directory option は、named.ca や zone ファイルを置く場所です。Secondary なので、type は slave とします(primary なら master です)ファイル名は fujie.org.bak、4.250.210.rev.bak、local.fujie.org.bak、1.168.192.rev.bak としました。これはもちろん、Primary nameserver から送られてくる情報をもとに自動的に作られます。masters では、Primary とする nameserver の IP address を書き込みます。複数指定可能です。同じように、local用ファイルも記述してあります。これは、allow-query と allow-transfer で、localとprimary、そして local zone 以外からの問い合わせは拒否するように設定してあります。hintファイル(cacheファイル)は、カレントディレクトリ(".")、すなわち、/var/named に named.ca というファイル名で置くことを意味しています。zone ファイルの書き方は、ここを参照してください。
クラスC未満の場合(Global IP address が256個未満の場合)
この場合はゾーンファイルと named.conf の書き方が少し違ってきます。primary name server の場合のゾーンファイルの書き方はFreeBSDの場合を参照してください。下にクラスC未満の場合のsecondary name server における named.conf の例を挙げておきます。
// generated by named-bootconf.pl
options {
auth-nxdomain yes;
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};
//
// a caching only nameserver config
//
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
key "key" {
algorithm hmac-md5;
secret "**********************************************";
};
zone "fujie.org" {
type slave;
file "bak/fujie.org.bak";
masters { 210.250.4.50;};
allow-update { none; };
allow-transfer { any; };
allow-query { any; };
};
zone "4.250.210.in-addr.arpa" {
type slave;
file "bak/4.250.210.rev.bak";
masters { 210.250.4.50;};
allow-update { none; };
allow-transfer { any; };
allow-query { any; };
};
zone "48.4.250.210.in-addr.arpa" {
type slave;
file "bak/48.4.250.210.rev.bak";
masters { 210.250.4.50;};
allow-update { none; };
allow-transfer { any; };
allow-query { any; };
};
zone "local.fujie.org" {
type slave;
file "bak/local.fujie.org.bak";
masters { 210.250.4.50;};
allow-transfer { 210.250.4.48/29;
192.168.1.0/24;
127.0.0.1;};
allow-query { 210.250.4.48/29;
192.168.1.0/24;
127.0.0.1;};
};
zone "1.168.192.in-addr.arpa" {
type slave;
file "bak/1.168.192.rev.bak";
masters { 210.250.4.50;};
allow-transfer { 210.250.4.48/29;
192.168.1.0/24;
127.0.0.1;};
allow-query { 210.250.4.48/29;
192.168.1.0/24;
127.0.0.1;};
};
4.resolv.conf
/etc/resolv.conf を次のようにします。RedHat 7.1J では自動的に作成されています。
domain fujie.org nameserver 203.183.84.83
nameserver では自マシンの IP address を指定します。
次に自動起動できるようにします。ntsysvコマンドで、namedに*を付けて終わりです。
# ntsysv ----- (*)named
これで自動起動可能になります。