Last Update 2002/08/16
Create 2002/02/05
六ちゃん masaharu@mutsuyoshi.net
PXB11405@nifty.ne.jp
(2002/08/14) お盆前(08/14)に、bind-9.2.2rc1 がリリースされました。さっそくコンパイルインストール。
open-ssl のバージョンが、0.9.6e以上のものが必要になってます。
(2002/05/09) 連休中に、bind-9.2.1 がリリースされました。さっそくコンパイルインストール。
(2002/03/28) bind-9.2.0 になってから、rndc に関する記述を行わないと、notice や warning がsyslogに吐かれます。rndcの設定に関する記述を追加しました。
ISC-BIND ( http://www.isc.org/products/BIND/ ) か、そのミラーサイトからとってきます。
執筆時点(2002/05/09)の最新版は、bind-9.2.1.tar.gz です。
執筆時点(2001/10/18)の最新版は、bind-9.1.3.tar.gz です。chroot した場合を考慮したディレクトリ構成をとるため、--prefix=/usr/local/bind --sysconfdir=/etc/named --localstatedir=/var/named を付加する。また、bind9 からSSLに対応したということなので、--with-openssl=/usr/local/ssl もつけてみた(家庭内DNSには不要だろうけど・・・)。
% tar xvzfp bind-9.2.1.tar.gz
% cd bind-9.2.1
% ./configure --prefix=/usr/local/bind \
--sysconfdir=/etc/named \
--localstatedir=/var/named \
--with-openssl=/usr/local/ssl
% make
% make testtestで問題が出なければ、make install する。
# make install
いつものように根性なく、admintool を用いて作成。gid/uid は、ポート番号と同じ、53 を指定しておいた。(このへんの設定は好き好きですね。)
chroot しなくても設定ファイルが見え起動するようリンクを張っておく。
# cd /etc
# ln -s /usr/local/bind/etc/named named# cd /var
# ln -s /usr/local/bind/var/named namednslookup などのツール類を PATH が通ったディレクトリにリンクを張っておく。
付属の nslookup コマンドは、今後は、dig か host コマンドを使えとメッセージがでてくる。# cd /usr/local/bin
# ln -s /usr/local/bind/bin/dig dig
# ln -s /usr/local/bind/bin/host host
# ln -s /usr/local/bind/bin/nslookup nslookup
# ln -s /usr/local/bind/bin/nsupdate nsupdate
ブート時に起動するよう、起動スクリプト( /etc/rc2.d/S72inetsvc )を変更します。ポリシーとして、なるべく元の状態が残る設定を心がけたため、このような形にしています。システムのデフォルトでリンクが張られているため、/etc/rc0.d/K42inetsvc もS72inetsvc と同期して変更されます。
起動時は、namedプロセスの所有者を bind とし、ルートディレクトリを、/usr/local/bind とするという意味です。 chroot は、namedプロセスが万一悪意のある第3者に奪取された場合、被害が chroot 設定したディレクトリ以下でで済むようにするためのものです。(家庭内LANのDNSとしては、心配しすぎだし、他にも多数の穴があるはずです。)
/etc/rc2.d/S72inetsvc
----
'stop')
/usr/bin/pkill -x -u 0 'in.named|inetd'
/usr/bin/pkill -x -U bind named (追加)(中略)
'start'
(中略)
#if [ -f /usr/sbin/in.named -a -f /etc/named.conf ]; then
# echo 'starting internet domain name server.'
# /usr/sbin/in.named &
#fi
if [ -f /usr/local/bind/sbin/named -a -f /usr/local/bind/etc/named/named.conf ]; then
echo 'starting internet domain name server BIND9.'
/usr/local/bind/sbin/named -u bind -t /usr/local/bind &
fi
別項に記します。
既に動いている設定あるなら大切に保管しておきます。DNSが動かないと、いろいろ困ったことが発生します。
rndc.key
sbin ディレクトリにある、rndc-confgen で /usr/local/bind/c/named/rndc.conf
# rndc-confgen -a
ファイルのオーナーの変更も忘れずに行います。
# chown bind rndc.conf
共通鍵を作成します
# ./dnssec-keygen -a HMAC-MD5 -b 512 -n HOST hogehoge
※最後の hogehoge は鍵を示す適当な名前で構いません。
# ls -l K*
-rw------- 1 root other 114 Jan 28 19:08 Khogehoge.+157+41729.key
-rw------- 1 root other 145 Jan 28 19:08 Khogehoge.+157+41729.private2つのファイルが作成されています。
この中に共通鍵の文字列が入っています。
rndc.conf を設定します
※テンプレートがソースディレクトリのbin/rndcの中に入っているのを使います。
# cp bind/bind-9.2.0/bin/rndc/rndc.conf /etc/rndc.conf
----
options {
default-server localhost;
default-key "hogehoge"; #dnssec-keygenの際に指定した名前
};
server 127.0.0.1{
key "hogehoge"; #dnssec-keygenの際に指定した名前
};
key "hogehoge" { #dnssec-keygenの際に指定した名前
algorithm hmac-md5;
secret "5wr2sd8fCeSeBYldNYmeup9hNLn5wr2sd8fCeSeBYldNYmeup9hNLnqSRsGoFQ
1iau7wjLr6Z0LeK/DPCoGK/1GCEmKw=="; ※生成されたキーを改行はなしで
};
named.conf に、次の記述を追加しておきます。
key "hogehoge" { #dnssec-keygenの際に指定した名前
algorithm hmac-md5;
secret "5wr2sd8fCeSeBYldNYmeup9hNLn5wr2sd8fCeSeBYldNYmeup9hNLnqSRsGoFQ
1iau7wjLr6Z0LeK/DPCoGK/1GCEmKw=="; ※生成されたキーを改行はなしで
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};
# /etc/rc2.d/S72inetsvc start
しても構わないのですが、S72inetsvc は、他にも様々なデーモンを起動しているため、warninng が多数でます。
また、/etc/rc0.d/K42inetsvc stop とすると、named だけでなく、inetd なども落ちてしまうため、リモートログインできないといった事態に陥ります。くれぐれも気をつけてください。
S72inetsvc から、カット&ペーストでし、
# /usr/local/bind/sbin/named -u bind -t /usr/local/bind
とするのがベターでしょう。
nslookup,host,dig コマンドを駆使してください。
Last Update 2002/08/16
Create 2001/10/18
六ちゃん masaharu@mutsuyoshi.net