自宅ではDNSサーバーとしてBINDを使用しています。私のStart of Authority(SOAレコード)では、常に推奨フォーマットのシリアルを使用します
YYYYMMDD ##
どこ ##
は、その日の変更のカウンターです。
残念ながら、シリアル番号を変更して、誤って1桁追加しました。名前デーモンを更新した後、これを元に戻すことができなくなりました。
BINDの内部ライブラリ内のシリアル/カウンターをリセットする方法はありますか?
「BINDの内部ライブラリ」はシリアル番号が何であるかを気にしません。重要なのは、マスターサーバーとスレーブサーバーの間の合意だけです。言い換えれば、BINDは問題なくゾーンファイルのシリアル番号を減らすことができます。スレーブが更新を受信しないだけです。
ゾーンファイルのシリアル番号は符号なし32ビット整数であり、可能な最大の32ビット符号なし整数をラップします。そのため、ロールオーバーしてゼロに近づくまでシリアル番号を繰り返しインクリメントして、シリアル番号を減らす方法があります。一度に増分できる最大量があるため、これを複数のステップで繰り返し実行する必要があります。
2回以上繰り返す必要がないように、常に増分を選択できます。
this HOWTO に従ってください。
すべてのスレーブサーバーへのシェルアクセス権がある場合、より簡単な解決策があります。
スレーブサーバーでシリアル番号をデクリメントできるようにするには、スレーブサーバーにログインしてrndc retransfer my.zone.name
を実行します。これにより、スレーブはマスターからゾーンをフェッチし、シリアル番号を完全に無視します。