□bind
参考URL:
http://www.isc.org/products/BIND/
DNSはプロバイダーの命です。(^^;
とかいいつつ、BIND8なんていまだ使っているの自体がダメダメ?
(まぁ tinyDNS とかも使ってますけど)
tar xvzf package/bind-9.6.0.tar.gz
cd bind-9.6.0/
./configure \
–prefix=/usr \
–with-openssl \
–disable-ipv6
make
make test
make install
本当なら「–enable-threads」も付けたいところだが、Linuxのthreadは
信用が置けないのでつけたら「-u username」での起動は出来ない、と
いうことなので、とりあえず無しでつくる。
でもBINDはセキュリティホールになりやすいので、せめてroot以外の権限で
動作させるのが望ましい。Plamo-4.x の場合には /etc/rc.d/rc.inet2 にて
> # bind
> #BINDDIR=/var/named
> #NCPU=`grep ‘^processor’ /proc/cpuinfo | wc -l`
> #SERV=”$SERV named:-c:$BINDDIR/named.conf:-t:$BINDDIR:-u:named:-n:$NCPU”
としてコメントアウトされているけど、これがバグだらけなので
> # bind
> BINDDIR=/var/named
> NCPU=`grep ‘^processor’ /proc/cpuinfo | wc -l | sed s/\ //g`
> #SERV=”$SERV named:-c:$BINDDIR/named.conf:-t:$BINDDIR:-u:named:-n:$NCPU”
> SERV=”$SERV /usr/sbin/named:-c:/etc/named.conf:-u:named:-n:$NCPU”
と言うように修正。
・ -n の後ろにスペースがありすぎるとエラーになる
・ -t はいらない。(named.conf の option で記述しているから)
さらに! /etc/passwd に named というユーザーはいないので追加すること!!
今まで見たいに daemon にした方がいいかもね。これならいるのに。
ただなんにしても、root以外で動かすと、/var/run にPIDが書けないので
mkdir /var/run/named/
chown -R named.named /var/run/named/
として、さらに /etc/named.conf のオプションとして
> options {
>???????? directory “/var/named”;
>???????? pid-file “/var/run/named/named.pid”;
というように、PIDファイルの出力先を指定しておくこと。
さらに新しいバージョンでは、/etc/named.conf の option に
>??????? allow-query { any; };
を追加してあげないと、他のセグメントからのDNS問い合わせを
すべて弾いてしまうので注意。
具体的な設定方法については、WEBに転がっている情報もいいですが
できればBINDの解説書を一度は読んでおいた方がいいと思います。
さて、これだけでは終わりません。
BIND8では /usr/sbin/ndc でリロードとかしていましたが、これが
/usr/sbin/rndc に変更になり、さらに設定ファイルなどが必要になりました。
とりあえず設定ファイルを生成するには、
/usr/sbin/rndc-confgen -a
とします。すると /usr/etc/rndc.key が生成されます。
これの中身を見てみると
> key “rndc-key” {
>???????? algorithm hmac-md5;
>???????? secret “Dkd/bnbSyQ3mib+cWvDsUg==”;
> };
と言うようになっていますが、””で囲まれた「rndc-key」というのが
鍵の名前です。で、これを元にして
/etc/named.conf に
> controls {
>?? inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
> };
という項目を追加すればOK。
後は
/usr/sbin/named -c /etc/named.conf -u named
とすれば起動しますし、
/usr/sbin/rndc reload
とすれば再読み込みもしてくれます。