投獄された構成で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はどういうわけかゾーンファイルの再読み取りに失敗しています。
どうすればこれをデバッグできますか?
これが実際に動的に更新されるゾーンである場合( allow-update
/ update-policy
指定)、ゾーンファイルを直接編集することは安全ではありません!
このような設定では、ゾーンファイルを維持するのはBINDです。ジャーナルファイル(.jnl
)の変更をバッファリングし、ゾーンファイル自体を定期的に書き換えます。
ゾーンデータへのすべての変更は、ゾーンファイルへの直接の変更ではなく、動的更新プロトコルを介して行われ、BINDによって管理されることが期待されます。とにかくゾーンファイルを変更すると、ゾーンファイルの内容がジャーナルの内容およびnamed
の状態と同期しなくなるため、一貫性のない動作が発生します。
要するに、通常は動的更新を使用してそのようなゾーンにすべての変更を加えます(たとえば、 nsupdate
または他のクライアントを使用)が、何らかの理由でゾーンを直接制御する必要がある場合ファイル rndc freeze
を使用して動的更新を一時的に一時停止してから、 rndc thaw
)を使用して再開できます。更新の一時停止はかなり煩わしい操作です(更新は失敗し、ixfr-from-differences
によっては変更履歴が消去される場合があります)。したがって、通常の操作ではおそらくそうしないでください。