Introduction aux bases du protocole DHCP
Transcription
Introduction aux bases du protocole DHCP
DHCP Présentation DHCP Dynamic Host Configuration Protocol _______________________ SOMMAIRE Page 1 sur 12 DHCP Présentation I – INTRODUCTION ................................................................................................................................................ 3 II – QUI ET QUAND ................................................................................................................................................ 3 III – LA FONCTION DU SERVICE DHCP .................................................................................................................. 3 IV – LE FONCTIONNEMENT ................................................................................................................................... 4 LES REQUETES ET LES MESSAGES DHCP ....................................................................................................................... 5 1. Demande initiale du client : « DHCP Discover » ...................................................................................... 5 2. Réponse des serveurs DHCP : « DHCP Offer » ....................................................................................... 6 3. Choix du serveur DHCP par le client : « DHCP Request » ....................................................................... 6 4. Confirmation de l’offre par le serveur : « DHCPACK » .......................................................................... 6 POUR RENOUVELER UNE ADRESSE, LE FONCTIONNEMENT EST LE SUIVANT (LES 2 SERVEURS CONNAISSENT LE CLIENT) : ................ 7 LES MESSAGES DHCP : ............................................................................................................................................ 8 INSTALLATION SERVEUR............................................................................................................................................. 9 CONFIGURATION POSTE CLIENT SUR UN POSTE WINDOWS .......................................................................................... 11 V - CONCLUSION ................................................................................................................................................. 12 Page 2 sur 12 DHCP Présentation I – Introduction DHCP signifie Dynamic Host Configuration Protocol, c’est un protocole qui configure dynamiquement des hôtes (éléments actifs sur un réseau) sur un réseau TCP/IP. Il permet de soulager le travail des administrateurs réseaux au niveau des paramètres nécessaires à la configuration IP : adresse, masque de réseau, adresse de passerelle par défaut, adresses des serveurs DNS. Le protocole DHCP est généralement utilisé pour distribuer des adresses IP, mais il a été conçu au départ comme complément au protocole BOOTP (Bootstrap Protocol) qui est utilisé par exemple lorsque l'on installe une machine à travers un réseau (on peut effectivement installer complètement un ordinateur, et c'est beaucoup plus rapide que de le faire en à la main). Cette dernière possibilité est très intéressante pour la maintenance de gros parcs machines. Les versions actuelles des serveurs DHCP fonctionnent pour IPv4, (adresses IP sur 4 octets).Des spécifications pour le IPv6 (adresses IP sur 16 octets) est en cours de développement par l'IETF. Nous allons voir le fonctionnement général de protocole. II – Qui et quand Le DHCP est définit par l’IETF - Internet Engineering Task Force « Détachement d'ingénierie d'Internet », c’est un groupe informel, international, ouvert à tout individu, qui participent à l'élaboration de standards pour Internet appelé RFC – Request For Comments. Le DHCP a été mis en place en Octobre 1993 au travers de la RFC 1531 et aussitôt mise a jour par la RFC 1541. En mars 1997 la RFC 2131 remplace la RFC 1541.En outre un nouveau type de message, DHCPINFORM à été ajouté ; Le mécanisme de classement pour l'identification des clients DHCP aux serveurs DHCP a été étendu pour inclure les classes "fournisseurs" ; La restriction au niveau du temps de bail minimum a été enlevée. Enfin, plusieurs changements éditoriaux ont été faits pour clarifier le texte. III – La fonction du service DHCP Pour un administrateur réseau, TCP/IP pose principalement deux problèmes - La gestion des adresses IP manuelle L’administrateur doit tenir à jour une liste des pc avec leur adresse IP pour éviter d’attribuer deux fois la même adresse IP, ce qui provoquerait un conflit dans son réseau ! - Les paramètres IP Le masque de sous réseau, la passerelle, les serveurs DNS, le serveur WINS sont des paramètres qui peuvent changer, imaginez si le réseau comporte 300 ordinateurs, il faudrait intervenir sur chaque machine une par une : travail laborieux ! Page 3 sur 12 DHCP Présentation Le service DHCP permet d’attribuer les adresses et les paramètres IP à la volée. Il suffit de configurer les poste clients en « configuration IP automatique » ensuite le serveur lui transmet une adresse et les paramètres qui vont avec. En cas par exemple de modification de la passerelle sur le réseau il y a juste à modifier une fois le paramètre sur le serveur et au prochain redémarrage (ou renouvellement du bail) des machines, la modification sera effectif. IV – Le fonctionnement Le DHCP fonctionne sur le modèle client-serveur, Pour communiquer entre le serveur et le client le protocole DHCP utilise le protocole UDP. Les ports 67-68 sont utilisés. Un serveur, qui détient la politique d'attribution des configurations IP, envoie une configuration donnée pour une durée donnée à un client donné (typiquement, une machine qui vient de démarrer). Le serveur va servir de base pour toutes les requêtes DHCP (il les reçoit et y répond), aussi doit-il avoir une configuration IP fixe. Dans un réseau, on peut donc avoir plusieurs machines avec une adresse IP fixe, celle-ci sont essentiellement réservées aux divers serveurs. Quand une machine vient de démarrer, elle n'a pas de configuration réseau, et pourtant elle doit arriver à émettre un message sur le réseau pour qu'on lui donne une vraie configuration. La technique utilisée est le broadcast : pour trouver et dialoguer avec un serveur DHCP, la machine va simplement émettre un paquet spécial, dit de broadcast, sur l'adresse IP 255.255.255.255 sur le réseau local. Ce paquet particulier va être reçu par toutes les machines connectées au réseau. Lorsque le serveur DHCP reçoit ce paquet, il répond par un autre paquet de broadcast contenant toutes les informations requises pour la configuration. Si le client accepte la configuration, il renvoit un paquet pour informer le serveur qu'il garde les paramètres, sinon, il fait une nouvelle demande. Le client ne connaîssant pas, au moment de la requête, sa propre adresse, tous les échanges DHCP s'effectuent en utilisant l'adresse de diffusion. Les choses se passent de la même façon si le client a déjà une adresse IP sauf que le dialogue ne s'établit plus avec du broadcast. Un serveur DHCP va fournir de nombreuses informations. La fonction la plus souvent utilisée par DHCP est l'attribution d'adresse IP. DHCP propose trois moyens de faire: – allocation manuelle : Le serveur attribue une IP à chaque machine en fonction d'une table remplie par l'administrateur. – allocation automatique : Les adresses sont attribuées à partir d'un ensemble d'adresses disponibles tenu à jour par le serveur. – allocation dynamique : Ce système s'apparente à la « location » d'une adresse. Le client obtient une adresse à durée limitée, appelée bail. Cette méthode permet une gestion plus précise, le client signifiant sa déconnexion et renouvelant son bail, permettant de rendre disponible plus rapidement une adresse non utilisée. Page 4 sur 12 DHCP Présentation Les requêtes et les messages DHCP En fait, il existe plusieurs messages DHCP qui permettent de compléter une configuration, la renouveler... Ces messages sont susceptibles d'être émis soit par le client pour le ou les serveurs, soit par le serveur pour le ou les clients: La valeur entre parenthèses est utilisées pour identifier ces requêtes dans les messages DHCP Le fonctionnement de ce mécanisme de demande et réception d’une adresse IP ce fait en4 grandes étapes. Ces étapes sont en faite des questions/réponses entres les deux entités. Le protocole UDP est utilisé pour transporter la requête. 1. Demande initiale du client : « DHCP Discover » La machine cliente envoie sur le réseau un datagrame UDP de diffusion à la recherche d’un serveur DHCP. Il intègre un ID de transaction. DETAILS DU DATAGRAMME ENVOYE Adresse IP de destination : 255.255.255.255 (adr. Diffusion) Adresse MAC : FF FF FF FF FF FF (adr. Diffusion) ID de transaction : 1234 (Exemple valeur aléatoire) CONFIGURATION ACTUELLE DE LA MACHINE Adresse MAC : 00 EF A2 00 00 00 (Exemple) Page 5 sur 12 DHCP Présentation 2. Réponse des serveurs DHCP : « DHCP Offer » Après réception du 1er datagramme, les serveur DHCP renvoie à leur tour un datagramme UDP à une adresse IP qui est toujours une diffusions puis qu’ils ne connaissent pas l’emplacement du client, par contre il est dirigé vers l’adresse MAC de la machine cliente. Il contient ce qu’on appelle un « bail ». Un « bail » indique l’adresse IP proposée ainsi que la durée pour laquelle elle est disponible. A la fin d’un bail la machine cliente reformulera une demande. DETAILS DU DATAGRAMME ENVOYE Adresse IP de destination : 255.255.255.255 (adr. Diffusion) Adresse MAC : 00 EF A2 00 00 00 (adr. De la machine cliente) ID de transaction : 1234 (Valeur précédente) Adresse IP du bail : 192.168.0.101 (Exemple) Durée du bail : 01/09/05 au 08/09/05 3. Choix du serveur DHCP par le client : « DHCP Request » La machine cliente choisit une des offres qu’elle a reçue précédemment et renvoie un datagramme de type diffusé (tout les serveur DHCP vont :donc recevoir) qui acceptera l’offre et refusera toutes les autres. DETAILS DU DATAGRAMME ENVOYE Adresse IP de destination : 255.255.255.255 (adr. Diffusion) Adresse MAC : FF FF FF FF FF FF (adr. De la machine cliente) ID de transaction : 1231 (Exemple valeur aléatoire) 4. Confirmation de l’offre par le serveur : « DHCPACK » Le serveur DHCP concerné accepte l’offre et transmet les autres paramètres IP DETAILS DU DATAGRAMME ENVOYE Adresse IP de destination : 255.255.255.255 (adr. Diffusion) Adresse MAC : 00 EF A2 00 00 00 (adr. De la machine cliente) ID de transaction : 1231 (Valeur précédente) Autres paramètres IP : passerelle, dns, wins, suffixe dns (Exemple) Tant que la machine client n’a pas reçu « DHCPACK », elle émet « DHCP REQUEST » toutes les 2 minutes jusqu’à 87,5% de la durée du bail. Sans réponse alors elle repart à l’étape du « DHCP Discover ». Page 6 sur 12 DHCP Présentation Pour demander une nouvelle adresse, le chronogramme-type est le suivant : Pour renouveler une adresse, le fonctionnement est le suivant (les 2 serveurs connaissent le client) : Page 7 sur 12 DHCP Présentation Les messages DHCP : Dialogue client => serveur : Les messages DHCP sont transmis via le protocole UDP. Bien que peu fiable, ce protocole suffit au transport des paquets simples sur réseau local, et surtout il est très léger, donc intéressant pour les petits systèmes. Le client n'utilise que le port 68 pour envoyer et recevoir ses messages de la même façon, le serveur envoie et reçoit ses messages sur un seul port, le port 67. La trame DHCP, (les chiffres entre parenthèses indiquent la taille du champ en octets) : - op : vaut 1 pour BOOTREQUEST (requête client), 2 pour BOOTREPLY (réponse serveur) - htype : type de l'adresse hardware (adresse MAC, par exemple.) - hlen : longueur de l'adresse hardware (en octet). C'est 6 pour une adresse MAC - hops : peut être utilisé par des relais DHCP - xid : nombre aléatoire choisi par le client et qui est utilisé pour reconnaître le client - secs : le temps écoulé (en secondes) depuis que le client a commencé sa requête - flags : drapeau divers - ciaddr : adresse IP du client, lorsqu'il en a déjà une - yiaddr : la (future ?) adresse IP du client - siaddr : adresse IP du (prochain) serveur à utiliser - giaddr : adresse IP du relais (passerelle par exemple) lorsque la connexion directe client/serveur n'est pas possible - chaddr : adresse hardware du client - sname : champ optionnel. Nom du serveur - ile : nom du fichier à utiliser pour le boot - options : Champs réservé pour les options. Dans une précédente RFC, la taille de ce champ était limitée (limité à 64 octets par exemple pour la première version de Bootp) ; maintenant, il n'y a plus de limitation. Dans tous les cas, un client DHCP doit être prêt à recevoir au minimum 576 octets, mais la possibilité lui est offerte de demander au serveur de restreindre la taille de ses messages. Page 8 sur 12 DHCP Présentation Installation serveur Installation du composant DHCP Installation réaliser sur un serveur avec système d’exploitation de type windows server 2003 Avant tout il faut que le serveur soit en IP fixe, le composant DHCP n’est pas installé par défaut sur le serveur il faut donc l’installé pour cela, il faut aller dans l’Ajout/Suppression de programmes et cliquer sur Ajouter ou Supprimer des composants Windows. Sélectionner la case Services de mise en réseau on entre dans l’option Détails et on coche la case Protocole DHCP (Dynamic Host Configuration Protocol), après la validation le composant s’installe. A la suite de l’installation un nouvel icône « DHCP » apparaît dans les Outils d’administration Il faut cliquer dessus pour rentrer dans la console DHCP Avec le bouton droit on clique sur le serveur DHCP et on clique sur Nouvelle étendue. Une Fenêtre apparaît où il est demandé un nom et une description pour l’étendue. Dans la fenêtre suivante on doit renseigner la plage d’adresse utilisée. Page 9 sur 12 DHCP Présentation Ensuite on peut, si on le souhaite, ajouter différentes plages d’exclusions. Les adresses IP exclues ne seront pas attribuées par le serveur. On clique sur suivant et là on renseigne sur la durée du bail que l’on veut. La durée du bail spécifie la durée pendant laquelle un client peu utiliser une adresse IP de l’étendue. Puis dans la fenêtre qui suit, on clique sur Oui je veux configurer ces options maintenant afin que l’assistant configure l’étendue avec les options les plus courantes. On entre l’adresse IP de la passerelle par défaut, puis on clique sur Suivant. Là si on utilise un serveur DNS, il faut taper le nom du serveur puis cliquez sur Résoudre. Enfin on clique sur Ajouter pour inclure ce serveur dans la liste des serveurs DNS affectés aux clients DHCP. On Fait de même pour le serveur WINS si il y a un, en ajoutant son nom et son adresse IP. Cliquez sur Oui je veux activer cette étendue maintenant pour activer l’étendue et ainsi délivrer des baux aux clients de l’étendue. Page 10 sur 12 DHCP Présentation Pour éviter que des personnes puissent installer des serveurs DHCP, et par conséquent délivrer des baux IP rentrant en conflit avec d’autres serveurs DHCP, il faut définir les serveurs autorisés dans Active Directory. Pour autoriser un serveur DHCP, il faut entrer dans la console DHCP, cliquer avec le bouton droit sur le serveur DHCP, puis il faut sélectionner Autoriser. Il faut Actualiser afin que le serveur apparaisse avec une flèche verte Configuration poste client sur un poste Windows Le but d'un serveur DHCP étant de simplifier le paramétrage des clients réseaux, la seule chose à faire est de régler le protocole TCP/IP. Pour cela, il suffit de se rendre dans les propriétés de la carte réseau. Ensuite il faut se rendre dans les propriétés du protocole TCP/IP. Là il faut cocher Obtenir une adresse IP automatiquement et de valider. Et voilà le poste est prêt à recevoir une configuration réseau Page 11 sur 12 DHCP Présentation Il est possible de connaître l'adresse fournie par le serveur via la commande ipconfig ou ipconfig /all en ligne de commande. Résultat de l'Ipconfig : V – CONCLUSION Le protocole DHCP est un véritable gain de temps pour administrer des réseaux colossaux. Page 12 sur 12