How to build Internet Server with Solaris 2.6

last update: 29 Sep 2004

home |index |contents |next |previous

bind-8.1.2



代表的なDNSであるbindのバージョン8.1.2をインストールします。
注意1: bind-8.1.2をコンパイルするには、gcc-2.8.1以上が必要です。それ未満のバージョンのgccではコンパイル時にエラーが発生し、namedを作ることが出来ません。 これは古いバージョンのgccのBUGが原因です。

注意2: bindの古いバージョンにはセキュリティホールが見つかっています(CERTの勧告:CA-98.05.bind_problems)。 必ずbind-8.1.2以上のバージョンをインストールして下さい。
このセキュリティホールは、外部からの侵入者にroot権限を与えてしまうなど、非常に危険なものです。

2.1 ソフトの入手
"bind-8.1.2"を入手します。例えば以下のサイトから入手できます:
ftp://ftp.isc.org/isc/bind/src/8.1.1/bind-src.tar.gz
ftp://ftp.kyoto.wide.ad.jp/pub/bind/8.1.2/bind-8.1.2-src.tar.gz

2.2 インストール
bind-8.1.2.tgzは作業を行なっているディレクトリにファイルを展開してしまうので、 予めbind用のディレクトリを作っておきます。 ここでは新たにディレクトリ$Work/bindを作ります。 作業ディレクトリ$Workは任意のディレクトリです。
次にファイルを展開し、ディレクトリ$Work/bind/srcに移動します。
    % mkdir $Work/bind

    % cd $Work/bind
    % gzip -cd bind-8.1.2.tar.gz | tar xvf -
    % cd $Work/bind/src

以下のコマンドを実行して、コンパイルとインストールを行ないます。
    % make clean
    % make depend
    % make
    % make install

2.3 コンフィギュレーション
bind-8.0から設定ファイルが従来の/etc/named.bootから/etc/named.confにかわり、 フォーマットも大きく変更されました。
そのため、bind-8.1.2にはnamed.bootからnamed.confを生成するフィルタソフト: $Work/bind/src/bin/named/named-bootconf.pl が用意されています。
適当な場所にコピーしておくと良いでしょう。例えば:

    % cp src/bin/named/named-bootconf.pl /usr/local/bin

使い方は以下の通りです。
    % named-bootconf.pl < /etc/named.boot > /etc/named.conf

bindの設定ファイルの詳細は参考サイト&参考文献を参照して下さい。

2.4 運用
boot時に起動できるようにディレクトリ/etc/rc2.d/以下に次のファイル"S98bind"をおきます。

#!/sbin/sh
#
# start-up and stop script for bind
# 
# Usage: S98bind {start|stop}
#

PATH=/usr/bin:/bin

case $1 in 
'start')
	if [ -f /usr/sbin/named ]; then
		/usr/sbin/named; 
		echo "named started.";
	fi	
'stop')
	pid=`/usr/bin/ps -eo pid,comm | /usr/bin/awk '{ if ($2 == "/usr/sbin/named") print $1 }'`
	if test "$pid"
	then
		kill $pid;
		echo "named stoped.";
	fi
*)
	echo "usage: /etc/rc2.d/S98bind {start|stop}"
esac

/etc/rc2.d/S98bind


注意: Solarisの起動ファイルは、大文字"S"に続いて番号とソフト名という形式になっており、 番号の若い順に起動を行ないます。
"sendmail"と"squid"の起動時に、すでに"bind"が起動していなければなりませんので、 "bind"の起動スクリプトの"S"に続く番号は必ず"sendmail"と"squid"の起動スクリプトの番号よりも 若い番号にして下さい。

2.5 参考文献


home |index |contents |next |previous