BIND9 †ソース、パッケージからのインストールでは、基本的にはバージョン:bind-9.6.1-P1 named.confの概要 zoneについては↓ optionsステートメント †main.confを見ると、先頭にoptions行があることが分かる。 例) options { directory "/var/lib/named"; pid-file "/var/run/named.pid"; dump-file "data/cache_dump.db"; statistics-file "data/named_stats.txt"; memstatistics-file "data/named_mem_stats.txt"; allow-transfer{ 192.168.0.1; 192.168.10.1; 10.10.10.1; }; version "none"; allow-recursion { TRUST; }; allow-query-cache { TRUST; }; } 記述のないものは基本的にすべてデフォルトの値が適応される(ポート番号など)。 最後の2行はアクセスリストの設定。 TIPS: pid-file dump-file statistics-file allow-recursion allow-query-cache allow-query-cache allow-recursion allow-query loggingステートメント †loggingステートメントを記述しておくことでネームサーバのログ出力をより広範に制御することができるようになる。 logging { channel queries-log { file "/var/log/named/queries.log" versions 3 size 10m; severity info; print-time yes; print-severity yes; print-category yes; }; channel "named-log" { file "/var/log/named/named.log" versions 5 size 2m; severity warning; }; category queries { queries-log; }; category default { named-log; }; }; TIPS: 詳細は以下のリンクにて。 ログローテート †ログの出力先の設定は出来るが、圧縮したり日付で管理するようなものはない(と思う)。 アクセスリストステートメント †options行の最後に許可(拒否)するネットワークを限定したい場合は、以下の様に記述する。 acl TRUST { 10.0.0.0/8; 192.168.0.0/24; 127.0.0.1; }; aclを使用することで、上記以外からのdnsクエリを拒否することが出来る。 controlsステートメント †ローカルホストからrndcを接続できるようにするために必要。 controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; keyステートメント †rndckeyとは、ローカルホスト又はリモートホストからのnamedデーモンのコマンドライン管理ができるようになる。 key "rndc-key" { algorithm hmac-md5; secret "xxxx"; }; rndckeyの作成方法 †# rndc-confgen -a -t /etc -b 512 -k rndc-key -a 鍵を生成し、/etc/rndc-keyに書き込む -b bits 暗号鍵の長さをビットで指定する。指定しない場合は128bitで生成される -k keyname 生成されるキーファイルの名前を指定することができる -t ディレクトリを指定する 実例 # mkdir /etc/named # rndc-confgen -a -t /etc/named.d -b 512 -k /etc/named/rndc-key wrote key file "/etc/rndc-key" rndc-confgen: unable to create "/etc/named/etc/rndc-key" エラーがでる。 # mkdir etc # rndc-confgen -a -t /etc/named.d -b 512 -k rndc-key rndc-keyの確認 †# ls -la /etc/rndc-key -rw------- 1 root root 141 Jan 27 15:43 /etc/rndc-key # ls -la /etc/named.d/etc/rndc-key -rw------- 1 root root 141 Jan 27 15:43 /etc/named.d/etc/rndc-key 出来上がった二つのキーはハードリンクされている様で、この場所固定(?)みたいなのでそのままで使用した。 # cat /etc/rndc-key key "rndc-key" { algorithm hmac-md5; secret "PR8Fot9mf5iLZinIcXmkY3FMzCeQ8Ii3zm7uz0yMNwXQgfvx7DWhv7Dkc91C+oUNSqeJqRlzmgZKPdDaO29p7Q=="; }; 当然ハードリンクされているので、中身は一緒。 # diff /etc/rndc-key /etc/named.d/etc/rndc-key # named.confへの記述は 0named.conf0 controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; include "/etc/named.d/etc/rndc-key"; //chroot先に出来上がったキーを指定。 TIPS: chrootについて †現在動いているnamedを確認し、chrootを使用しているか否かを確認する。 # プロセスを確認する。 # ps -ef | grep named chrootを使用した場合のパス # ls /var/named/chroot/etc/named.conf
/var/named/chroot/etc/named.conf # ls /var/named/chroot/var/named/localhost.zone
/var/named/chroot/var/named/localhost.zone secondaryサーバの設定 †secondaryサーバで実施することは基本的にnamed.confを修正することだけ。 named.confの編集(zone部分) †zone "hogehoge-japan.jp" in { file "slave/hogehoge-japan.jp"; type slave; masters { 10.10.10.1; }; }; スレーブサーバなので、typeはslave。 以上が出来上がったら、マスター同様、named.confのチェック。 # named-checkconf /etc/named.conf chroot環境であれば、 # named-checkconf -t /var/named/chroot /etc/named.conf その他 †http://vori-misc.blogspot.com/2008/02/bind9-from-bind941-p1.html 2011-01-27 |