BIND chroot設定手順 Since: 2005.08.09
Last: 2005.08.09

■目次
環境情報
BINDインストール手順
環境設定
chroot設定


■環境情報
OS:RedhatLinux 8.0 (kernel 2.4.30)
ISC BIND:9.3.1 http://www.isc.org/



■BINDインストール手順
BINDをソースよりインストールする。

tar xfvz bind-9.3.1.tar.gz
cd bind-9.3.1
./configure
make
make install


■環境設定
BINDの設定を行なう。詳細は本稿の主旨からはずれるため省略。

groupadd -g 400 named
useradd -g named -u 400 named
mkdir /var/named
chown named.named /var/named

・namedbを/var/namedに展開
・named.confを/etcに配置

以上にて正常に稼動することを確認する


■chroot設定
BINDのルートを/var/chroot/named配下に変更し、システム全体へのアクセスを制限する。

□ ディレクトリ作成
mkdir /var/chroot/named
cd /var/chroot/named
mkdir -p dev etc var/run/named var/log var/named

□ 設定ファイルの移動
cd /var/chroot/named
cp /etc/named.conf ./etc/
cp /etc/localtime ./etc/
cp -rf /var/named/* ./var/named
chown -fR named.named ./var/named/*

□ 権限変更
chown -fR named.named /var/chroot/named
chmod 700 /var/chroot/named
chown root.root /var/chroot
chmod 755 /var/chroot

□ デバイスファイル作成
cd /var/chroot/named/dev
mknod null c 1 3
mknod random c 1 8
chmod 666 *

□ syslog設定
BINDはsyslogdへ対してログを出力するため、chrootの設定を行なうとsyslogへのアクセスが行なえなくなる。
最近のsyslogではこれに対応する術があるため、設定を追加してchrootしたBINDよりsyslogへ出力が可能にする。

Redhat Linuxでは/etc/sysconfig/syslogにてsyslogdへの起動時のパラメータを設定できる。
-a オプションの後にchroot先のディレクトリを指定する。

vi /etc/sysconfig/syslog

SYSLOGD_OPTIONS="-m 0 -a /var/chroot/named/dev/log"


syslogの再起動を実行。
再起動後に/var/chroot/named/dev/内にlogファイルが生成される。

□ 起動スクリプト設定
起動スクリプトのstart処理に -t [chroot dir]を指定する

start)
# Start daemons.
echo -n "Starting named: "
daemon /usr/local/sbin/named -u named -t /var/chroot/named -c /etc/named.conf
echo
touch /var/lock/subsys/named
;;

起動スクリプトを所定位置に配置

cd ../rc3.d/
ln -s ../init.d/named.chroot S80named
cd ../rc5.d/
ln -s ../init.d/named.chroot S80named


戻る