これは私が解決した問題のレポートです。しかし、このソリューションは他の人にも役立つと思います。
この問題は 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.com、adafruit.com)
答え2
このような状況を避けるために、ハードコーディングされたIPアドレスを使用してchrony / ntpdにNTPソースを含めました。これは次のようになります。
- LANにバッテリー電源を使用するRTCを備えたNTPサーバーが既にあります。
- Google/CloudflareなどのNTPサーバー
答え3
したがって、dateコマンドを使用して時間を正しく設定します。
sudo date -s '2023-06-23 10:39:20'
すべてが正常に戻った。
奇妙な質問なので、ここに投稿してください。
これがいつか誰かに役立つことを願っています。
乾杯!
答え4
従来のUNIXアプローチは、ntpdate
DHCPプッシュサーバーを使用して起動プロセスの最初に日付を設定し、システムがntpd
完全に起動した後にプロセスを開始することです。