2015-03-07 17 views
12

Gibt es einen Netzwerk-Broadcast-Anruf oder etwas, das alle verbundenen DHCP-Clients dazu zwingen kann, ihre Adressen sofort zu erneuern?Wie erzwingen, dass alle DHCP-Clients erneuern?

Und wenn nicht, warum nicht? Sicherlich wurde diese Funktionalität von DHCP-Administratoren ab dem Zeitpunkt ihrer Entstehung gewünscht. Es macht die Änderung einer Router-Adresse in einem großen Netzwerk sehr schwierig ohne durchdringende Client-Automatisierung.

+2

Duplikat von http://serverfault.com/q/418898/107832 – koppor

+1

Kein Duplikat aus mehreren Gründen. Das wichtigste ist, dass ich eine Erneuerung ALLER Clients in einem Netzwerk erzwinge, und diese Frage fragt nur nach einem. Und die Antworten sind auch anders. Die Antwort auf meine Frage ist ein plattes NEIN, wobei die Antwort auf die andere "manchmal" ist. –

+0

Entschieden, um die Frage ein wenig zu klären. –

Antwort

9

Es ist nicht möglich ohne letting the network down and up at the client network interface.

Theoretisch kann der DHCP-Server eine FORCERENEW-Nachricht an alle verbundenen Clients senden. FORCERENEW wird unter RFC3203 beschrieben. (Siehe auch https://serverfault.com/a/569869/107832)

Leider ist die berühmte ISC DHCP Server nicht unterstützt wird:

RFC 3315 Staaten section 19.4.1 rekonfigurieren Nachrichten. Dies gilt jedoch nur für IPv6. A message Staaten, die DOCSIS 3.0 „erfordert neu konfigurieren Unterstützung (für DHCPv6), wie in RFC3315 spezifiziert“

+0

Unterstützt ISC DHCP DHCPv6 Nachrichten neu konfigurieren? –

+3

Untersuchung des Client-Quellcodes in dhc6.c von ISC DHCP 4.3.1, die Antwort ist ein qualifizierter YES, @ ToddFreed. In Abschnitt 14 von [https://tools.ietf.org/html/rfc3315] implementiert es einen Ganzzahlbereich von 1 ..40 statt eines Float-Bereichs von -0,1,0,1. Aber in allen Sinn und Zweck sieht der Code aus, wie es reconfigured Nachrichten unterstützt. –

+2

Das wäre es wert, mit einigen Quellcodeauszügen hier in einer neuen Antwort weiter zu expandieren. Ich würde es aufwerten, und diese Frage bekommt immer noch viele Ansichten. –

4

Es ist nicht direkt möglich - DHCP gibt eine IP-Adresse mit einer Lease aus. Dieser Mietvertrag teilt dem Kunden mit, wie lange er "gültig" ist, danach muss er erneuert werden. Gewöhnlich - es wird die gleiche IP erneuern, aber dies ist der Punkt, an dem die DCHP-Verhandlung stattfindet.

Die Erzwingung jeder Maschine in einem Netzwerksegment zu erneuern ist eine wirklich gute Möglichkeit, einen Denial-of-Service-Angriff zu erzeugen.

Stattdessen können Sie jedoch die Lease-Zeit auf wenige Minuten reduzieren, während Sie zur neuen Netzwerktopologie wechseln. Praktisch bedeutet dies einen kleinen Ausfall, aber Sie würden das trotzdem mit der Wiedererlangung mehrerer IPs bekommen.

+1

Sie müssen also vorausplanen - zeitlich mindestens so lange wie Ihre Lease-Einstellungen. Das ist ein königlicher Schmerz. Es scheint, als sollte es einen besseren Weg geben. –

+0

Führen Sie das Release-Renew manuell auf jeder Maschine aus. In einem kleinen Netzwerk ist es einfach, und in einem großen Netzwerk sollte man es sowieso als geplante Änderung machen, also spielt es keine Rolle. – Sobrique

+0

Client-Automatisierung ist nicht so schwer wie Sie denken - in jedem Netzwerk jeder Größe sollten Sie sie entweder auf einer Domäne haben (wenn Windows) und so "psexec" oder SSH öffentlich-private Schlüsselpaare für Unix konfiguriert haben. – Sobrique

2

ich durch Abschalten der dhcpd-Service, das Löschen der Datei /var/lib/dhcpd/dhcpd.leases alle Leases entfernen verwaltet, und den Daemon neu starten. Dann müssen Sie jedes Gerät dazu bringen, eine IP-Adresse vom DHCP-Server zu beziehen. Bei einigen Geräten funktioniert ein einfacher Stromausfall.