Linux Install Memo

サーバー管理者によるLinux関連ソフトのインストールメモ

Home » □bind

□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

とすれば再読み込みもしてくれます。

Name of author

Name: admin

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です