Migrare il ruolo DHCP Server in Windows Server 2016 e Windows Server 2019

Il DHCP è il tipico servizio che installiamo, sul quale definiamo le varie configurazioni e poi, fortunatamente, ci dimentichiamo della sua esistenza.

Tuttavia, nel momento in cui dobbiamo effettuare delle attività di manutenzione, come ad esempio la migrazione o l’aggiornamento del sistema che lo ospita, dobbiamo necessariamente considerare i vari aspetti collegati alla disponibilità del servizio ed alle conseguenze che una sua indisponibilità può comportare.

La prima considerazione da fare in senso generale è quella della continuità del servizio, e nell’articolo di Nicola Ferrini relativo al DHCP Failover troviamo un valido aiuto alla configurazione in alta affidabilità.

In realtà piccole può non essere possibile dedicare più macchine alla configurazione in ridondanza del DHCP, ma può essere comunque necessario spostare l’intero Database e le sue configurazioni su sistemi differenti. In questo caso è necessario effettuare uno spostamento completo di configurazioni ed indirizzi dal server principale al server secondario, il tutto riducendo al massimo i tempi di intervento in modo da minimizzare i tempi di indisponibilità.

Sul server di destinazione è necessario, ovviamente, installare i ruoli ed effettuarne l’autorizzazione in AD prima di eseguire la migrazione delle informazioni.

L’operazione di autorizzazione in AD è molto semplice ed è la condizione affinché il server DHCP possa operare, vediamo di seguito come è possibile autorizzare un nuovo DHCP server all’interno del dominio Active Directory

Autorizzazione del servizio DHCP

È possibile procedere con l’autorizzazione, dopo averne installato il ruolo, in due modi, con la classica GUI dalla quale si apre lo snap-in di management del DHCP e selezionando il server con il click desto del mouse si procede con AUTHORIZE

Figura 1 autorizzazione con GUI

Oppure tramite il cmdlet Powershell Add-DhcpServerInDC il quale deve essere eseguito in un ambiente con privilegi elevati

La sintassi per autorizzare il server dc01.ictpower.local con ip 192.168.0.1 sarà quindi Add-DhcpServerInDC -DnsName “dc01.ictpower.local” -IPAddress 192.168.0.1

Figura 2 autorizzazione con PowerShell

Per visualizzare i server eventualmente già autorizzati o la corretta esecuzione del comando di figura 2 è possibile usare il CmdLet Get-DhcpServerInDC

Figura 3 get-DhcpServerInDC

A questo punto il server su cui verrà trasferita l’intera configurazione del DHCP è pronto per l’importazione

Nota, sarebbe anche possibile eseguire l’autorizzazione tramite il comando Netsh, così come l’export e l’import della configurazione, ma siccome il comando potrebbe essere deprecato in futuro, si è ritenuto di non considerarlo in questa guida

PS C:\Users\Administrator.DC01> netsh

netsh>dhcp

In future versions of Windows, Microsoft might remove the Netsh functionality

for DHCP Server.

Microsoft recommends that you transition to Windows PowerShell if you currently

use netsh to configure and manage DHCP Server.

Type Get-Command -Module DhcpServer at the Windows PowerShell prompt to view

a list of commands to manage DHCP Server.

Visit https://go.microsoft.com/fwlink/?LinkId=217627 for additional information

about PowerShell commands for DHCP Server.

netsh dhcp>

qui sopra è riportato l’output del comando Netsh/Dhcp

Passi da seguire per la completa migrazione del servizio DHCP dal server rdcb01.ictpower.local al server dc01.ictpower.local

  • Export della configurazione dal server rdcb01.ictpower.local
  • Arresto del servizio DHCP sul server rdcb01.ictpower.local
  • Copia dell’export sul server dc01.ictpower.local
  • Import della configurazione sul server dc01.ictpower.local

Export delle configurazioni e dati del DHCP server attivo

Anche l’export può essere effettuato con PowerShell o con Netsh, ma quest’ultimo comando per le ragioni di cui sopra non verrà compreso in questa guida.

Per effettuare l’export è disponibile il CmdLet Export-DhcpServer che permette l’esportazione soltanto della configurazione, della configurazione di alcuni Scope, o dell’intero contenuto del server, compresi i lease, piuttosto che soltanto di alcuni Scope comprendendo anche in questo caso i lease attivi.

Figura 4 Opzioni di export del DHCP

La sintassi per esportare le configurazioni ed i dati di lease dell’intero server DHCP in rdcb01.ictpower.local sarà quindi

Export-DhcpServer -ComputerName “rdcb01.ictpower.local” -File “C:\Supporto\20190801DhcpBackup\20190801DhcpBackup.xml” -Leases

L’opzione -File indica il percorso dove verrà salvato l’intero export in formato XML

L’opzione -Leases informa il CmdLet di esportare anche l’intero contenuto del DB, ossia anche i lease attivi insieme alla configurazione completa

Figura 5 Dhcp Server Attivo da migrare

Figura 6 Esecuzione cmdlet Export-DhcpServer

A questo punto, se non vi sono errori, l’export completo è disponibile in C:\Supporto\20190801DhcpBackup\ ed è sufficiente copiarlo sul nuovo server per procedere poi all’importazione.

Import delle configurazioni e dati nel nuovo server

Avendo già in precedenza effettuato l’autorizzazione del DHCP in Active Directory, sempre da PowerShell dovremo usare il CmdLet Import-DhcpServer e supponendo di importare le configurazioni e dati sul server dc01.ictpower.local la sintassi del comando sarà

Import-DhcpServer -ComputerName “dc01.ictpower.local” -File “C:\Supporto\20190801DhcpBackup\20190801DhcpBackup.xml” -Leases -BackupPath c:\supporto\20190801DhcpBackup

L’opzione -File indica il percorso da dove verrà letto l’intero export in formato XML

L’opzione -Leases informa il CmdLet di importare anche l’intero contenuto del DB, compresi i lease attivi

L’opzione -backupPath definisce un percorso dove viene effettuato il backup realizzato contestualmente all’importazione

Figura 7 Esecuzione CmdLet Import-DhcpServer

Terminata l’esecuzione del comando troveremo i dati e le configurazioni presenti sul nuovo server

Figura 8 Ripristino delle configurazioni

Chiaramente il servizio presente sul server da cui sono stati esportati i dati dovrà essere posto in stato disattivo prima dell’importazione nel nuovo server al fine di evitare la sovrapposizione dei due server DHCP. E’ da tenere presente che in ambienti di grandi dimensioni può essere necessario riconfigurare i DHCP proxy che hanno il compito di reindirizzare le richieste DHCP provenienti dalle varie VLAN verso un IP puntuale, che in questo caso deve essere riconfigurato verso il nuovo server

Riferimenti

https://docs.microsoft.com/en-us/powershell/module/dhcpserver/export-dhcpserver?view=win10-ps

https://docs.microsoft.com/en-us/powershell/module/dhcpserver/import-dhcpserver?view=win10-ps

https://docs.microsoft.com/en-us/windows-server/networking/technologies/dhcp/what-s-new-in-dhcp