さて、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
これで自動起動可能になります。