B I N D


DNSサーバを構築する基本のソフトウェアが、このBINDです。
このBINDも結構セキュリティホールが発見されるので、絶えず最新の情報を入手することが必要です。
BINDの本家 ISC(Internet Software Consortium) から最新情報・ソースを入手できます。

*お断り:このセクションは、当サイトの「BIND9の設定」を現在の自宅のネットワークに合わせてリニューアルしたものです。

・BIND−9.1.3のインストール

Red Hat Linux 7.1Jでは、BIND-9.1.0が採用されていますが、2001年7月には9.1.3が既にリリースされています。
先に書いたように、BINDはできるだけ新しいバージョンを使用したほうがセキュリティ面からも確かですので、ここではソースファイルからインストールして使う方法を説明します。
まず、インターネット等より入手したソースファイル「bind-9.1.3.tar.gz」を「/usr/local/src」ディレクトリにコピーします。
そして、この「/usr/local/src」のディレクトリに移動し、このソースファイルを解凍し、できたディレクトリ (/usr/local/src)/bind-9.1.3に移動します。

# cd /usr/local/src
# tar xvzf bind-9.1.3.tar.gz
# cd bind-9.1.3

そして、

# ./configure
# make
# make install

でBINDの本体であるnamedデーモンがインストールされます。

ただ、このインストールでは man pages がインストールされません。
そこで、(/source/bind-9.1.3/)doc/man 以下のディレクトリに作成された man pages を /usr/local/man/man1 〜 man8 のディレクトリにコピーします。
# cp doc/man/bin/*.1 /usr/local/man/man1
# cp doc/man/bin/*.5 /usr/local/man/man5
# cp doc/man/bin/*.8 /usr/local/man/man8
# cp doc/man/dnssec/* /usr/local/man/man8
# cp doc/man/lwress/* /usr/local/man/man3

ところで、このインストールによってnamedデーモンは、「/usr/local/sbin/」 のディレクトリにインストールされてしまいます。
そもそも、Red Hat Linux では、namedデーモンは「/usr/sbin/」のディレクトリにインストールされているので、このままでは新しいバージョンのnamedデーモンを稼動させることができません。
これを回避するには、「./configure」の時点で、「--prefix」オプションによりインストールするディレクトリを指定することができますが、私の場合は次のような方法をとりました。

# mv /usr/sbin/named /usr/sbin/named-9.1.0
# ln -s /usr/local/sbin/named /usr/sbin/named

さらに、このままではnamedデーモンを再起動させても、/var/log/messeages に次のメッセージを出してすぐに止まってしまいます。

named[573]: couldn't open pid file '/var/run/named.pid': Permission denied
named[573]: exiting (due to early fatal error)

というのは、「/etc/init.d/named」ファイルにnamedデーモンをユーザーnamedで起動させるようにオプションが指定されているのですが、namedデーモンのpidファイルであるnamed.pid を書き込む/var/run/ ディレクトリのオーナーおよびグループが「root」になっているためです。
本来ならば、setuid() によりこの問題はクリアーできるのですが、Red Hat Linux 7JからBIND9でsetuid()を呼び出すことができなくなっているようです。
そこで、当サイトでは、少々リスクがあるのですが、
  「/etc/init.d/namedファイルを修正し、namedデーモンを「root」で起動させる」
方法をとっています。(~_~;)
/etc/init.d/named の修正箇所は、下記の赤字部分です。
start() {
# Start daemons.
echo -n $"Starting $prog: "
if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
OPTIONS="${OPTIONS} -t ${ROOTDIR}"
fi
# daemon named -u named ${OPTIONS}
daemon named ${OPTIONS}
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
echo
return $RETVAL
}



・BIND9の各種設定ファイル

今回構築したネットワークのドメイン名、IPアドレス、ホスト名等は次のとおりです。
なお、我が家のネットワーク構成は、こちらを参照してください。

ホスト名 ドメイン名 区分 IPアドレス 備    考
ms1 e-ryoichi.net  インターネット   61.118.81.216 2001/08/29現在 
mbg gw.e-ryoichi.net  ローカルネット  192.168.0.1 ADSLルータ(MegaBit Gear TE4111C)
ms1 gw.e-ryoichi.net 同上 192.168.0.11 サーバ・マシン ( eth0 )
ms1  cl.e-ryoichi.net  同上 192.168.1.11 サーバ・マシン ( eth1 )
ms2 gw.e-ryoichi.net 同上 192.168.0.2 バックアップ・マシン( eth0 )
ms2 cl.e-ryoichi.net 同上 192.168.1.12 バックアップ・マシン( eth1 )
duron1 cl.e-ryoichi.net 同上 192.168.1.21 嫁さんPost-pet用マシン( eth0 )
duron1 ts.e-ryoichi.net 同上 192.168.101.21 Linux稼動時のみ( eth1 )
athlon1 cl.e-ryoichi.net 同上 192.168.1.22 私のメインマシン
fmv-499d3 cl.e-ryoichi.net 同上 192.168.1.31 ゲートウェイ・マシン( eth0 )
fmv-499d3 ts.e-ryoichi.net 同上 192.168.101.31 ゲートウェイ・マシン( eth1 )
wla-l11 cl.e-ryoichi.net 同上 192.168.1.101 無線LAN中継機
pc-pj1 cl.e-ryoichi.net 同上 192.168.1.103 母親専用機
fmv-433 ts.e-ryoichi.net 同上 192.168.101.32 ノートブックにLinuxをインストール
fmv-575d4 ts.e-ryoichi.net 同上 192.168.101.33 テスト用Winマシン

本来サーバーマシンは、ファイアーウォール用、wwwサーバー用、メールサーバー用等、目的に応じて分けるべきでしょう。
特に、セキュリティの面から、ファイアーウォール用のマシンにはその他のサーバー機能を持たせるべきではないでしょう。
しかし、ホームサーバーですので、電気代節約するために、すべての機能を1台のマシンでまかなっています。(~_~;)
それが、上記の表の青色で示しているところです。

このネットワークで、DNSサーバーを稼動させるために設定したファイルは次の9種類です。

ファイル名 設  定  内  容  等
/etc/named.conf namedデーモンの初期設定ファイル 起動時に読み込まれる
/var/named/named.root ヒント情報としてのゾーンデータベースを格納したマスターファイル
/var/named/127.0.0.db ループバック逆引きゾーン(0.0.127.in-addr.arpa)マスターファイル
/var/named/e-ryoichi.net.db e-ryoichi.net正引きゾーン(61.118.81.216)マスターファイル
/var/named/61.118.81.216.db e-ryoichi.net逆引きゾーン(216.81.118.in-addr.arpa)マスターファイル
/var/named/gw.e-ryoichi.net.db gw.e-ryoichi.netの正引きゾーン(192.168.0.0/24)マスターファイル
/var/named/192.168.0.db gw.e-ryoichi.netの逆引きゾーン(0.168.192.in-addr.arpa)マスターファイル
/var/named/cl.e-ryoichi.net.db cl.e-ryoichi.netの正引きゾーン(192.168.1.0/24)マスターファイル
/var/named/192.168.1.db cl.e-ryoichi.netの逆引きゾーン(1.168.192.in-addr.arpa)マスターファイル
/var/named/ts.e-ryoichi.net.db ts.e-ryoichi.netの正引きゾーン(192.168.101.0/24)マスターファイル
/var/named/192.168.101.db ts.e-ryoichi.netの逆引きゾーン(101.168.192.in-addr.arpa)マスターファイル




back HOME