カテゴリー : bind

BIND 9.7.0 のログ(DNS format error)を止める方法

BIND 9.7.0のログ(DNS format error)を止める方法は、以下の通り。

named.confに、以下の内容を追加する

logging {
        category resolver { null; };
};

環境:
BIND9.7.0-P2
CentOS5.5 (i386)
Solaris10 10/09 (x86)

Solaris 10 の BIND 9 に chroot を導入する方法

Solaris 10のBIND 9にchrootを導入する方法は以下の通り。

1. chrootのためのディレクトリを作成する。以下のディレクトリを現在のディレクトリ構成とする。

/var/named/data
/var/named/zone
/var/named/run
# mkdir -p /var/named/chroot/var/named/data
# mkdir /var/named/chroot/var/named/zone
# mkdir /var/named/chroot/var/named/run
# mkdir /var/named/chroot/var/log
# mkdir /var/named/chroot/dev
# mkdir /var/named/chroot/etc

2. null、random、pollの情報を確認する

# file /dev/null
/dev/null:      文字型デバイス 特殊ファイル (13/2)
# file /dev/random
/dev/random:    文字型デバイス 特殊ファイル (149/0)
# file /dev/poll
/dev/poll:      文字型デバイス 特殊ファイル (135/0)

3. 確認した情報を参考に、null、random、pollを作成する

# cd /var/named/chroot/dev
# mknod null c 13 2
# mknod random c 149 0
# mknod poll c 135 0

4. 作成したディレクトリやファイルの所有者を変更する

# chown -R named:named /var/named/chroot

5. 起動パラメータを変更する

# svccfg -s dns/server:default setprop 
start/exec = "/usr/local/sbin/named -u named 
-c /etc/named.conf -t /var/named/chroot"

6. 既存の設定ファイルをchroot環境へ移行する

# mv /etc/named.conf /var/named/chroot/etc/named.conf
# mv /etc/rndc.key /var/named/chroot/etc/rndc.key
# mv /var/named/data/* /var/named/chroot/var/named/data/
# mv /var/named/zone/* /var/named/chroot/var/named/zone/

7. シンボリックリンクを作成する

# ln -s /var/named/chroot/etc/named.conf /etc/named.conf
# ln -s /var/named/chroot/etc/rndc.key /etc/rndc.key
# cd /var/named/data/
# find /var/named/chroot/var/named/data/ -type f -exec ln -s {} ;
# cd /var/named/zone/
# find /var/named/chroot/var/named/zone/ -type f -exec ln -s {} ;

8. BINDを再起動する

# svcadm disable dns/server
# svcadm refresh dns/server
# svcadm enable dns/server

環境:
Solaris 10 10/9
BIND 9.7.0-P2

##### 参考 #####

手順5で起動パラメータを変更したが、ここを変更するのではなく
chroot_dirを変更する方法もある。

# svccfg -s dns/server:default setprop 
options/chroot_dir = /var/named/chroot

手順8でうまく再起動しない場合は、以下のログが参考になる。
/var/adm/messages
/var/svc/log/network-dns-server:default.log

BIND 9 を SMF から管理する方法

BIND9をSMFから管理する方法は以下の通り。

1. svccfgコマンドから、現在のプロパティを確認する

# svccfg -s dns/server:default listprop

2. 起動するユーザ・グループを変更する

# svccfg -s dns/server:default setprop start/user = <ユーザ名>
# svccfg -s dns/server:default setprop start/group = <グループ名>
(例)
# svccfg -s dns/server:default setprop start/user = named
# svccfg -s dns/server:default setprop start/group = named

3. 起動の際に読み込むコンフィグを指定する

# svccfg -s dns/server:default setprop 
options/configuration_file = <ファイル名>
(例)
# svccfg -s dns/server:default setprop 
options/configuration_file = /etc/named.conf

4. 起動パラメータを指定する

# svccfg -s dns/server:default setprop 
start/exec = <起動パラメータ>
(例)
# svccfg -s dns/server:default setprop 
start/exec = "/usr/local/sbin/named -u named -c /etc/named.conf"

5. 作業ディレクトリを変更する

# svccfg -s dns/server:default setprop 
start/working_directory = <ディレクトリ名>
(例)
# svccfg -s dns/server:default setprop 
start/working_directory = /var/named

6. BINDを起動する

# svcadm disable dns/server
# svcadm refresh dns/server
# svcadm enable dns/server

環境:
Solaris 10 10/9
BIND 9.7.0-P2

##### 参考 #####

手順4で起動パラメータを指定したが、ここを変更するのではなく
/lib/svc/method/dns-server を変更する方法もある。
起動スクリプトが書かれているので、必要に応じて変更すればよい。
server=”/usr/sbin/named” → server=”/usr/local/sbin/named” etc…

手順6でうまく起動しない場合は、以下のログが参考になる。
/var/adm/messages
/var/svc/log/network-dns-server:default.log

Solaris 10 に BIND 9 をインストールする方法

Solaris 10にBIND 9をインストールする方法は以下の通り。

1. 環境変数PATHを設定する
/etc/profileに以下の行を追加する

PATH=${PATH}:/usr/sfw/bin:/usr/sfw/sbin:/usr/ccs/bin
export PATH

2. su実行時のSUPATHを設定する
/etc/default/suに以下の行を追加する

SUPATH=/usr/sbin:/usr/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/local/bin:/usr/local/sbin

3. BIND用ユーザを作成する

# groupadd <グループ名>
# useradd -s /bin/true -d /dev/null -g <グループ名> <ユーザ名>
(例)
# groupadd named
# useradd -s /bin/true -d /dev/null -g named named

4. 一般ユーザでログインする

5. BINDをダウンロードする

$ wget <URL>
(例)
$ wget http://ftp.isc.org/isc/bind9/9.7.0-P2/bind-9.7.0-P2.tar.gz

6. BINDを展開する

$ gunzip -c <ファイル名> | tar xvf -
(例)
$ gunzip -c bind-9.7.0-P2.tar.gz | tar xvf -

7. BINDをconfigureする

$ cd <ディレクトリ名>
$ ./configure <configureオプション>
(例)
$ cd bind-9.7.0-P2
$ ./configure --with-openssl --disable-ipv6 \
  --disable-openssl-version-check

8. BINDのインストール

$ gmake
$ su
# gmake install

環境:
Solaris 10 10/9
BIND 9.7.0-P2

##### 参考 #####

su → gmake install のところは、以下のコマンドに置き換えてもよい。

$ pfexec gmake install

pfexecで作業をする前に、作業用アカウントに”Primary Administrator”プロファイルを
与えておく必要がある。

# usermod -P "Primary Administrator" <ユーザ名>

Primary Administratorを割り当てたユーザがログインしていた場合は、再ログインする必要がある。
コマンド実行時にも、以下のメッセージが表示される。

UX: usermod: <ユーザ名> is currently logged in,
 some changes may not take effect until next login.

Primary Administratorを割り当てた状態は、次のコマンドで確認できる。

# profiles -l <ユーザ名>
TOP

INFORMATION

当サイトは備忘録であり、その内容を保証するものではありません。 当サイトまたはリンク先によるいかなるトラブルや損害に関しても、一切の責任を負いかねます。 当サイトの内容を無断で転用したり、転載する等の行為はおやめください。