Windows Server 2008R2 DHCP Synchronize reserved IPs (DHCP-Reservierung von einem Server auf einen anderen kopieren)

DHCP SynchronisationRedundante DHCP-Server sind eine feine Sache. Microsoft geht sowas gerne mit der 70/30 Methode an, andere Hersteller haben andere Zahlen – nutzen aber die selbe Technik. Die Proportionen sind natürlich jeweils anpassbar, die Taktik aber gleich: Man baut einfach identische DHCP-Server, schliesst aber jeweils die Hälfte der Adressen (oder 70% und 30%) von der Verteilung pro Server aus. Funktioniert gut, ist aber nicht die performateste Möglichkeit – und löst das Problem der Reservierungen nicht. Reservierungen müssen jeweils auf beiden (oder mehr) Servern angelegt werden, sonst endet ein Client gerne mal mit einer falschen (oder vermeintlich reservieren) Adresse.

Dieses Script holt sich die DHCP-Reservierungen von einem „Master“ Server ab und importiert diese in (den selben Bereich) in einen Zielserver. Der Bereich muss schon existieren. Die restliche Konfiguration der Server bleibt dem Admin überlassen – ob 50/50, 70/30 oder 100/100 ist egal. Es werden nur die Reservierungen kopiert. Diese Aufgabe ist Scripttechnisch etwas hakelig, weil die Waffe der Wahl „netsh“ die Daten im DHCP zwar lesen und schreiben kann, dafür aber unterschiedliche Formatierungen benötigt. MAC-Adressen werden zum Beispiel im Format „aa-aa-aa-aa-aa-aa-“ (ja mit dem „-“ am Ende) ausgegeben, beim ‚delete reservedip‘ muss aber das Format „aaaaaaaaaaaa“ genutzt werden. Danke Microsoft *ARGH*.

Features

  • Benötigt keine Erweiterungen oder ekelige Tools (VBScript, Powershell, .NET, Whatever). Nur Einfaches Batch, SED (enthalten) und netsh
  • Läuft – abhängig vom DHCP-Server – recht schnell
  • Nutzung sehr einfach
  • Keine Parameter, einfach starten

Benutzung

  • Herunterladen, auspacken
  • Script bearbeiten, Variablen ausfüllen
  • Als Nutzer mit passenden Rechten (z.B. DHCP-Operator) starten. Sowohl Quell- als auch Ziel-DHCP Dienst müssen laufen.

Download

ToDo

  • Auf Server 2012 erweitern (DHCP-Failover nutzen)
  • Übersetzen 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.