2008年2月9日土曜日

DNSサーバーをchroot環境で運用

今までの/var/namedとは別の/var/namedを作成する。

# mv /var/named /var/named_old
# mkdir /var/named

/var/named以下にchroot環境を作成する。

# cd /var/named
# mkdir -p dev etc/named var/run/named var/log

必要なファイルをコピーする。
# cd /var/named/etc/
# cp /etc/named.conf .
# cp /etc/localtime .
# mv /etc/named.conf /etc/named.conf.old

ゾーンファイルもコピー。
# cd /var/named/var/named/
# cp /var/named_old/*.* /var/named/var/named/.

treeコマンドでこうなる。
/var/named# tree
.
|-- dev
|  |-- null
|  `-- random
|-- etc
|  |-- localtime
|  |-- named
|  |  |-- localhost.rev.bak
|  |  |-- localhost.zone.bak
|  |  `-- named.root
|  `-- named.conf
`-- var
  |-- log
  |  |-- named.log
  |  `-- security.log
  `-- run
     `-- named

/var/namedへのアクセスを制限するために、権限をnamedにする。
# cd /var/
# chown -R named.named named
# chmod 700 /var/named

dev/にデバイスアイルを作成。デバイスファイルはゴミ箱のようなもの。
# cd /var/named/dev/
# mknod null c 1 3
# mknod random c 1 8
# chmod 666 *

named.confは基本的に変更しない。pidファイルの位置だけ記入する。
pidファイルはDNSサーバが起動しているときだけ/var/named/var/run/namedに生成される。

pid-file "/var/run/named/named.pid"

起動コマンド
#/usr/local/sbin/named -u named -t /var/named
-uオプションでユーザーを指定。-tオプションでホームディレクトリを指定。

-tオプションが利いているため、named.confのpidファイルの位置は
/var/named/var/run/named/named.pid
と解釈される。


参考サイト
http://www.atmarkit.co.jp/flinux/rensai/bind909/bind909a.html

0 件のコメント: