私はRaspberry Pi 3システムを開発しており、Buildrootを使用して独自のrootfsを構築しています。最初はBusyBoxを初期化システムとして使用し、wpa_supplicantを使用してオンボードWi-Fiカードを構成するときにSDカードを新しいrootfsに再構築/再フラッシュしても、ルーターは常にボードに同じIPアドレスを割り当てました。その後、systemdの使用に切り替えました。 SDカードを再構築/更新するたびに、ルータはデバイスが異なると考え、MACアドレスが同じままであっても、rootfsが更新されるたびに異なるIPアドレスを割り当てるようです。この問題の原因は何ですか?
答え1
システムよりルータをチェックすると、答えを見つける可能性が高くなります。ルータのWebインターフェイスを見ると、次のことがわかります。
- DHCPリース時間はどうですか? DHCP リースがすぐに期限切れになり、新しい IP が割り当てられていることを確認できます。
- ルーターに表示されるRaspberry PiのMACアドレスを確認してください。 Piが1つのMACアドレスのみを表示するか、ルータが毎回別のMACアドレスを表示するかを確認できます。それは新しいIPアドレスを割り当てる理由
答え2
ルータは、時間が経つにつれて、MACアドレスとIPアドレスとの間の関連性を覚えていない可能性が高い。 IPアドレスよりもMACアドレスが多いため、DHCPサーバーは同じIPアドレスを別のクライアントに継続的に割り当てることができるように準備する必要があります。リースが期限切れになると、通常のサーバーはMAC-IP接続を忘れます。
ただし、顧客はこの関連性をより長く覚えることができます。 DHCP クライアントは特定の IP アドレスを要求できます。サーバーはこの要求を自由に無視できます。通常、IP アドレスが正しい範囲にあり、現在割り当てられていない場合は要求を受け入れます。私はあなたのクライアントがリース情報をどこか(/var/lib/dhcp
見やすい場所)に保存していると思います、そしてあなたのルーターは通常要求を受け入れます。新しいrootfsをフラッシュするとリースは保存されないため、ルータはその時点で目的のIPアドレスを選択します。