Was passiert, wenn der DHCP-Server nach den Clientgeräten online geschaltet wird?


7

Wenn auf einem Windows-PC ein DHCP-Server ausgeführt wird. Ich gehe davon aus, dass das Booten einige Minuten dauern wird. Mein Netzwerk verfügt über eine Vielzahl anderer Geräte verschiedener Hersteller, die innerhalb von Sekunden gestartet werden.

Ich habe keinen "Standard" für DHCP-Client-Wiederholungsversuche gefunden. Wird für diese Geräte eine Zeitüberschreitung auftreten, bevor der Windows-DHCP-Server gestartet wird? Wenn ja, wie geht man am besten damit um?

Erläuterungen: Es sind keine Windows-Clients beteiligt. Die Kunden sind industrielle eingebettete Geräte wie Kameras, Heizungen und Roboter.

Ich mache mir keine Sorgen darüber, was passiert, wenn der DHCP-Server ausfällt. Hierbei handelt es sich um eingebettete Geräte, die alle an eine einzige Stromquelle angeschlossen sind. Ich möchte wissen, was zu tun ist, wenn die "Fabrik" morgens eingeschaltet wird.


2
Sie werden es erneut versuchen, aber im Ernst - halten Sie einfach Ihren DHCP-Server online.
EEAA

@EEAA Manchmal fällt der Strom für eine lange Zeit in einem Zweig aus, der zu klein ist, um einen Generator zu betreiben, aber groß genug, um einen Server anstelle eines Routers für DHCP zu verwenden. Der Start von Servern dauert länger als von Desktops / Laptops, insbesondere von Servern, die die virtuellen Firwall-, Router- und VPN-Maschinen vor der virtuellen Active Directory-Maschine starten, auf der DHCP ausgeführt wird.
BeowulfNode42

@EEAA Ich mache mir Sorgen um das anfängliche Einschalten.
Moby Disk

Welchen Netzwerkstapel verwenden diese Clients?
Jim B

1
@MobyDisk OK, das sind die Details, die in Ihrer Frage enthalten sein sollten. Der Kontext ist wichtig, insbesondere in sehr ungewöhnlichen Situationen wie diesen.
EEAA

Antworten:


7

OK, ich habe ein paar Gedanken:

  1. Es gibt so viele DHCP-Stapel wie Sterne am Himmel. OK, nicht ganz, aber Sie haben die Idee. Eingebettete Netzwerkstacks sind insbesondere für ihre unvollständige Implementierung von "Standards" bekannt. Als solches ist es sehr wahrscheinlich , dass Ihre Geräte wird das Booten am Ende , bevor Ihr DHCPd bereit ist, Wille APIPA, und nicht immer DHCP wiederholen. Die einzige Möglichkeit, dies zu überprüfen, besteht darin, das Verhalten jedes beteiligten Geräts zu überprüfen.
  2. Das Ausschalten des Schalters (wie von anderen empfohlen) funktioniert möglicherweise nicht einmal. Ich habe viele eingebettete Geräte gesehen, die ihre DHCP-Anforderungen einmal als Teil der Startsequenz auslösen und es dann nie wieder versuchen, selbst wenn sich der PHY-Verbindungsstatus auf der Netzwerkkarte ändert.

Hier ist meine empfohlene Lösung:

Auf dem Markt sind Power-Sequencing-PDUs erhältlich. Dies sind typischerweise zwei- oder dreistufige PDUs mit programmierbaren Verzögerungen. Wenn diese eingeschaltet sind, schalten sie die erste Stufe ein, warten die angegebene Anzahl von Sekunden, schalten die zweite Stufe ein usw. Sie können Ihren Switch und Ihren Server mit der ersten Stufe verbinden und über die PDU verfügen Warten Sie 5 Minuten, bis der Server den Startvorgang abgeschlossen hat, und schalten Sie dann die zweite Stufe ein, auf der sich alle anderen Geräte befinden.


5

Es gibt drei Szenarien für einen Windows-DHCP-Client, die mir auf den ersten Blick einfallen. Ich kann nicht mit Nicht-Windows-DHCP-Clients sprechen, aber ich muss davon ausgehen, dass sie auf die gleiche Weise funktionieren.

  1. Ein laufender Windows-DHCP-Client mit einer aktiven Lease, während der DHCP-Server nicht verfügbar ist: Der DHCP-Client verwendet weiterhin seine aktuell geleaste IP-Adresse. Wenn die Erneuerungsphase (T1) erreicht ist, wird versucht, den bestehenden Mietvertrag zu verlängern. Wenn keine Kommunikation mit dem DHCP-Server hergestellt wird, der die vorhandene Lease erneuern kann, versucht der Client weiterhin, die Lease zu erneuern, bis die Rebinding-Phase (T2) erreicht ist, in der er versucht, einen beliebigen DHCP-Server zu kontaktieren. Wenn der T2-Timer abläuft, gibt der Client seine IP-Adresse frei.

  2. Ein Windows-DHCP-Client mit einem aktiven Leasing, der neu gestartet wird, während der DHCP-Server nicht verfügbar ist: Der DHCP-Client verwendet weiterhin seine aktuell geleaste IP-Adresse. Wenn die Erneuerungsphase (T1) erreicht ist, wird versucht, den bestehenden Mietvertrag zu verlängern. Wenn keine Kommunikation mit dem DHCP-Server hergestellt wird, der die vorhandene Lease erneuern kann, versucht der Client weiterhin, die Lease zu erneuern, bis die Rebinding-Phase (T2) erreicht ist, in der er versucht, einen beliebigen DHCP-Server zu kontaktieren. Wenn der T2-Timer abläuft, gibt der Client seine IP-Adresse frei.Die Einschränkung hierbei ist, dass der DHCP-Client meines Wissens seine vorhandene IP-Adresse freigeben sollte, wenn er beim Neustart keine Verbindung zum DHCP-Server herstellen kann, da er nicht bestätigen kann, dass die IP-Adresse weiterhin verwendet werden darf. Dies scheint bei Windows-Clients nicht der Fall zu sein, was mich ein wenig verblüfft hat. Auf jeden Fall zeigen meine Tests mit Windows-Clients, dass sie ihre vorhandene geleaste IP-Adresse bei Neustarts tatsächlich beibehalten, wenn der DHCP-Server nicht verfügbar ist.

  3. Ein Windows-DHCP-Client, für den keine Lease vorhanden ist: Natürlich kann der DHCP-Client keinen DHCP-Server kontaktieren und weist sich selbst eine APIPA-IP-Adresse zu. Wie Neil T in seiner Antwort feststellte, versucht ein DHCP-Client, der keine aktive Lease hat, ungefähr alle 5 Minuten, einen DHCP-Server zu kontaktieren.


Ich muss das Verhalten von Nicht-Windows-Clients kennen. :-( Aktualisierte Frage zur Klärung.
Moby Disk

Ich gehe davon aus, dass sie alle gleich funktionieren, da das DHCP-Protokoll ein "inoffizieller" Standard ist, der erstmals in RFC 1531 festgelegt wurde.
Joeqwerty

Leider hilft mir die Annahme, dass sich alle Geräte wie Windows verhalten, nicht weiter. Szenario 3 ist für mich etwas relevant, aber ich muss wissen, wie Nicht-Windows-Geräte funktionieren. Eine Verzögerung von 5 Minuten wäre nicht akzeptabel. Ich brauche es, um mehr in der Größenordnung von 5 Sekunden zu sein.
Moby Disk

3
Nun, Sie haben in Ihrer ursprünglichen Frage nichts davon angegeben. Jemand hat meine Antwort abgelehnt, weil sie nicht zu Ihrem Szenario passt, aber das macht meine Antwort nicht weniger richtig. Wenn Sie die vollständigen Details Ihres Szenarios angegeben hätten, hätte ich meine Antwort nicht einmal veröffentlicht, da sie für Ihr Szenario nicht relevant gewesen wäre. Außerdem sehe ich nicht, warum ein Gerät vom "Standard" -DHCP-Client-Verhalten abweichen würde. Die einzige Möglichkeit, das Verhalten Ihrer Geräte zu ermitteln, besteht darin, dieses Szenario zu simulieren, während eine Netzwerkverkehrserfassung ausgeführt wird.
Joeqwerty

Entschuldigung, ich dachte, "Mein Netzwerk wird eine Vielzahl anderer Geräte von verschiedenen Anbietern haben, die innerhalb von Sekunden starten", machte deutlich, dass dies keine Windows-Geräte waren. Aus diesem Grund habe ich unmittelbar nach Ihrer Antwort "Es sind keine Windows-Clients beteiligt" hinzugefügt und auch eine Antwort auf Ihre Antwort veröffentlicht, in der dies ebenfalls angegeben ist. Sie haben Recht, dass ich nach einem "Standard" -DHCP-Client-Verhalten suche. Aber viele Leute scheinen anzunehmen, dass alles, was Windows tut, der Standard ist, und ich habe diesen Luxus nicht. :-(
Moby Disk

2

Windows-Clients geben dem Server normalerweise etwa 60 Sekunden (Geben oder Nehmen), um ihn zusammenzubringen. Danach wechseln sie in einen Fallback-Modus, in dem die Geräte alle 5 Minuten prüfen. Wenn 5 Minuten zu lang sind, um zu warten, können Sie den Switch, mit dem sie verbunden sind, neu starten. Sogar ein Warmstart, wenn der Switch über diese Funktion verfügt, würde funktionieren.


Also werden die Geräte ihren DHCPDISCOVER erneut ausgeben, wenn der Seitch neu gestartet wird? Ist dieses Standardverhalten für ein DHCP-fähiges Gerät oder nur ein beobachtetes Windows-Verhalten?
Moby Disk

Nun, wenn ein Schalter ausfällt, fällt die Netzwerkverbindung vollständig aus, wenn es sich um verkabelte Knoten handelt. Es ist das gleiche wie das Abziehen des Kabels. Wenn es wieder hochfährt, sollte die Schnittstelle ihre Initialisierungsroutine starten, zu der auch der DHCP-Prozess gehört. Es kann nicht wissen, ob es sich jetzt in einem völlig anderen Netzwerk befindet, daher beginnt es in allen Szenarien von oben. Ich möchte nicht garantieren, dass dies für jedes Gerät gilt, aber es sollte die SOP für 99,9% der Ethernet-fähigen Geräte sein, auf die Sie stoßen.
Neil

Wenn für die DHCP-Clients eine Lease vorhanden ist, müssen sie kein DHCPDISCOVER-Paket ausgeben. Sie haben bereits die IP-Adresse des DHCP-Servers und kommunizieren im Gegensatz zur Übertragung eines DHCPDISCOVER-Pakets direkt mit dem DHCP-Server über Unicast.
Joeqwerty

@Neil T ok. Ich kann jedes Gerät testen, um festzustellen, ob es DHCP-Anforderungen sendet, wenn wir das Kabel anschließen, oder ob wir sie neu starten müssen.
Moby Disk

@joeqwerty Wenn das Netzwerkkabel abgezogen wird, wird das Netzwerk beim erneuten Einstecken einschließlich einer Broadcast-DHCP-Nachricht erneut aktiviert. Ich habe dies nur getestet, um sicherzustellen, dass haha. In der Abbildung unten lief Wireshark, bevor das Kabel wieder eingesteckt wurde. Nach dem Anschließen sehen Sie die ersten 8 Frames, die von meiner Schnittstelle gesendet wurden. Mein vorheriger DHCP-Mietvertrag war bis zum 28.10. Um
Neil

0

Gibt es einen Grund, warum diesen Clients keine statische IP-Adresse zugewiesen werden kann? Während "technisch illegal", habe ich Orte gesehen, an denen einigen Geräten Adressen im Bereich 192.168.0.0/16 zugewiesen wurden, wobei die DHCP-Server dann so konfiguriert wurden, dass sie Adressen über den zugewiesenen Adressen zuweisen.

Wenn dies nicht sinnvoll ist, können Sie Ihre DHCP-Leases auf zwei Wochen oder mehr festlegen.


Der Client akzeptiert aus verschiedenen Gründen keine statischen IP-Adressen, die zu komplex sind, um hier darauf einzugehen. Ich kann die DHCP-Lizenzen gerne für immer einstellen, aber es ist der erste Start, der Anlass zur Sorge gibt.
Moby Disk

1
Technisch illegal? Nach welchen Gesetzen / Standards?
BlueCompute
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.