Puis-je avoir plusieurs serveurs DHCP sur un réseau?

86

Ceci est une question canonique sur les serveurs DHCP redondants.

Est-il possible d'avoir plus d'un serveur DHCP sur le même réseau local? Quelles sont les implications de faire cela?

  1. Que se passe-t-il s'il y a plus d'un serveur DHCP disponible? Comment mes clients savent-ils lequel utiliser?
  2. Comment les serveurs DHCP peuvent-ils fournir des adresses à plusieurs sous-réseaux \ segments de réseau?
  3. Comment configurer plusieurs serveurs DHCP pour qu'ils fournissent des adresses pour le même sous-réseau.
Rob Moir
la source
1
L'idée derrière cette question est de donner une réponse définitive à toutes les questions "Comment puis-je avoir plus d'un serveur DHCP" qui rendent fous nos utilisateurs les plus réguliers? J'espère que cela deviendra l'une de nos réponses canoniques ( meta.serverfault.com/questions/1986/… )
Rob Moir
2
RTFM? tools.ietf.org/html/draft-ietf-dhc-failover-12#section-5.3 (et la RFC 3074) définissent déjà ce comportement et linux dhcpd l'implémente manpages.ubuntu.com/manpages/precise/en/man5/. …
Dani_l
2
@Dani_l peut-être devriez-vous suivre le lien "question canonique" dans la question et peut-être aussi revoir les auteurs des réponses à ma question avant de me dire que j'ai besoin de RTFM.
Rob Moir
2
Je ne vous dis pas de lire le manuel. Je signale simplement qu'il existe un manuel. La question est canonique, mais, le cas échéant, j'estime qu'elle devrait inclure une référence aux procédures "officielles", le cas échéant. Dans ce cas, un IETF / RFC existe, et c'est aussi officiel que possible.
Dani_l

Réponses:

97

J'assume une connaissance de base de ce que fait DHCP et de la manière de configurer votre serveur DHCP de choix dans cette réponse, mais avant de parler de plusieurs serveurs DHCP sur le même réseau, commençons par rétablir rapidement la manière dont les clients reçoivent les adresses IP. de DHCP au niveau le plus élémentaire.

DHCP sur un réseau simple fonctionne selon le principe DORA.

  • Découverte - le client diffuse un message sur le segment du réseau local auquel il est connecté, pour découvrir les serveurs DHCP disponibles.

  • Offre - un serveur DHCP correctement configuré reçoit une demande d'un client et lui propose une adresse provenant de son pool d'adresses disponibles.

  • Demande - Le client répond à l'offre en demandant l'adresse reçue dans l'offre.

  • Accusé de réception - Le serveur accuse réception de la demande, marque l'adresse comme utilisée dans son pool d'adresses et informe le client de la durée de validité du bail d'adresse et de toute autre information nécessaire.

Tout périphérique sur un segment de réseau peut être un serveur DHCP; il n'est pas nécessaire que ce soit le routeur, le contrôleur de domaine ou tout autre périphérique "spécial" du réseau.

Lorsque les périphériques de votre réseau demandent pour la première fois une adresse IP ou atteignent la fin de leur bail (ou que vous les obligez à vérifier que leur bail est toujours valide), ils diffuseront simplement une demande de serveur DHCP et accepteront une offre du premier. Serveur DHCP pour répondre . Ceci est important à retenir lorsque nous examinons les options pour plusieurs serveurs DHCP ci-dessous.

Plusieurs serveurs DHCP PT 1: Répartition sur plusieurs sous-réseaux.

Si vous avez plusieurs VLAN ou segments de réseau physique séparés en différents sous-réseaux et que vous souhaitez fournir un service DHCP aux périphériques de tous ces sous-réseaux, vous avez le choix entre deux méthodes.

  1. Si le commutateur routeur / couche 3 qui les sépare peut servir d’agent de relais BOOTP / DHCP, vous pouvez continuer à conserver l’ensemble de vos serveurs DHCP dans une ou deux parties centrales de votre réseau et à configurer votre prendre en charge plusieurs plages d'adresses. Pour ce faire, votre routeur ou votre commutateur de couche 3 doit prendre en charge la spécification de l'agent de relais BOOTP décrite dans la section 4 de la RFC 1542 .

  2. Si votre routeur ne prend pas en charge les agents de relais RFC 1542 BOOTP, ou si certains de vos segments de réseau sont dispersés géographiquement sur des liaisons lentes, vous devrez installer un ou plusieurs serveurs DHCP dans chaque sous-réseau. Ce serveur DHCP "local" ne servira que les besoins de son propre segment local et il n'y a aucune interaction entre lui et les autres serveurs DHCP. Si c'est ce que vous voulez, vous pouvez simplement configurer chaque serveur DHCP en tant que serveur autonome, avec les détails du pool d'adresses pour son propre sous-réseau, sans vous soucier des autres serveurs DHCP sur d'autres parties du réseau. Ceci est l'exemple le plus élémentaire de plusieurs serveurs DHCP sur le même réseau.

Plusieurs serveurs DHCP PT 2: serveurs DHCP desservant le même segment de réseau.

Quand la plupart des gens demandent «plusieurs serveurs DHCP sur le même réseau», ce qu’ils demandent habituellement, c’est ce qu’ils demandent. ils veulent que plusieurs serveurs DHCP transmettent aux clients la même plage d'adresses réseau, soit pour répartir la charge entre plusieurs serveurs, soit pour assurer la redondance si un serveur est hors ligne.

C'est parfaitement possible, même si cela nécessite réflexion et planification.

Du point de vue du «trafic réseau», le processus DORA décrit au début de cette réponse explique comment plusieurs serveurs DHCP peuvent être présents sur un segment de réseau. le client diffuse simplement une demande de découverte et le premier serveur DHCP à répondre avec une offre est le «gagnant».

Du point de vue du serveur, chaque serveur disposera d'un pool d'adresses pouvant être envoyées aux clients, connues pour leur étendue d'adresses. Les serveurs DHCP desservant le même sous-réseau ne doivent pas avoir une seule étendue «partagée», mais plutôt une étendue «fractionnée».

En d’autres termes, si vous devez attribuer aux clients une plage d’adresses DHCP allant de 192.168.1.100 à 192.168.1.200, les deux serveurs doivent être configurés pour desservir des parties distinctes de cette plage. Le premier serveur peut donc utiliser des parties de cette étendue 192.168.1.100 à 192.168.1.150 et le deuxième serveur émettrait alors les numéros 192.168.1.151 à 192.168.1.200.

Split DHCP scope, montrant les exclusions

Les implémentations DHCP les plus récentes de Microsoft proposent un assistant permettant de fractionner facilement votre étendue, comme décrit dans un article de Technet qu'il serait intéressant de regarder même si vous n'utilisez pas l'implémentation Microsoft DHCP, car il illustre les principes évoqués. ici assez bien et cette réponse est déjà assez longue.

Fractionner le périmètre - meilleure pratique

Une chose que vous entendrez comme meilleure pratique est la règle 80/20 pour le fractionnement d'une étendue DHCP, ce qui signifie qu'un serveur servira à 80% des adresses de cette étendue et l'autre serveur DHCP, qui est effectivement "en réserve". servira 20% des adresses.

L'idée de fractionner les adresses 80/20 réside dans le fait que 80% des adresses disponibles devraient être suffisantes pour toutes les adresses nécessaires sur un sous-réseau, et que les baux DHCP sont généralement émis pour plusieurs jours. Par conséquent, si votre serveur DHCP principal tombe en panne pendant quelques heures, il est peu probable que plus de 20% des machines de ce sous-réseau aient besoin de renouveler leurs adresses pendant la période d'indisponibilité, ce qui rend le pool d'adresses de 20% suffisant.

Ceci reste un conseil raisonnable, mais il suppose deux choses:

  1. Que vous puissiez résoudre tout problème avec votre serveur DHCP «principal» assez rapidement pour éviter d'épuiser le petit pool d'adresses sur votre serveur DHCP de réserve.
  2. Que l'équilibrage de charge ne vous intéresse pas.

Ces jours-ci (comme vous pouvez le voir dans mes exemples), j'ai tendance à préférer les scissions à 50/50, ce qui, à mon avis, constitue une réponse plus réaliste aux points ci-dessus.

Une autre chose à prendre en compte lors de la création d'étendues sur les serveurs DHCP consiste à configurer l'étendue complète sur chaque serveur et à exclure l'étendue indiquée par l'autre serveur DHCP. Cela présente l'avantage de «documenter automatiquement» les informations DHCP pour le sous-réseau complet sur chaque serveur DHCP, ce qui améliorera la clarté pour quiconque tente de comprendre ce qui se passe, ainsi que dans le cas où l'un de vos serveurs DHCP serait hors ligne pendant Si vous le souhaitez, vous pouvez reconfigurer temporairement la plage d’exclusion sur l’autre serveur pour lui permettre de prendre le relais.

Combinant ces idées

Enfin, rappelez-vous que vous pouvez combiner les principes décrits ci-dessus - vous pouvez placer tous vos serveurs DHCP dans un ou plusieurs VLAN "serveurs centraux" et utiliser des agents de relais BOOTP sur tous vos routeurs pour envoyer toutes les demandes DHCP depuis un très grand et segmenté. réseau à un service DHCP centralisé (ce que je fais, voir ci-dessous). Vous pouvez également répartir les serveurs DHCP sur l’ensemble de votre réseau, avec un serveur DHCP "principal" dans son sous-réseau local et un serveur DHCP "de réserve" sur un segment de réseau "à proximité" fournissant un petit nombre d’adresses en sauvegarde - vous pouvez même avoir deux serveurs DHCP dans leurs propres segments de réseau configurés pour fournir une plage d'adresses 80/20 l'un pour l'autre. Le choix le plus judicieux dépendra de la façon dont vos réseaux physiques et logiques se correspondent.

Serveurs DHCP desservant des étendues divisées à plusieurs sous-réseaux

Rob Moir
la source
3
En cas de division des portées: veuillez noter que les réservations DHCP doivent être configurées sur les deux moitiés. Les garder synchronisées peut s'avérer fastidieux si vous devez effectuer des mises à jour fréquentes.
Tonny
4
Pouvez-vous élaborer sur les techniques permettant de s'assurer que le serveur DHCP de réserve n'est pas touché tant que le serveur DHCP principal est en cours d'exécution? D'après ce que je peux lire, s'il y avait une probabilité égale d'obtenir une réponse de l'un ou l'autre serveur, le serveur de réserve serait statistiquement à court d'adresses, dès que le nombre total de baux dépasserait le double de la taille du pool de réserve. Cela rend vraisemblablement le serveur de réserve inutile pour les nouveaux clients, lorsque le serveur DHCP principal est hors service ... pas vrai?
Niels B.
3
@ NielsB. si vous effectuez quelque chose comme un partage 80/20, vous pouvez définir un délai dans la réponse du serveur de réserve ( blogs.technet.com/b/teamdhcp/archive/2009/01/22/… ). Cela ne me dérange pas car j'utilise moi-même un split 50/50, mais cela fonctionnera.
Rob Moir
13

J'ai adopté cette approche il y a quelques années pour un réseau de petite à moyenne taille (500 utilisateurs) offrant des avantages considérables. DHCP a cessé d'être un point de défaillance unique. En associant en permanence les adresses MAC et IP, nous nous sommes assurés que les deux serveurs DHCP donnaient la même réponse à chaque requête DHCP. Connaître l'adresse IP de chaque actif réseau simplifie également l'administration du réseau et permet à DNS de fonctionner à partir de la même base de données. Le système utilisé Internet Software Corporation BIND et DNS, ainsi que les scripts associés, peuvent être téléchargés à l' adresse https://web.archive.org/web/20121031051901/http://www.pearbright.com/index.php/download/25- dns-dhcp-download .

Une alternative serait d'utiliser le véritable basculement ISC DHCPD: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html

Peter Talbot
la source
2
Le PO a spécifiquement demandé une réponse explicative à cette question. Vous voudrez peut-être réviser votre réponse pour la développer.
Brent Pabst
3
fwiw, bien que cette réponse soit courte et que je ne refuse jamais plus de détails dans un ensemble canonique de questions et de réponses, j’ai pensé que c’était plutôt bien car elle mentionne une méthode légèrement différente de redondance DHCP.
Rob Moir
1
@DJ Pon3 Je suis d'accord: j'exécute une configuration similaire à celle de votre grand DHCP multi-site (moins de VLAN) et j'utilise la même approche que Peter Talbot pour 3/4 de ces VLAN.
Tonny
1
Le lien est cassé maintenant :(
Sergey Vlasov