web-dev-qa-db-fra.com

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

Il s'agit d'une question canonique sur les serveurs DHCP redondants.

Est-il possible d'avoir plus d'un serveur DHCP sur le même LAN? Quelles sont les implications de cela?

  1. Que se passe-t-il si plusieurs serveurs DHCP sont disponibles? Comment mes clients savent-ils lequel utiliser?
  2. Comment puis-je avoir des serveurs DHCP fournissant des adresses à plus d'un sous-réseau\segment de réseau?
  3. Comment puis-je configurer plusieurs serveurs DHCP pour fournir des adresses pour le même sous-réseau.
92
Rob Moir

Je suppose une connaissance de base de ce que fait DHCP et comment configurer le serveur DHCP de votre choix dans cette réponse, mais avant de parler de plusieurs serveurs DHCP sur le même réseau, nous allons tout d'abord récapituler rapidement la façon 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 de réseau local auquel il est connecté pour découvrir les serveurs DHCP disponibles.

  • Offre - un serveur DHCP convenablement configuré reçoit une demande d'un client et lui propose une adresse à partir 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" sur le réseau.

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

Plusieurs serveurs DHCP PT 1: couvrant plusieurs sous-réseaux.

Si vous avez plusieurs VLAN ou segments de réseau physiques qui sont 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, il existe deux façons de procéder.

  1. Si le routeur/commutateur de couche 3 qui les sépare peut agir comme un agent de relais BOOTP/DHCP, vous pouvez continuer à conserver tous vos serveurs DHCP dans une ou deux parties centrales de votre réseau et configurer vos serveurs DHCP pour prendre en charge plusieurs plages d'adresses. Afin de prendre en charge cela, votre routeur ou commutateur de couche 3 doit prendre en charge la spécification d'agent de relais BOOTP couverte par section 4 de la RFC 1542 .

  2. Si votre routeur ne prend pas en charge les agents relais BOOTP RFC 1542, ou si certains de vos segments de réseau sont dispersés géographiquement sur des liaisons lentes, vous devrez placer un ou plusieurs serveurs DHCP dans chaque sous-réseau. Ce serveur DHCP "local" ne répondra qu'aux exigences 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, et ne vous souciez pas d'autres serveurs DHCP sur d'autres parties du réseau. Ceci est l'exemple le plus basique d'avoir plus d'un serveur DHCP sur le même réseau.

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

Lorsque la plupart des gens posent des questions sur "plusieurs serveurs DHCP sur le même réseau", ils demandent généralement ceci; ils souhaitent que plusieurs serveurs DHCP délivrent la même plage d'adresses réseau aux clients, soit pour répartir la charge entre plusieurs serveurs, soit pour assurer la redondance si un serveur est hors ligne.

Ceci est parfaitement possible, bien qu'il nécessite une réflexion et une 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 aura un pool d’adresses qu’il peut délivrer aux clients, connu pour sa portée d’adresses. Les serveurs DHCP qui desservent le même sous-réseau ne doivent pas avoir une seule étendue "partagée", mais plutôt une étendue "divisée".

En d'autres termes, si vous avez une plage d'adresses DHCP à délivrer aux clients de 192.168.1.100 à 192.168.1.200, les deux serveurs doivent être configurés pour desservir des parties distinctes de cette plage, de sorte que le premier serveur peut utiliser des parties de cette étendue à partir de 192.168.1.100 à 192.168.1.150 et le deuxième serveur émettrait alors 192.168.1.151 à 192.168.1.200.

Split DHCP scope, showing exclusions

Les implémentations plus récentes de DHCP de Microsoft disposent d'un assistant pour faciliter la répartition de votre portée, comme décrit dans un article Technet qui pourrait être utile à regarder même si vous n'utilisez pas l'implémentation DHCP de Microsoft, car il illustre assez bien les principes dont il est question ici et cette réponse est déjà suffisamment longue.

Fractionner le champ d'application - meilleures pratiques

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

L'idée derrière la division des adresses 80/20 est parce que 80% des adresses disponibles devraient être adéquates pour toutes les adresses nécessaires sur un sous-réseau, et les baux DHCP sont généralement émis pour plusieurs jours; donc 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 devront renouveler leurs adresses pendant le temps d'arrêt, ce qui rend le pool d'adresses de 20% suffisant.

C'est toujours un conseil raisonnable, mais cela suppose deux choses:

  1. Que vous pouvez 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 vous n'êtes pas intéressé par l'équilibrage de charge.

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

Une autre chose à considérer lors de la création de vos étendues sur les serveurs DHCP est de configurer l'étendue complète dans chaque serveur et d'exclure la plage donnée par l'autre serveur DHCP. Cela a l'avantage de "documenter soi-même" les informations DHCP pour le sous-réseau complet sur chaque serveur DHCP, ce qui améliorera la clarté pour quiconque essaie de comprendre ce qui se passe, et également dans le cas où l'un de vos serveurs DHCP est hors ligne pour un certain temps, vous pouvez reconfigurer temporairement la plage d'exclusion sur l'autre serveur pour lui permettre de prendre le relais.

Combiner ces idées

Enfin, il vaut la peine de se rappeler que vous pouvez combiner les principes discutés ci-dessus - vous pouvez placer tous vos serveurs DHCP dans un ou plusieurs VLAN "de serveur central" et utiliser des agents de relais BOOTP sur tous vos routeurs pour envoyer toutes les demandes DHCP à partir d'un très grand et segmenté réseau à un service DHCP centralisé (ce que je fais, voir ci-dessous). Ou vous pouvez avoir des serveurs DHCP répartis sur 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 une petite quantité d'adresses en tant que sauvegarde - vous pourriez même avoir deux serveurs DHCP dans leurs propres segments de réseau configurés pour se fournir une plage d'adresses 80/20. Le choix le plus judicieux dépendra de la correspondance entre vos réseaux physiques et logiques.

DHCP servers serving split scopes to multiple subnets

104
Rob Moir

J'ai adopté cette approche il y a quelques années pour un réseau de petite à moyenne taille (500 utilisateurs) avec 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 demande DHCP. La connaissance de l'adresse IP de chaque ressource réseau a également simplifié l'administration du réseau et DNS pourrait fonctionner à partir de la même base de données. Le système utilise Internet Software Corporation BIND et DNS, et 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 vrai basculement DHCP ISC: https://kb.isc.org/article/AA-00502/0/A-Basic-Guide-to-Configuring-DHCP-Failover.html =

14
Peter Talbot