Windows Server 2016 Highlights: DHCP Failover

Il DHCP (Dynamic Host Configuration Protocol) è un ruolo che può essere installato in Windows Server 2016. Utilizzando questo ruolo potete configurare tutti i client in modo tale che ricevano indirizzi IP e tutte le informazioni relative alle configurazioni di rete.

I client DHCP possono essere computer, dispositivi mobili, stampanti oppure switch. Il DHCP può dare anche informazioni sugli indirizzamenti IP a tutti quei client che fanno boot da rete (ad esempio i client che fanno PXE boot).

Tramite gli Scope del DHCP, l’amministratore di sistema configura il range degli indirizzi IP e tutte le informazioni da distribuire ai client che richiedono un indirizzo di rete. È possibile associare gli Scope soltanto ad una singola subnet. Lo Scope generalmente consiste nel range di indirizzi che il server DHCP distribuisce, una subnet mask, tutta una serie di opzioni ed ovviamente la durata degli indirizzi.

Quando assegnate un indirizzo IP ad un client, infatti, potete contemporaneamente assegnare anche altri parametri relativi alla configurazione di rete. In genere i parametri più diffusi sono il default gateway, il server DNS e il suffisso DNS.

Come i client acquisiscono l’indirizzo IP

I client richiedono gli indirizzi IP utilizzando un processo chiamato DORA (Discover, Offer, Request, ACKnowledgement), come mostrato in figura:

Figura 1: Processo di richiesta dell’indirizzo IP da parte dei client DHCP

Funzionalità DHCP nuove e migliorate Windows Server 2012 R2

Windows Server 2012 R2 ha introdotto delle nuove importanti funzionalità nel ruolo di DHCP server:

  • Miglioramento della registrazione DNS. Gli amministratori di sistema possono configurare delle differenti DHCP policy in base all’FQDN del client. Il server DHCP può registrare i client con un diverso suffisso DNS e fare l’override dei suffissi DNS configurati sul client.
  • Opzione per la registrazione dei record PTR. Il server DHCP registra solo record host A verso i DNS server ma non il record pointer PTR. Questo scenario è interessante per le organizzazioni che non hanno una Reverse Lookup Zone creata nel server DNS, in modo tale che solo i record A vengano registrati nel DNS. È possibile disabilitare la registrazione dei record PTR per tutti I client DHCP o soltanto per alcuni client specifici. Potete selezionare il client per i quali volete disabilitare la registrazione dei record PTR in base a differenti criteri, come ad esempio la sottorete, la location del client oppure alcuni attributi specifici del client stesso.

Novità delle funzionalità DHCP Windows Server 2016

Il ruolo DHCP in Windows Server 2016 non ha nuove funzionalità o miglioramenti rispetto a Windows Server 2012 R2. Tuttavia c’è un grossissimo cambiamento che può interessare le organizzazioni che hanno implementato NAP. In Windows Server 2016 infatti il ruolo DHCP non sopporta più NAP (Network Address Protection).

Che cos’è il DHCP failover?

Il DHCP failover è una funzionalità di Windows Server 2016 che serve a rendere altamente disponibile il servizio DHCP. Questa funzionalità è stata introdotta in Windows Server 2012 e permette di poter configurare due diversi server DHCP in modo tale che distribuiscano gli indirizzi IP all’interno dello stesso Address Pool.

Quando il servizio DHCP non funziona, i client perdono la connettività verso la rete e verso tutte le risorse. I client DHCP rinnovano il proprio Lease di indirizzo IP ad intervalli regolari e configurabili. Se il servizio DHCP non funziona oppure il Lease scade, il client non possiede più un indirizzo IP. Il DHCP failover permette di gestire questo tipo di problematiche.

In passato per rendere altamente disponibile il ruolo DHCP bisognava configurare 2 server DHCP uguali e tenerne uno acceso ed uno pronto in stand-by nel caso il primo non fosse disponibile. Un’altra opzione era configurare il DHCP in cluster, ma questo richiedeva uno sforzo di configurazione notevole.

Con la funzionalità di DHCP failover invece è possibile configurare il 2 server DHCP in modo tale che replichino le stesse configurazioni e le stesse informazioni relative al Lease. Se uno dei due server non funziona l’altro server in grado di continuare a offrire lo stesso servizio all’intera rete.

Figura 2: Failover-enabled DHCP Scope

Come configurare il DHCP failover

Per configurare il DHCP failover è necessario stabilire una Failover relationship tra due server DHCP. Il nome di queste relationship deve essere univoco. I partner si scambiano questo nome durante la configurazione e questo permette ad un singolo server DHCP di poter avere diverse failover relationship con altri server DHCP.

È possibile configurare solo due server DHCP per il failover per ognuna delle Failover relationship che si possono creare e solo per Scope e Subnet IPv4.

È importante sottolineare che il DHCP failover è time-sensitive. Per questo motivo dovete sincronizzare l’orario dei due partner. Se la differenza di tempo è superiore a un minuto allora il processo di failover si bloccherà.

Il Failover può essere configurato in due modi: Hot Standby e Load sharing.
Nella modalità Hot Standby un server sarà il server primario e l’altro il server secondario. Il server primario assegna attivamente le configurazioni IP per lo Scope per la Subnet. Il server DHCP secondario interviene solo se il server primario non è disponibile. Un server DHCP può essere contemporaneamente il primario per uno Scope per una Subnet ed il secondario per un altro Scope per un’altra Subnet. Potete configurare la percentuale degli indirizzi IP che dovranno essere assegnati al server di Standby. Se il server principale è down, il server in standby ricevere questi indirizzi durante il Maximum Client Lead Time Interval. Per default il 5% degli indirizzi disponibili sono riservati per il server secondario. Il server secondario prende il controllo dell’intero range di indirizzi IP nel momento in cui il Maximum Client Lead Time Interval scade.

La modalità Load Sharing, che è quella di default, invece fa in modo tale che entrambi i server rilascino gli indirizzi IP ai client contemporaneamente. Potete configurare questa modalità in modo tale da stabilire la Load Distribution Ratio, cioè la percentuale di indirizzi IP dello Scope che ogni server DHCP dovrà rilasciare. La Default Distribution Ratio è 50:50, cioè ognuno dei due server rilascia la metà degli indirizzi IP disponibili nello Scope.

Per impostare il DHCP Failover vi basta aprire la console del DHCP e cliccare col tasto destro sullo Scope da mettere in alta disponibilità. Seguite le indicazioni del wizard, che sono davvero semplici, e procedete nella configurazione.

Figura 3: Creazione della relazione di Failover per lo scope

Figura 4: Scelta dello scope da mettere in Failover

Figura 5: Scelta del server DHCP partner da usare per creare la Failover Relationship

Figura 6: Scelta dei parametri della relazione

Il Maximum Client Lead Time è un parametro che determina per quanto tempo un server deve aspettare, quando il proprio partner non è disponibile, prima di assumere il controllo della subnet o dello scope. Questo valore non può essere uguale a 0.

L’ Auto State Switchover Interval è invece l’intervallo di tempo dopo il quale il server si mette nello stato di Partner-down. Quando un server non riesce più a comunicare con il proprio partner, non ha modo di sapere quale motivo ha causato la perdita di comunicazione. Il server pertanto rimane in questo stato fino a quando non viene messo in modalità Partner-down manualmente dall’amministratore. Questa transizione “di stato” si può automatizzare tramite il parametro Auto State Switchover Interval.

Il Message authentication serve ad autenticare il traffico che avviene tra i due server partner. Per farlo potete mettere una password durante il wizard di creazione della relazione.

Figura 7: Conferma dell’avvenuta relazione tra i due server DHCP

Una volta creata la relazione, vengono replicate tutte le informazioni relative allo Scope dal primo al secondo server. Nel mio esempio ho scelto la modalità Load Balance. Una volta creata la relazione lo Scope sul secondo server viene attivato.

NOTA: Il DHCP failover utilizza pa porta TCP 647 per scambiare i messaggi di failover tra i due failover partner server. Ci sono anche due regole predefinite in Windows Firewall che vengono create quando viene installato il ruolo di DHCP:

  • Microsoft-Windows-DHCP-Failover-TCP-In
  • Microsoft-Windows-DHCP-Failover-TCP-Out

Se aggiungete il secondo server alla console potete verificare che tutte le informazioni si sono replicate, come mostrato in figura:

Figura 8: Lo scope ed i parametri sono replicati sul secondo server

È possibile rimuovere la relazione di Failover in qualsiasi momento, semplicemente cliccando sullo Scope e scegliendo Deconfigure Failover, come mostrato in figura:

Figura 9: Eventuale rimozione della relazione di Failover

Conclusioni

Il servizio DHCP è uno dei più importanti servizi di rete e la funzionalità di DHCP Failover ci permette di metterlo in alta disponibilità con pochissimi passaggi, semplificando di molto la gestione dei server e impedendo gravi disservizi di rete per i client.