Sto assumendo una conoscenza di base di ciò che fa DHCP e di come configurare il tuo server DHCP preferito in questa risposta, ma prima di parlare di più server DHCP sulla stessa rete, prima di tutto ricapitoliamo rapidamente come i client ricevono gli indirizzi IP dal DHCP al livello più elementare.
Il DHCP su una rete semplice funziona utilizzando il principio DORA.
Rilevamento: il client trasmette un messaggio sul segmento di rete locale a cui è connesso, per scoprire i server DHCP disponibili.
Offerta: un server DHCP opportunamente configurato riceve una richiesta da un client e gli offre un indirizzo dal suo pool di indirizzi disponibili.
Richiesta: il cliente risponde all'offerta, richiedendo l'indirizzo ricevuto nell'Offerta.
Riconoscimento: il server riconosce la richiesta, contrassegnando l'indirizzo come utilizzato nel suo pool di indirizzi e informa il cliente per quanto tempo è valido il contratto di locazione degli indirizzi e qualsiasi altra informazione necessaria.
Qualsiasi dispositivo su un segmento di rete può essere un server DHCP; non deve essere il router o il controller di dominio o qualsiasi altro dispositivo "speciale" sulla rete.
Quando i dispositivi sulla tua rete richiedono per la prima volta un indirizzo IP o raggiungono la fine dei loro contratti di locazione (o li costringi a verificare che il loro contratto di locazione sia ancora valido), trasmetteranno semplicemente una richiesta per un server DHCP e accetteranno un'offerta dal primo Server DHCP per rispondere . Questo è importante da ricordare quando esaminiamo le opzioni per più server DHCP di seguito.
Più server DHCP PT 1: Spanning di più subnet.
Se si dispone di più VLAN o segmenti di rete fisica separati in diverse sottoreti e si desidera fornire un servizio DHCP ai dispositivi in tutte quelle sottoreti, esistono due modi per farlo.
Se lo switch router / layer 3 che li separa può fungere da agente di inoltro BOOTP / DHCP, è possibile continuare a mantenere tutti i server DHCP in una o due parti centrali della rete e configurare i server DHCP per supporta più intervalli di indirizzi. Per supportare ciò, il router o lo switch di livello 3 devono supportare le specifiche dell'agente di inoltro BOOTP descritte nella sezione 4 della RFC 1542 .
Se il router non supporta gli agenti di inoltro BOOTP RFC 1542 o se alcuni dei segmenti di rete sono geograficamente distribuiti su collegamenti lenti, sarà necessario posizionare uno o più server DHCP in ciascuna sottorete. Questo server DHCP "locale" soddisferà solo i requisiti del proprio segmento locale e non vi sarà alcuna interazione tra esso e altri server DHCP. Se questo è ciò che desideri, puoi semplicemente configurare ciascun server DHCP come server autonomo, con i dettagli del pool di indirizzi per la propria sottorete e non preoccuparti di altri server DHCP su altre parti della rete. Questo è l'esempio più basilare di avere più di un server DHCP sulla stessa rete.
Più server DHCP PT 2: server DHCP che servono lo stesso segmento di rete.
Quando la maggior parte delle persone chiede "più server DHCP sulla stessa rete", ciò che di solito chiedono è questo; desiderano che più server DHCP emettano lo stesso intervallo di indirizzi di rete ai client, per suddividere il carico tra più server o per fornire ridondanza se un server è offline.
Questo è perfettamente possibile, anche se richiede un po 'di pensiero e pianificazione.
Da un punto di vista del "traffico di rete", il processo DORA descritto all'inizio di questa risposta spiega come più di un server DHCP può essere presente su un segmento di rete; il client trasmette semplicemente una richiesta di individuazione e il primo server DHCP che risponde a un'offerta è il "vincitore".
Dal punto di vista del server, ogni server avrà un pool di indirizzi che può emettere ai client, noto il suo ambito di indirizzi. I server DHCP che servono la stessa sottorete non dovrebbero avere un singolo ambito "condiviso", ma piuttosto dovrebbero avere un ambito "diviso".
In altre parole, se si dispone di un intervallo di indirizzi DHCP da inviare ai client da 192.168.1.100 a 192.168.1.200, entrambi i server devono essere configurati per servire parti separate di tale intervallo, quindi il primo server potrebbe utilizzare parti di tale ambito da Da 192.168.1.100 a 192.168.1.150 e il secondo server emetterebbe quindi da 192.168.1.151 a 192.168.1.200.
Le implementazioni più recenti di Microsoft del DHCP hanno una procedura guidata per rendere più semplice la suddivisione dell'ambito in questo modo, descritta in un articolo Technet che potrebbe valere la pena guardare anche se non si utilizza l'implementazione di Microsoft DHCP, in quanto illustra i principi di cui si parla qui abbastanza bene e questa risposta è già abbastanza lunga.
Dividere l'ambito di applicazione - best practice
Una cosa che sentirai menzionata come best practice è la regola 80/20 per la divisione di un ambito DHCP, il che significa che un server servirà l'80% degli indirizzi in tale ambito e l'altro server DHCP, che è effettivamente "riservato" servirà il 20% degli indirizzi.
L'idea alla base della divisione degli indirizzi 80/20 è perché l'80% degli indirizzi disponibili dovrebbe sperare essere adeguato per tutti gli indirizzi necessari su una sottorete e i contratti di leasing DHCP vengono generalmente emessi per diversi giorni; pertanto, se il server DHCP principale si arresta per alcune ore, è improbabile che oltre il 20% delle macchine su quella sottorete debba rinnovare i propri indirizzi durante i tempi di inattività, rendendo sufficiente il pool di indirizzi del 20%.
Questo è ancora un consiglio ragionevole, ma presuppone due cose:
- Che puoi risolvere qualsiasi problema con il tuo server DHCP "principale" abbastanza rapidamente da evitare di esaurire il piccolo pool di indirizzi sul tuo server DHCP di riserva.
- Che non sei interessato al bilanciamento del carico.
In questi giorni (come puoi vedere dai miei esempi) tendo a preferire 50/50 divisioni, che penso siano una risposta più realistica ai punti di cui sopra.
Un'altra cosa da considerare quando si creano gli ambiti sui server DHCP è configurare l'intero ambito in ciascun server ed escludere l'intervallo fornito dall'altro server DHCP. Ciò ha il vantaggio di "autocertificare" le informazioni DHCP per la sottorete completa su ciascun server DHCP, il che migliorerà la chiarezza per chiunque cerchi di capire cosa sta succedendo, e anche nel caso in cui uno dei server DHCP sia offline per qualche volta, è possibile riconfigurare temporaneamente l'intervallo di esclusione sull'altro server per consentirgli di recuperare il gioco.
Combinando queste idee
Infine, vale la pena ricordare che è possibile combinare i principi discussi sopra: è possibile posizionare tutti i server DHCP in uno o più VLAN "server centrali" e utilizzare gli agenti di inoltro BOOTP su tutti i router per inviare tutte le richieste DHCP da un server molto grande e segmentato rete a un servizio DHCP centralizzato (che è quello che faccio, vedi sotto). Oppure puoi avere server DHCP distribuiti su tutta la tua rete, con un server DHCP "principale" nella sua sottorete locale e un server DHCP "riservato" su un segmento di rete "vicino" che fornisce una piccola quantità di indirizzi come backup - potresti persino avere due server DHCP nei propri segmenti di rete configurati per fornire un intervallo di indirizzi 80/20 l'uno per l'altro. La scelta più sensata dipenderà da come le tue reti fisiche e logiche si mappano l'una con l'altra.