DHCP サーバーからの更新を受け入れるように bind を設定しようとしています。適切なゾーンと rndc.key パスワード ファイルを参照するように dhcpd.conf ファイルに変更を加えましたが、DHCP サーバーを再起動すると次のエラーが発生します:
Can't open /etc/bind/rndc.key: Permission denied
rndc.key には権限 640 があり、グループと所有者はバインドされています。
rndc.key の権限を 666 に変更すると動作しますが、これは安全ではありません。もっと良い方法はありますか?
ウブントゥ 11.04
答え1
私にとって、DHCP アップデートに rndc.key を使用するのは奇妙なアイデアに思えます。(そのような設定を使用している Debian マニュアルを Google で検索しましたが、おそらくそれが元になっているのでしょう)。また、bind マニュアルによると、rndc.key は bind8 との下位互換性のためだけに保持されています。
私が提案するのは次のことです: DHCP の場合、named.conf と DHCP 構成ファイルの両方に次のステートメントを直接挿入します。
key "zone-updates-key" {
algorithm hmac-md5;
secret "lgkbhjhtthgtlghtl6567==";
};
(もちろん秘密のフレーズは変更してください;) rndc-confgen を実行してランダムなフレーズを生成することもできます)
「include rndc.key」ステートメントは必要ありません。named.confのゾーン設定に以下を追加します。
allow-update { key "zone-updates-key"; };
DHCP ゾーン設定では次のようになります:
key zone-updates-key;
以上です。両方のファイルは、通常どおり、それぞれのプロセスで読み取り可能になるはずです。
** ここで停止することもできます **
rndc の場合、rndc-confgen を実行し、その出力を rndc で使用できます。会議そして named.conf - この方法では bind は rndc.key をまったく使用しません。
(動的更新に rndc.key を使用しない理由: このキーはバインドに対する完全な制御を与えるため、単一ゾーンの動的更新だけが必要な場合は、それを妥協する理由はありません。)
あるいは、新しいバインド バージョンでは、/var/run/named/session.key が役に立つ場合があります。"session-..." バインド ディレクティブを確認してください。