NTPとBindの間の鶏か卵か問題

NTPとBindの間の鶏か卵か問題

これは私が解決した問題のレポートです。しかし、このソリューションは他の人にも役立つと思います。

この問題は Raspbian 9.13 で発生します。まだ見つからなかった理由(おそらくハードウェア)のために、私のRaspberry Piベースのルータがクラッシュして再起動されませんでした。ラズベリーパイが初めて電源を入れたときに表示される虹のような画像に止まっていることがわかりました。

とにかく、Piを再起動し、すべてがいつものように動作しました。

動作しない唯一のものはBind 9です。デーモンは実行中ですが、名前解決は機能しません。

次のヒントを見てみました。https://dnsinstitute.com/documentation/dnssec-guide/ch05s04.htmlこれは/var/log/named/dnssec.logで奇妙なログを見つけたからです。

validating ./NS: verify failed due to bad signature (keyid=60955): RRSIG validity period has not begun

私が見つけた1つの可能な解決策は、実際に時間が間違っていることです。 Piが表示した時間は過去5時間前です。これが将来、RRSIGが有効である理由を説明します。

問題は、NTPサーバー名を解決できないため、時間を正しく設定できないことです。タイミングが間違っていて名前解決がまったく機能しないからです。

ベストアンサー1

Raspberry Piには(バッテリーで動作する)リアルタイムクロックがないため、電源が切れると現在の時刻を追跡できません。これを従来の方法で処理し、開始後の時間を手動で入力できますが、他のオプションもあります。

  • ここで問題はDNSなので、簡単な解決策はIPアドレスのみを使用して起動時に使用するタイムサーバーを指定することです。少なくとも別のアドレスに移動する可能性がないローカルタイムサーバーがある限り、比較的安全です。ただし、ネットワークがダウンした状態でシステムが起動する場合は役に立ちません。

  • 本当に安価な解決策は、シャットダウン時にファイルシステムの現在時刻を保存し、起動時に再読み込みすることです。その間、どのくらいの時間が経過したかはわかりませんが、少なくとも高速な再起動ができる時間はそれほど遠くありません。ただし、すべてのシャットダウン操作を実行せずにシステムがクラッシュした場合、時間は節約されません。再起動後にかかる時間とストレージの書き込み耐久性を考慮して、時々明示的に時間を節約することでこの問題を解決できます。

  • またはPi用RTCモジュールを購入してください。見つけるのは難しくなく、費用もかかりません。 (例えばthepihut.comadafruit.com)

おすすめ記事