タイトル大津真=XはUNIXでサーバで》BIND 9.2の補足説明カテゴリーネットワーク管理, ネットワーク, 大津真=XはUNIXでサーバで
作成日2001/12/25 10:24:44作成者新居雅行
前回、BIND9.2がOS Xに簡単にインストールできることを説明しましたが、コントロールコマンドについて補足しておきます。
BIND9系では、BIND8のndcコマンドの代わりとして、rndc(Remoto Name Daemon Control)が用意されています。rndcはその名前が示す通り、ndcを拡張しリモートからnamedをコントロールできるようにしたものです。ただし、BIND9.2ではまだnamedをスタートする機能はインプリメントされていません。つまり、

rndc start

でnamedを起動することはできません。
そのため、BINDの起動スクリプト(/Library/StartupItems/BIND/BIND)では次のようにしてnamedを直接実行する必要があります。

◇リスト:/Library/StartupItems/BIND/BIND

#!/bin/sh
##
# Start DNS server (BIND/named)
##d

. /etc/rc.common

if [ "${BIND:=-NO-}" = "-YES-" ]; then
ConsoleMessage "Starting domain name server"
/usr/local/sbin/named
fi

‥‥‥rndcを使うために
rndcでは、セキュリティを確保するために、/etc/rndc.confと、/etc/named.confに共通のキーを書き込んでおく必要があります(/etc/rndc.keyファイルを用意するという方法もあります)。rndcの設定ファイルである/etc/rndc.confはBIND9.2に含まれるrndc-confgenコマンドを使うと簡単に作成できます。

# sudo rndc-confgen > /etc/rndc.conf <return>
entropy.c:279: fcntl(3, F_SETFL, 4): Operation not supported by device
You must use the keyboard to create entropy, since your system is lacking
/dev/random (or equivalent)

start typing:
............................... ←ランダムな文字をタイプ
...........................
...........................
...........................
...........................
...........................
...........................
...........................
stop typing.

次にできあがったrndc.confファイルの例を示します。

◇リスト rndc.conf

# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "ledcsSGgkD86kWH2Nu4s0w==";
};

options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "ledcsSGgkD86kWH2Nu4s0w==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf

デフォルトの設定では127.0.0.1、つまり自ホストからのアクセスのみを許可しています。また、作成されたrndc.confの後半部分は、named.confの設定がコメントになっていますので、/etc/named.confの最初にコピー&ペーストして先頭の「#」を削除してください。

◇リスト:named.confの変更点

key "rndc-key" {
algorithm hmac-md5;
secret "3C13CWxYwhrg8o0w/JwEqw==";

};

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};

options {
directory "/var/named";
};
〈以下省略〉

以上でnamedを再起動すれば、rndcコマンドが使用できるようになります。たとえばゾーンファイルを再読込するにはreloadコマンドを使用します。

# rndc reload <return>

[大津真]
関連リンク大津真Web Site