
Wir haben einen Router, der auch als DHCP-Server fungiert. Er bietet jedoch nicht viele Konfigurationsmöglichkeiten und bietet daher immer sowohl IPv6- als auch IPv4-DNS-Server an. Dadurch können einige Geräte einige Server im LAN nicht sehen, die eine DNS-Überschreibung erfordern, um eine lokale Adresse anstelle der weltweit sichtbaren Adresse zurückzugeben.
Eine mögliche Problemumgehung, die wir in Betracht ziehen, besteht darin, auf einem dieser Server einen DHCP-Server einzurichten. Wenn der Server aktiv ist, sendet er DHCP-Antworten, die hinsichtlich der zu verwendenden DNS-Server richtig eingerichtet sind. Wir könnten nur diesen DHCP-Server ausführen, aber wenn dieser Rechner aus irgendeinem Grund ausfällt, dann scheint es, als würde alles ausfallen, weil keine anderen DHCP-Server da wären, um die Lücke zu schließen. Aber wenn wir den DHCP-Server als Backup ausführen (da er selten oder nie ausfällt), dann müssen wir ihm irgendwie eine niedrigere Priorität zuweisen, damit er keine Adressen vergibt, es sei denn, der andere Server antwortet nicht oder ist ausgefallen.
Wie können wir das machen?
Antwort1
Leider bietet das DHCP-Protokoll keine Möglichkeit, dies zu tun.
Der DHCP-RFC besagt, dass ein Client, wenn er mehrere DHCP-ANGEBOTE empfängt (z. B. von mehreren Servern), entscheiden kann, welches ANGEBOT er akzeptiert. Dieser Auswahlalgorithmus wird jedoch als Implementierungsdetail den DHCP-Client-Implementierern überlassen.
Ich weiß, dass der DHCP-Client von Apple (in macOS, iOS, watchOS, tvOS, HomePod usw.) eine Heuristik hat, um das ANGEBOT auszuwählen, das mehr DHCP-Optionen enthält, und zwar unter der überraschend zuverlässigen Annahme, dass „echte“ DHCP-Server in Unternehmen eher so konfiguriert sind, dass sie viele zusätzliche DHCP-Optionen bereitstellen (wie etwa Listen mit zu verwendenden LDAP- und WINS-Servern), wohingegen ein beliebiger eingebetteter DHCP-Server in einem Gerät im Heimnetzwerk eines Verbrauchers eine viel kürzere Liste mit DHCP-Optionen hat (wie etwa ein Wi-Fi-Home-Gateway-Router, der versehentlich an das LAN des Unternehmens angeschlossen wurde).
Ich kann nicht für die DHCP-OFFER-Auswahlalgorithmen in anderen DHCP-Clientimplementierungen wie Windows, Android oder anderen Linux-Versionen usw. sprechen. Es könnte sein, dass viele DHCP-Clientimplementierungen in Ihrem Netzwerk einfach das erste OFFER auswählen, das sie sehen, oder das letzte Angebot, das sie sehen, nachdem sie X Millisekunden lang gewartet haben. Es gibt wirklich keine Möglichkeit, das herauszufinden. Sie könnten die Quellen für die beliebten Open-Source-DHCP-Clientimplementierungen durchsehen, aber ich bezweifle, dass es eine Möglichkeit gibt, herauszufinden, was verschiedene Versionen des Windows-DHCP-Clients tun, es sei denn, Microsoft hat es zufällig irgendwo öffentlich dokumentiert.