BINDには、rndcというユーティリティコマンドが含まれています。 それを使用することで、ローカルホスト又はリモートホストからのnamed デーモンのコマンドライン管理ができるようになります。
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>は、/etc/named.confファイル内の keyステートメントで名前を指定します。 次の例は、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ファイルを 読み書きできないようにしてください。 |
/etc/rndc.confファイルに関する詳細は、rndc.confの man ページを参照してください。
rndcコマンドは以下のような形態をとります。
rndc <options> <command> <command-options> |
rndcを適切に設定されたローカルホストで実行する場合、以下のコマンドが利用できます。
halt — namedサービスをただちに停止します。
querylog — このネームサーバーに送られたクエリの すべてをログします。
refresh —ネームサーバーのデータベースをリフレッシュします。
reload — ゾーンファイルをリロードしますが、以前にキャッシュされた 他の回答を全て保存します。このコマンドを使用すると、すべての保存された解決を消失することなく ゾーンファイルの変更が出来ます。
変更が特定のゾーンのみに影響する場合、reloadコマンドの後に そのゾーン名を付加することでその特定ゾーンだけをリロードします。
stats — 現在のnamed統計を /var/named/named.statsファイルにダンプします。
stop — サーバーを安全に停止し、終了前に動的な更新やIXFR (Incremental Zone ransfers)データを保存します。
ときには、/etc/rndc.confファイル内のデフォルト設定を上書きしたい場合があるかもしれません。 そのような場合には、以下のようなオプションが利用できます:
-c <configuration-file> — 設定ファイルの代替場所を指定します。
-p <port-number> — デフォルトの953以外のrndc接続用ポート番号を指定します。
-s <server> — /etc/rndc.confに記されているdefault-server 以外のサーバーを指定します。
-y <key-name> — /etc/rndc.conf内のdefault-keyオプション以外の鍵を指定します。
これらのオプションについてのさらに詳しい情報は、rndcmanページに記載されています。