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 ステートメントを使用して参照します:
include "/etc/rndc.key";