web-dev-qa-db-ja.com

バインド9:rndcリロードは効果がありません

投獄された構成でFreeBSD10でBIND9.10.2ポートを実行していますが、_rndc reload_がSOAシリアルは適切にインクリメントされます。

コマンド自体は成功しているようです。

_#rndc reload
server reload successful
_

私が見るログで:

_May  9 16:03:47 y named[81516]: all zones loaded
May  9 16:03:47 y named[81516]: running
_

それでも、namedを再起動するだけでゾーンの更新が取得されます。

_rndc zonestatus my_zone.com_は古いシリアルを印刷します。そのため、BINDはどういうわけかゾーンファイルの再読み取りに失敗しています。

どうすればこれをデバッグできますか?

2
rustyx

これが実際に動的に更新されるゾーンである場合( allow-update / update-policy 指定)、ゾーンファイルを直接編集することは安全ではありません!

このような設定では、ゾーンファイルを維持するのはBINDです。ジャーナルファイル(.jnl)の変更をバッファリングし、ゾーンファイル自体を定期的に書き換えます。

ゾーンデータへのすべての変更は、ゾーンファイルへの直接の変更ではなく、動的更新プロトコルを介して行われ、BINDによって管理されることが期待されます。とにかくゾーンファイルを変更すると、ゾーンファイルの内容がジャーナルの内容およびnamedの状態と同期しなくなるため、一貫性のない動作が発生します。

要するに、通常は動的更新を使用してそのようなゾーンにすべての変更を加えます(たとえば、 nsupdate または他のクライアントを使用)が、何らかの理由でゾーンを直接制御する必要がある場合ファイル rndc freeze を使用して動的更新を一時的に一時停止してから、 rndc thaw )を使用して再開できます。更新の一時停止はかなり煩わしい操作です(更新は失敗し、ixfr-from-differencesによっては変更履歴が消去される場合があります)。したがって、通常の操作ではおそらくそうしないでください。

3