named (bind9) を設定する
-
/var/named/etc/named.conf
設定の中心となるファイルです。
options {
forward only;
forwarders { 202.224.32.1; 202.224.32.2; };
allow-query { 192.168.0.0/24; 127.0.0.1; };
listen-on { any; };
listen-on-v6 { none; };
version "";
};
/// Standard zones /////////////////////////////////////////////
zone "." {
type hint;
file "standard/root.hint";
};
zone "localhost" {
type master;
file "standard/localhost";
allow-transfer { localhost; };
};
zone "127.in-addr.arpa" {
type master;
file "standard/loopback";
allow-transfer { localhost; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {
type master;
file "standard/loopback6.arpa";
allow-transfer { localhost; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.int" {
type master;
file "standard/loopback6.int";
allow-transfer { localhost; };
};
/// Master zones ///////////////////////////////////////////////
zone "local" {
type master;
file "master/local";
allow-transfer { localhost; };
};
zone "0.168.192.in-addr.arpa" {
type master;
file "master/rev.192.168.0";
allow-transfer { localhost; };
};
options に forward-only を指定すると、
自分で直接管理しているゾーン以外は、自分自身で解決をしないで、
forwarders に指定されたDNSサーバに問い合わせを転送します。
forwarders にはプロバイダのDNSサーバを指定します。
Standard zones にはループバック関係の設定があり、変更する必要はありません。
Master zones に独自に管理するゾーンについての設定を指定します。
各ゾーンの情報はここで指定されたファイルに設定することになります。
-
/var/named/master/local
ローカルドメイン(ここでは、"local")の正引きの情報を指定します。
$TTL 86400 ; TTL (24H)
@ IN SOA ns.local. root.ns.local. (
2002113000 ; Serial (YYYYMMDDNN)
43200 ; Refresh (12H)
3600 ; Retry (1H)
3600000 ; Expire (1000H)
86400 ) ; Min TTL (24H)
IN NS ns
router IN A 192.168.0.1
ns IN A 192.168.0.101
hostname1 IN A 192.168.0.101
hostname2 IN A 192.168.0.102
hostname3 IN A 192.168.0.103
hostname1 でDNSサーバを動かしているという想定の設定例です。
-
/var/named/master/rev.192.168.0
192.168.0.XX の逆引きの情報を指定します。
$TTL 86400 ; TTL (24H)
@ IN SOA ns.local. root.ns.local. (
2002113000 ; Serial (YYYYMMDDNN)
43200 ; Refresh (12H)
3600 ; Retry (1H)
3600000 ; Expire (1000H)
86400 ) ; Min TTL (24H)
IN NS ns.local.
1 IN PTR router.local.
101 IN PTR hostname1.local.
102 IN PTR hostname2.local.
103 IN PTR hostname3.local.
-
/etc/rc.conf を編集して起動の設定をします。
named_flags の設定値を NO から "" に変更します。
named_flags="" # for normal use: ""
-
/etc/resolv.conf を編集して参照の設定をします。
以下のように設定します。
domain local
nameserver 192.168.0.101
-
named を起動するために、OSをリブートします。
OSをリブートしなくても named を単独で起動することは可能ですが、
syslogd との関係で少し複雑になります。
OSをリブートしたくない場合には /etc/rc を参考にして起動してください。
-
dig を使って動作確認をします。
% dig hostname1.local
; <<>> DiG 9.2.2 <<>> hostname1.local
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTIONS SECTION:
;hostname1.local. IN A
;; ANSWERS SECTION:
hostname1.local. 86400 IN A 192.168.0.101
;; AUTHORITY SECTION:
local. 86400 IN NS ns.local.
;; ADDITIONAL SECTION:
ns.local. 86400 IN A 192.168.0.101
;; Query time: 2 msec
;; SERVER: 192.168.0.101#53(192.168.0.101)
;; WHEN: Sat Jul 26 12:34:56 2003
;; MSG SIZE rcvd: 87
%