named (bind4) を設定する
named (bind4)
をローカルドメイン管理用とキャッシュサーバとしてセットアップする手順を紹介します。
キャッシュサーバを運用することにより、
DNSの問い合わせで外部と通信する頻度を減らすことができ、
様々な処理のレスポンスを向上することができます。
このメモは OpenBSD 3.2版に基づいていますが、それ以前の各版に適用できると思われます。
bind9に移行した3.3版以降には適用できません。
-
/var/named/named.boot
設定の中心となるファイルです。
directory /namedb
options forward-only
forwarders 202.224.32.1 202.224.32.2
; type domain source host/file backup file
primary localhost localhost
primary 127.in-addr.arpa rev.127
primary local local
primary 0.168.192.in-addr.arpa rev.192.168.0
directory には他の設定ファイルやデータを置くディレクトリを指定します。
OpenBSD では /var/named に chroot して named を動かす関係で、
/var/named/namedb なら /namedb と指定します。
options に forward-only を指定すると、自分自身では問い合わせの解決をしないで、
forwarders に指定されたDNSサーバに問い合わせを転送するようになります。
forwarders にはプロバイダのDNSサーバを指定します。
こうすることにより、
プロバイダのDNSサーバが持つ多くのキャッシュ情報を利用することができ、
自分自身で解決するより高速に処理できると期待できます。
primary には独自に管理するゾーンについて指定します。
各ゾーンの情報はここで指定したファイルに設定することになります。
-
/var/named/namedb/localhost
localhost の正引きの情報を指定します。
@ IN SOA ns.local. root.ns.local. (
2002113000 ; Serial (YYYYMMDDNN)
43200 ; Refresh (12H)
3600 ; Retry (1H)
3600000 ; Expire (1000H)
86400 ) ; Default TTL (24H)
IN NS localhost.
IN A 127.0.0.1
-
/var/named/namedb/rev.127
127.XX.XX.XX の逆引きの情報を指定します。
@ IN SOA ns.local. root.ns.local. (
2002113000 ; Serial (YYYYMMDDNN)
43200 ; Refresh (12H)
3600 ; Retry (1H)
3600000 ; Expire (1000H)
86400 ) ; Default TTL (24H)
IN NS localhost.
1.0.0 IN PTR localhost.
-
/var/named/namedb/local
ローカルドメイン(ここでは、"local")の正引きの情報を指定します。
@ IN SOA ns.local. root.ns.local. (
2002113000 ; Serial (YYYYMMDDNN)
43200 ; Refresh (12H)
3600 ; Retry (1H)
3600000 ; Expire (1000H)
86400 ) ; Default 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/namedb/rev.192.168.0
192.168.0.XX の逆引きの情報を指定します。
@ IN SOA ns.local. root.ns.local. (
2002113000 ; Serial (YYYYMMDDNN)
43200 ; Refresh (12H)
3600 ; Retry (1H)
3600000 ; Expire (1000H)
86400 ) ; Default 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_user と named_chroot の設定値は変更の必要はありません。
named_flags="" # for normal use: ""
・・・
named_user=named # Named should not run as root unless necessary
named_chroot=/var/named # Where to chroot named if not empty
-
/etc/resolv.conf を編集して参照の設定をします。
以下のように設定します。
domain local
nameserver 192.168.0.101
-
named を起動するために、OSをリブートします。
OSをリブートしなくても named を単独で起動することは可能ですが、
syslogd との関係で少し複雑になります。
OSをリブートしたくない場合には /etc/rc を参考にして起動してください。
-
dig を使って動作確認をします。
% dig hostname1.local
; <<>> DiG 2.2 <<>> hostname1.local
;; res options: init recurs defnam dnsrch
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr aa rd ra; Ques: 1, Ans: 1, Auth: 1, Addit: 1
;; QUESTIONS:
;; hostname1.local, type = A, class = IN
;; ANSWERS:
hostname1.local. 86400 A 192.168.0.101
;; AUTHORITY RECORDS:
local. 86400 NS ns.local.
;; ADDITIONAL RECORDS:
ns.local. 86400 A 192.168.0.101
;; Total query time: 2 msec
;; FROM: taurus to SERVER: default -- 192.168.0.101
;; WHEN: Sat Nov 30 12:34:56 2002
;; MSG SIZE sent: 33 rcvd: 87
%