BINDには、rndcというユーティリティコマンドが含まれています。 それを使用することで、ローカルホスト又はリモートホストからのnamed デーモンのコマンドライン管理ができるようになります。
他のシステムの権限のないユーザーによってサーバーのBINDが制御されるのを防ぐため、共有秘密鍵方法を使用して、 特定のホストに明示的に特権を与えます。このことは、/etc/named.confとrndcの 設定ファイルである/etc/rndc.confの両方で同一の鍵を所有する必要があることを意味します。
rndcがnamedサービスに接続される為には、 BINDサーバーの/etc/named.confファイルにcontrols ステートメントがなければなりません。
以下の例に示すcontrolsステートメントにより、ローカルホストから rndcが接続できるようになります。
controls { inet 127.0.0.1 allow { localhost; } keys { <key-name>; }; }; |
このステートメントはnamedにループバックアドレスのデフォルトTCPポート953をリッスンするように指示し、 適切な鍵が与えられた場合にローカルホストからのrndcコマンドを許可します。 <key-name>は、keyステートメントに関連しますが、 これも/etc/named.confファイル内にあります。次の例は、keyステートメントの サンプルを示します。
key "<key-name>" { algorithm hmac-md5; secret "<key-value>"; }; |
この場合、<key-value>はHMAC-MD5鍵です。 以下のコマンドを使用してHMAC-MD5鍵を生成することが出来ます:
dnssec-keygen -a hmac-md5 -b <bit-length> -n HOST <key-file-name> |
鍵は256ビット長以上ある方がいいでしょう。<key-value>領域に 置くべき実際の鍵は、<key-file-name>にあります。
重要 | ||
---|---|---|
/etc/named.confは、すべてが読み込めるファイルであるため、 keyステートメントを別のファイルの中に置いてrootのみの読み取り 可能して、次の例のようにincludeステートメントを使用して参照する のが良いでしょう:
|
keyは/etc/rndc.confの中で最も 重要なステートメントです。
key "<key-name>" { algorithm hmac-md5; secret "<key-value>"; }; |
<key-name>と<key-value>は /etc/named.conf内での設定とまったく同じでなくてはなりません。
ターゲットサーバーの/etc/named.confに指定された鍵をテストするには 次の行を/etc/rndc.confに追加します。
options { default-server localhost; default-key "<key-name>"; }; |
このコマンドは、グローバルなデフォルト鍵を設定します。しかし、rndcコマンドは、 次の例にあるように、異なるサーバーには異なる鍵を使用できます:
server localhost { key "<key-name>"; }; |
重要 | |
---|---|
rootユーザー以外は/etc/rndc.confファイルを 読み書きできないようにしてください。 |
rndcコマンドは以下のような形態をとります。
rndc <options> <command> <command-options> |
rndcを適切に設定されたローカルホストで実行する場合、以下のコマンドが利用できます。
halt — namedサービスをただちに停止します。
querylog — このネームサーバーに送られたクエリの すべてをログします。
refresh —ネームサーバーのデータベースをリフレッシュします。
reload — ゾーンファイルをリロードしますが、以前にキャッシュされた 他の回答を全て保存します。このコマンドを使用すると、すべての保存された解決を消失することなく ゾーンファイルの変更が出来ます。
もし、変更が特定のゾーンのみに影響する場合、reloadコマンドの後に そのゾーン名を付加することで1つのゾーンだけをリロードします。
stats — 現在のnamed統計を /var/named/named.statsファイルにダンプします。
stop — サーバーを安全に停止し、終了前に動的な更新やIXFR (Incremental Zone ransfers)データを保存します。
ときには、/etc/rndc.confファイル内のデフォルト設定を上書きしたい場合があるかもしれません。 そのような場合には、以下のようなオプションが利用できます:
-c <configuration-file> — rndcにデフォルトの/etc/rndc.conf以外の 設定ファイルを使用するよう指示します。
-p <port-number> — デフォルトの953以外のrndc接続用ポート番号を指定します。
-s <server> — 設定ファイルに指定してある default-server以外のサーバーにコマンドを送信するようにrndcに 指示します。
-y <key-name> — /etc/rndc.confファイルのdefault-keyオプション以外の鍵を指定します。
これらのオプションについてのさらに詳しい情報は、rndcmanページに記載されています。