Pourquoi un serveur DHCP a-t-il besoin d'une adresse IP statique?

8

J'expérimente diverses configurations de réseau à l'aide de machines virtuelles. Lorsque je configure le rôle DHCP sur Windows Server, il nécessite une adresse IP statique. J'ai du mal à comprendre pourquoi cela est nécessaire d'un point de vue technique .

Ma compréhension du DHCP est qu'un client diffuse une demande de découverte DHCP sur le réseau et n'importe quel appareil du réseau peut répondre. Un serveur DHCP a donc besoin d'une adresse IP, mais pourquoi cette adresse IP doit-elle être statique? Le serveur DHCP peut obtenir son adresse ailleurs et toujours répondre à la diffusion tant qu'il dispose d' une adresse IP.

Par exemple

  • Le serveur A , le serveur B et le client X sont tous connectés au même commutateur
  • Le serveur A est 10.0.0.1 et sert 10.0.0.X / 24
  • Le serveur A est configuré pour donner uniquement l'IP au serveur B via le filtrage MAC
  • Le serveur B obtient son IP du serveur A , il vit donc sur 10.0.0.X / 24
  • Le serveur B sert 10.0.1.X / 24
  • Le client X se connecte et obtient une adresse IP du serveur B

Bien sûr, une fois que le client X obtient l'IP du serveur B , il ne pourra pas contacter directement le serveur B car ils vivent sur différents sous-réseaux. Mais ce n'est pas un problème - la demande DHCP est (initialement) une diffusion, donc tout le monde sur le commutateur la recevra.

Ignorer un point de vue de gestion, pourquoi ne puis-je pas

  • Un serveur DHCP maître avec IP statique, il ne sert que les autres serveurs DHCP
  • Une plage d'adresses pour les serveurs DHCP "secondaires"
  • Une plage d'adresses pour les clients, obtenue à partir des serveurs DHCP "secondaires"

Y a-t-il une raison technique pour laquelle les serveurs DHCP doivent avoir une adresse IP statique?

Kevin
la source

Réponses:

6

Ma compréhension du DHCP est qu'un client diffuse une demande de découverte DHCP sur le réseau et n'importe quel périphérique sur le réseau peut répondre.

Un client peut également effectuer une requête DHCP unicast, la demande de renouvellement est effectuée en unicast, de sorte que le client demande directement le serveur DHCP. Que faire si le DHCP a changé son adresse IP d'origine? Le renouvellement échouera et la prochaine demande sera faite en diffusion. Ce qui n'est pas un comportement qui optimisera votre trafic réseau.

Microsoft:

Renouvellement d'un bail Le client DHCP tente d'abord de renouveler son bail lorsque 50% de la durée du bail d'origine, appelée T1, est écoulée. À ce stade, le client DHCP envoie un message DHCPRequest unicast au serveur DHCP qui a initialement accordé son bail. Si le serveur est disponible et que le bail est toujours disponible, le serveur répond avec un message DHCPAck unicast et le bail est renouvelé.

La source

ISC:

Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/00:0c:29:ac:18:75
Sending on   LPF/eth0/00:0c:29:ac:18:75
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7 << First request
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPOFFER from 10.0.0.253
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 133 seconds.



DHCPREQUEST on eth0 to 10.0.0.253 port 67 << Renewal
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 119 seconds.
DHCPREQUEST on eth0 to 10.0.0.253 port 67
DHCPACK from 10.0.0.253
bound to 10.0.0.6 -- renewal in 118 seconds.

Cependant, une fois le bail accordé, les futurs messages DHCP DHCPREQUEST / RENEWAL sont unicast directement sur le serveur DHCP.

La source

Nabil Bourenane
la source
9

Un serveur DHCP doit avoir une adresse IP configurée pour pouvoir savoir quelles étendues sont connectées localement aux interfaces physiques et quelles étendues ne peuvent être desservies que via un relais DHCP.

Ignorer un point de vue de gestion,

Je suis désolé, mais je pense qu'il est stupide d'essayer de faire un signe de la main et d'ignorer les problèmes pratiques liés à la gestion de votre réseau. Obtenir une adresse IP valide est essentiel sur la plupart des réseaux. Vous ne voudriez jamais que votre serveur DHCP tombe en panne car il n'a pas pu obtenir sa propre adresse valide. Le logiciel et les protocoles sont conçus pour fonctionner dans des situations pratiques courantes. Ce que vous décrivez semble créer plusieurs endroits où les choses échouent avec un gain réel faible ou nul .

Si vous voulez vraiment avoir une sorte de configuration dynamique d'un serveur DHCP, vous devriez probablement envisager d'utiliser un système de gestion de configuration pour appliquer les paramètres sur le serveur DHCP, au lieu d'essayer d'utiliser DHCP pour configurer votre serveur DHCP.

Zoredache
la source
Pouvez-vous ajouter plus d'explications sur la façon dont une adresse IP statique est liée à la sélection des étendues? Si j'ai deux sous-réseaux dans un réseau physique, un relais DHCP ne serait pas nécessaire.
Kevin
2
Un seul serveur DHCP peut avoir de nombreuses étendues. Vous pouvez donc configurer des étendues pour ces deux sous-réseaux sur un seul serveur. Un serveur DHCP peut uniquement répondre aux demandes de diffusion avec des étendues associées au sous-réseau local. Il le détermine en examinant les adresses locales attribuées. Par mesure de sécurité, la plupart des serveurs DHCP nécessitent que cela soit statique. Qu'arriverait-il à votre réseau dans votre exemple, si votre serveur DHCP obtenait une adresse DHCP d'un serveur DHCP non autorisé?
Zoredache
Donc, est-il correct de dire: "Demander à un serveur DHCP sur 10.0.0.X / 24 de servir 10.0.1.X / 24 sans relais est déroutant, car les sous-réseaux sont destinés à isoler les réseaux et cette configuration implique qu'un relais est nécessaire?"
Kevin
2
Le commentaire de Zoredache à propos de votre serveur DHCP obtenant une adresse d'un serveur DHCP escroc (ou ne pas en obtenir du tout) est la clé, je dirais. Vous ne pouvez pas construire une pile réseau robuste sur des fondations défectueuses.
Rob Moir
1

Techniquement, le serveur DHCP doit avoir une adresse IP connue pour les paquets envoyés après le paquet de découverte initial. Cette adresse doit généralement être connue au démarrage, c'est donc à peu près statique. Il (IIRC) ne doit pas être sur le même sous-réseau pour que le relais DHCP fonctionne, mais il ne fonctionnera pas sans une route vers le sous-réseau sur lequel il est alloué.

Si vous voulez vraiment le faire, vous pouvez probablement organiser quelque chose à l'aide d'une interface virtuelle afin que votre adaptateur physique (serveur B) ait des adresses IP sur les deux sous-réseaux qui sont sur votre câble (un DHCP et l'autre statique).

Comme Zoredache, je suggère que vous devriez vraiment vous en tenir à une configuration de serveur DHCP pour le câble. La plupart des serveurs DHCP vous permettront de classer les périphériques de différentes manières (par exemple: des parties de l'adresse MAC) et de les affecter à différentes sections du sous-réseau. Vous seriez alors en mesure de donner différentes règles de pare-feu à ces sous-sections.

Il n'y aurait aucune différence de sécurité car n'importe quel client peut configurer sa propre adresse statique dans les deux scénarios.

user3710044
la source