背景
複数の組み込みLinuxデバイスがイーサネットを介してネットワークに接続されています。接続されているスイッチのポートに応じて、対応するDHCP IPアドレスが提供されます(各ポートは別々のVLANに存在します)。 DHCPアドレスを取得した後、デバイスは他のすべてのサービス(NTP、FTPサーバーなど)に接続できます。これらのデバイスは一意ではなく、すべてのデバイスはすべてのポートに接続できる必要があります(つまり、静的IPは利用できません)。 dhclient.leasesファイルは、30秒ごとに提供される新しいリースを反映するように更新されます。
質問
デバイスが正常に再起動するとシステム時間は維持されますが、場合によってはすべてのデバイスの電源が長時間オフになり、組み込みLinuxシステムがシステム時間を失います。この場合、時間は2011年1月1日に戻ります。何が起こっているのかについての私たちの理論は、dhclient.leasesファイルの有効期限が将来にあるため(システム時間が正しいときに得られたものであるため)、デバイスが別のDHCPアドレスを取得することを許可されていないことです。アドレスを取得できないため、システム時間を更新するためのNTP時間を取得できないため、鶏と卵が必要な状況が発生します。時々、私たちはこの問題を解決し、ついにリース契約を締結するまでデバイスをリセットし続けることができます。
質問
- これがdhclientの期待される動作ですか?
- 1.の答えならいいえ、長い停電後にデバイスがDHCPアドレスを取得できないのはなぜですか?
- この問題を解決するのに役立つ可能性がある提案された修正、回避策、または構成の変更はありますか?