Reproduzierbare DHCP-Adressen

Reproduzierbare DHCP-Adressen

Ich habe ein mikrocontrollerbasiertes Gerät mit einem Bootloader und einer Anwendung. Das Gerät hat einen Ethernet-Adapter. Der Bootloader verwendet IP/UDP, um das Anwendungsimage zu flashen. Die Anwendung hat einen voll funktionsfähigen TCP/IP-Stack.

Beide Komponenten verwenden DHCP, um eine IP-Adresse zu erhalten. Das Seltsame dabei ist, dass beide im DHCP-Prozess unterschiedliche Ergebnisse erhalten. Beide DHCP-Clients sind so konfiguriert, dass sie eine DHCPDISCOVER-Nachricht mit derselben MAC-Adresse verwenden.

Was soll ein DHCP-Server in DHCPOFFER senden? Soll er für dieselbe MAC-Adresse dieselbe IP-Adresse anbieten, wenn die IP-Adresse nicht anderweitig zugewiesen ist?Bearbeiten: Die letzte Adresszuweisung liegt 10 Sekunden zurück.

Der DHCP-Server läuft auf einem Linux-Host. Wie kann ich ein solches Fahrzeug konfigurieren, damit ich dieses Verhalten überwachen und verstehen kann?

Bearbeiten: Ich habe keine Kontrolle über die DHCP-Serverkonfiguration. Der Administrator möchte die volle Kontrolle behalten.

Gibt es andere DHCP-Einstellungen im Bootloader oder in der Anwendung, die das DHCP-Ergebnis beeinflussen könnten?

Antwort1

Dies hängt von Ihrer Leasingdauereinstellung ab. Wenn diese lang genug ist, erhält Ihre App dieselbe Adresse.

Wenn Sie jedoch auf Nummer sicher gehen wollen, geben Sie für Ihren Mac auf dem Server eine feste Adresse an.

Wenn Sie DHCP verwenden, dann so etwas:

host foo {
  hardware ethernet 00:11:22:33:44:55;
  fixed-address 1.2.3.4;
}

Tatsächlich gibt es eine Möglichkeit, IP in DHCPDISCOVERY vorzuschlagen, indem man die Option (50) setzt requested IP address. Aber ich weiß nicht, ob die Server das anerkennen.

Es gibt auch die Option (51) IP address lease time, die im Bootloader verwendet werden könnte, um einen längeren Zeitraum vorzuschlagen, aber ich bin mir auch über die Serverantwort nicht sicher.

Mehr Inforfc2131

Antwort2

Wenn ein DHCP-Client ein DHCPDISCOVER sendet, sollte der Server die DHCP-Registrierung verwerfen. Es gibt Server, die dieselbe IP-Adresse erhalten. Das ist nicht falsch, aber auch nicht notwendig.

Um die DHCP-Adresse beizubehalten, muss der Client ein DHCPACQUIRE mit der zwischengespeicherten IP-Konfiguration senden. Der DHCP-Server wird dies bestätigen oder ablehnen. Das Senden von DHCPDISCOVER ist in dieser Situation einfach keine gute Idee.

verwandte Informationen