Manchmal kann es vorkommen, dass die Subnetzmaske von Netzen vergrößert (oder auch verkleinert) werden müssen. Dies kann zum Beispiel dann passieren, wenn in einem Netz für Clients nicht mehr genügend Adressen zur Verfügung stehen und die darüber/darunter liegenden Bereiche noch frei und ungenutzt sind. Geräte mit statischen Adressen wie Server, Router usw. können meist recht problemlos angepasst werden, hier wird dann z.B. aus der Subnetzmaske 255.255.255.0 (/24) eine 255.255.254.0 (/23) und schon hat man die Anzahl der nutzbaren Adressen verdoppelt.
Das Problem
Wird ein Windows Server als DHCP-Server genutzt, ist die Anpassung der Subnetzmaske nicht ganz so einfach machbar. Dies liegt daran, dass diese in den Einstellungen vom DHCP-Bereich ausgegraut ist und sich nicht ändern lässt. Das sieht dann wie folgt aus:
Die Lösung
Das Problem lässt sich mit einem kleinen Trick umgehen. Dieser Trick besteht darin, dass man den Bereich exportiert, die Export-Datei per Hand anpasst und den Bereich danach wieder importiert. Natürlich würde es auch funktionieren, wenn man den Bereich löscht und mit der neuen Subnetzmaske neu anlegt, allerdings wären dann auch alle Leases verschwunden und jeder Client würde eine neue IP-Adresse bekommen, die dann ggf. noch durch einen anderen Client belegt ist. Führt alles nur zu Chaos, daher besser alle vorhandenen Leases und Reservierungen behalten und den Export/Import-Weg nutzen.
Export der aktuellen Daten
Im ersten Schritt wird der aktuelle Bereich exportiert. Dies geschieht auf dem DHCP-Server über eine administrative CMD bzw. PowerShell. Hier muss der folgende Befehl abgesetzt werden:
netsh dhcp server \\Servername scope 192.168.xx.0 dump >c:\temp\dhcp.txt
Der Inhalt der Datei sieht wie folgt aus:
Anpassung der Subnetzmaske im Dump-File
Rot eingekreist sieht man die Subnetzmaske. Diesen Wert können wir nun auf den von mir gewünschten Wert umschreiben und die Datei wieder speichern.
Re-Import der Einstellungen
Nachdem wir nun die Subnetzmaske angepasst haben, müssen wir den aktuell produktiv genutzten Bereich löschen, damit wir ihn nachträglich wieder einziehen können. Sofern zwei DHCP-Server mit einem Load Balancing genutzt werden, muss erst das HA ausgelöst werden, dann muss der Bereich auf beiden Systemen entfernt werden. Danach kann ein Import auf einem der beiden Server passieren und der Bereich kann dann im Nachgang wieder als HA-Bereich definiert werden.
Der Import kann über zwei Varianten passieren. Bei neueren Systemen kommt der folgende Befehle zum Einsatz:
netsh exec c:\temp\dhcp.txt
Oder für ältere Systeme:
netsh dhcp server import c:\temp\dhcp.txt all
Nachdem die Datei abgearbeitet wurde und die DHCP-Konsole aktualisiert wurde, ist der neue Bereich nun wieder vorhanden. Sämtliche Einstellungen und Leases sollten nun wieder da sein und der Server verteilt nun ab diesem Zeitpunkt wieder IP-Adressen per DHCP. Die neu verteilten Adressen haben nun allerdings eine andere Subnetzmaske.
Wichtige Info: Überprüft nach der Migration unbedingt sämtliche Einstellungen für Router, DNS und alles weitere. Ich hatte in meinem Fall das Problem, dass bei der Migration die DNS-Server nicht korrekt übernommen wurden. Dies hatte zur Folge, dass Clients keine DNS-Server mitbekommen haben. Ohne DNS ist immer alles ziemlich doof 🙂