Frage Kann ich mehrere DHCP-Server in einem Netzwerk haben?


Das ist ein Kanonische Frage über redundante DHCP-Server.

Ist es möglich, mehr als einen DHCP-Server im selben LAN zu haben? Was sind die Konsequenzen dafür?

  1. Was passiert, wenn mehr als ein DHCP-Server verfügbar ist? Woher wissen meine Kunden, welchen sie verwenden sollen?
  2. Wie kann ich DHCP-Server haben, die Adressen an mehr als ein Subnetz \ Netzwerksegment liefern?
  3. Wie kann ich mehrere DHCP-Server für die Bereitstellung von Adressen konfigurieren? das Gleiche Teilnetz.

73
2018-03-11 11:01


Ursprung


Die Idee hinter dieser Frage ist, eine endgültige Antwort auf alle Fragen zu geben, die unsere regelmäßigeren Benutzer verrückt machen. Dies wird hoffentlich zu einer unserer kanonischen Antworten (meta.serverfault.com/questions/1986/...) - Rob Moir
RTFM? tools.ietf.org/html/draft-ietf-dhc-failover-12#section-5.3 (und RFC 3074) definieren dieses Verhalten bereits, und linux dhcpd implementiert es manpages.ubuntu.com/manpages/precise/de/man5/... - Dani_l
@Dani_l vielleicht solltest du dem "kanonischen Frage" -Link in der Frage folgen und vielleicht auch die Autoren der Antworten auf meine Frage hier vorlesen, bevor du mir sagst, dass ich RTFM brauche. - Rob Moir
Ich sage dir NICHT, das Handbuch zu lesen. Ich weise nur darauf hin, dass es ein Handbuch gibt. Die Frage ist kanonisch, aber wenn es zutrifft, sollte sie meines Erachtens auch auf "offizielle" Verfahren verweisen, wenn solche existieren. In diesem Fall existiert ein IETF / RFC, und das ist so offiziell wie es nur geht. - Dani_l


Antworten:


Ich gehe davon aus, dass ein grundlegendes Wissen darüber, was DHCP tut und wie Sie Ihren DHCP-Server in dieser Antwort konfigurieren, aber bevor wir über mehrere DHCP-Server im selben Netzwerk sprechen, lassen Sie uns zunächst schnell wiederkappen, wie Clients IP-Adressen erhalten von DHCP auf der grundlegendsten Ebene.

DHCP in einem einfachen Netzwerk funktioniert nach dem DORA-Prinzip.

  • Discovery - Der Client sendet eine Nachricht auf dem lokalen Netzwerksegment, mit dem er verbunden ist, um verfügbare DHCP-Server zu ermitteln.

  • Angebot - Ein entsprechend konfigurierter DHCP-Server empfängt eine Anfrage von einem Client und bietet ihm eine Adresse aus seinem Pool verfügbarer Adressen an.

  • Anfrage - Der Kunde antwortet auf das Angebot und fragt nach der im Angebot enthaltenen Adresse.

  • Bestätigung - Der Server bestätigt die Anfrage und markiert die Adresse, wie sie in seinem Adresspool verwendet wird, und informiert den Client darüber, wie lange die Adresslease gültig ist und welche weiteren Informationen benötigt werden.

Jedes Gerät in einem Netzwerksegment kann ein DHCP-Server sein. Es muss nicht der Router oder der Domänencontroller oder ein anderes "spezielles" Gerät im Netzwerk sein.

Wenn die Geräte in Ihrem Netzwerk zuerst eine IP-Adresse anfordern oder das Ende ihrer Leases erreichen (oder Sie sie zwingen, zu überprüfen, ob ihre Lease noch gültig ist), senden sie einfach eine Anfrage für einen DHCP-Server und akzeptieren ein Angebot von der erste DHCP-Server, der antwortet. Dies ist wichtig, wenn wir uns die Optionen für mehrere DHCP-Server unten ansehen.

Mehrere DHCP-Server PT 1: Übergreifend mehrere Subnetze.

Wenn Sie mehrere VLANs oder physische Netzwerksegmente haben, die in verschiedene Subnetze unterteilt sind, und Sie möchten den Geräten in allen diesen Subnetzen einen DHCP-Dienst bereitstellen, gibt es zwei Möglichkeiten.

  1. Wenn der Switch / Layer 3-Switch, der sie trennt, als BOOTP / DHCP-Relay-Agent fungieren kann, können Sie weiterhin alle DHCP-Server in einem oder zwei zentralen Bereichen Ihres Netzwerks behalten und Ihren DHCP-Server konfigurieren unterstützt mehrere Bereiche von Adressen. Um dies zu unterstützen, muss Ihr Router oder Layer-3-Switch die BOOTP-Relay-Agent-Spezifikation unterstützen, auf die sich beziehen Abschnitt 4 von RFC 1542.

  2. Wenn Ihr Router RFC 1542 BOOTP-Relay-Agents nicht unterstützt oder wenn einige Ihrer Netzwerksegmente geografisch über langsame Verbindungen verteilt sind, müssen Sie einen oder mehrere DHCP-Server in jedem Subnetz platzieren. Dieser "lokale" DHCP-Server erfüllt nur die Anforderungen seines eigenen lokalen Segments und es besteht keine Interaktion zwischen ihm und anderen DHCP-Servern. Wenn dies gewünscht ist, können Sie einfach jeden DHCP-Server als eigenständigen Server mit den Details des Adresspools für sein eigenes Subnetz konfigurieren und sich nicht um andere DHCP-Server in anderen Teilen des Netzwerks kümmern. Dies ist das grundlegendste Beispiel für mehr als einen DHCP-Server im selben Netzwerk.

Mehrere DHCP-Server PT 2: DHCP-Server, die dasselbe Netzwerksegment bedienen.

Wenn die meisten Leute nach "mehreren DHCP-Servern im selben Netzwerk" fragen, fragen sie normalerweise danach; Sie möchten, dass mehr als ein DHCP-Server den Clients den gleichen Netzwerkadressbereich zur Verfügung stellt, um entweder die Last auf mehrere Server aufzuteilen oder Redundanz bereitzustellen, wenn ein Server offline ist.

Dies ist durchaus möglich, erfordert jedoch einige Überlegungen und Planungen.

Aus Sicht des "Netzwerkverkehrs" erläutert der zu Beginn dieser Antwort umrissene DORA-Prozess, wie mehr als ein DHCP-Server in einem Netzwerksegment vorhanden sein kann. Der Client sendet einfach eine Discovery-Anfrage, und der erste DHCP-Server, der mit einem Angebot antwortet, ist der "Gewinner".

Aus der Sicht des Servers wird jeder Server einen Pool von Adressen haben, die er an Clients ausgeben kann, wobei er seinen Adressbereich kennt. DHCP-Server, die dasselbe Subnetz bedienen, sollten keinen einzigen "gemeinsamen" Bereich haben, sondern sollten einen "geteilten" Bereich haben.

Mit anderen Worten, wenn Sie einen Bereich von DHCP-Adressen haben, die an Clients von 192.168.1.100 bis 192.168.1.200 ausgegeben werden, sollten beide Server so konfiguriert werden, dass sie separate Teile dieses Bereichs bedienen, so dass der erste Server Teile dieses Bereichs verwenden kann 192.168.1.100 bis 192.168.1.150 und der zweite Server würde dann 192.168.1.151 bis 192.168.1.200 ausgeben.

Split DHCP scope, showing exclusions

Die neueren Implementierungen von DHCP von Microsoft verfügen über einen Assistenten, mit dem Sie Ihren Bereich so aufteilen können, wie in a Technet Artikel Das kann sich sehen lassen, selbst wenn Sie nicht die Microsoft DHCP-Implementierung verwenden, da es die hier besprochenen Prinzipien recht gut illustriert und diese Antwort bereits lang genug ist.

Aufteilen des Scope - Best Practice

Eine Sache, die Sie als Best Practice erwähnt haben, ist die 80/20-Regel zum Aufspalten eines DHCP-Bereichs. Dies bedeutet, dass ein Server 80% der Adressen in diesem Bereich und der andere DHCP-Server effektiv "in Reserve" bereitstellt. wird 20% der Adressen bedienen.

Die Idee hinter der Aufspaltung der Adressen 80/20 liegt darin, dass 80% der verfügbaren Adressen hoffentlich für alle Adressen ausreichen sollten, die in einem Subnetz benötigt werden, und DHCP-Leases typischerweise für mehrere Tage ausgestellt werden; Wenn also Ihr Haupt-DHCP-Server für einige Stunden ausfällt, ist es unwahrscheinlich, dass mehr als 20% der Maschinen in diesem Subnetz ihre Adressen während der Ausfallzeit erneuern müssen, wodurch der 20% -Adressenpool ausreicht.

Dies ist immer noch ein vernünftiger Ratschlag, aber es nimmt zwei Dinge an:

  1. Damit können Sie jedes Problem mit Ihrem "Haupt-DHCP-Server" schnell genug lösen, um zu vermeiden, dass der kleine Pool von Adressen auf Ihrem DHCP-Reserveserver erschöpft wird.
  2. Dass Sie nicht am Lastenausgleich interessiert sind.

Heutzutage bevorzuge ich 50/50 Splits, was meiner Meinung nach eine realistischere Antwort auf die oben genannten Punkte ist.

Eine weitere Sache, die Sie beim Erstellen Ihrer Bereiche auf den DHCP-Servern beachten sollten, ist das Konfigurieren des gesamten Bereichs in jedem Server und das Ausschließen des Bereichs, der vom anderen DHCP-Server ausgegeben wird. Dies hat den Vorteil, die DHCP-Informationen für das gesamte Subnetz auf jedem DHCP-Server "selbst zu dokumentieren", was die Klarheit für alle anderen verbessert, die versuchen zu verstehen, was vor sich geht und auch, wenn einer Ihrer DHCP-Server offline ist Manchmal können Sie den Ausschlussbereich auf dem anderen Server vorübergehend neu konfigurieren, damit er die Lücke aufheben kann.

Diese Ideen kombinieren

Schließlich sollten Sie daran denken, dass Sie die oben beschriebenen Prinzipien kombinieren können. Sie können alle Ihre DHCP-Server in einem oder mehreren "zentralen Server" -VLANs platzieren und BOOTP-Relay-Agenten auf all Ihren Routern verwenden, um alle DHCP-Anfragen von einem sehr großen und segmentierten zu senden Netzwerk zu einem zentralisierten DHCP-Dienst (was ich tue, siehe unten). Oder Sie können DHCP-Server in Ihrem Netzwerk verteilen lassen, mit einem "Haupt" DHCP-Server in seinem lokalen Subnetz und einem "Reserve" DHCP-Server in einem "nahen" Netzwerksegment mit einer kleinen Anzahl von Adressen als Backup - Sie könnten sogar haben zwei DHCP-Server in ihren eigenen Netzwerksegmenten, die so konfiguriert sind, dass sie einen Adressbereich von 80/20 für einander bereitstellen. Die sinnvollste Wahl hängt davon ab, wie Ihre physischen und logischen Netzwerke einander zuordnen.

DHCP servers serving split scopes to multiple subnets


88
2018-03-11 11:15



Bei Splitbereichen: Bitte beachten Sie, dass DHCP-Reservierungen auf beiden Hälften eingerichtet werden sollten. Es kann ziemlich mühsam sein, sie synchronisiert zu halten, wenn Sie häufige Aktualisierungen vornehmen müssen. - Tonny
Können Sie näher auf Techniken eingehen, die sicherstellen, dass der DHCP-Reserveserver nicht betroffen ist, solange der Haupt-DHCP-Server läuft? Nach dem, was ich lesen kann, wenn die gleiche Wahrscheinlichkeit besteht, eine Antwort von einem der beiden Server zu erhalten, würde der Reserveserver die Adressen statistisch ausgehen, sobald die Gesamtzahl der Leasingverträge die doppelte Größe des Reservepools übersteigt. Dies macht den Reserveserver vermutlich für neue Clients wertlos, wenn der Haupt-DHCP-Server ausgefallen ist ... oder? - Niels B.
@NielsB. Wenn Sie etwas wie eine 80/20-Teilung machen, können Sie eine Verzögerung in der Antwort des Reserveservers einstellen ( blogs.technet.com/b/teamdhcp/archiv/2009/01/22/... ). Ich kümmere mich nicht darum, weil ich selbst 50/50 teile, aber es wird funktionieren. - Rob Moir


Ich habe diesen Ansatz vor einigen Jahren für ein kleines bis mittleres Netzwerk (500 Benutzer) mit erheblichen Vorteilen übernommen. DHCP hörte auf, ein einzelner Fehlerpunkt zu sein. Durch die dauerhafte Zuordnung von MAC- und IP-Adressen haben wir sichergestellt, dass beide DHCP-Server bei jeder DHCP-Anfrage die gleiche Antwort erhalten. Die Kenntnis der IP-Adresse jedes Netzwerk-Assets vereinfacht auch die Netzwerkverwaltung, und DNS kann von derselben Datenbank ausgeführt werden. Das System verwendet Internet Software Corporation BIND und DNS, und die zugehörigen Skripte können unter heruntergeladen werden http://www.pearbright.com/index.php/download/25-dns-dhcp-download Da das Skript derzeit offline ist, wäre eine Alternative die Verwendung eines echten ISC-DHCPD-Failovers: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html


12
2018-06-05 09:50



Das OP bat ausdrücklich um eine erklärende Antwort auf diese Frage. Vielleicht möchten Sie Ihre Antwort überarbeiten, um sie zu erweitern. - Brent Pabst
fwiw, während diese Antwort kurz ist und ich in einem kanonischen Frage-und-Antwort-Set nie mehr Details ablehnen werde, dachte ich, dass es ziemlich gut ist, da es eine etwas andere Methode der DHCP-Redundanz erwähnt. - Rob Moir
@DJ Pon3 Ich stimme zu: Ich betreibe ein ähnliches Setup wie Ihr großer Multi-Site-DHCP (weniger VLANs) und ich benutze den gleichen Ansatz wie Peter Talbot für 3/4 dieser VLANs. - Tonny
Der Link ist jetzt kaputt :( - Sergey Vlasov