c avr. 2013, v4.0 Réseaux TP7. DHCP Sébastien Jean Le but de ce TP, sur une séance, est de vérifier les principes de fonctionnement du protocole DHCP. 1 Comportement en présence d un serveur unique Cette première partie s intéresse à la mise en place de DHCP dans un cas simple où un seul serveur DHCP alloue des adresses sur un seul réseau IP. 1.1 Interconnexion et configuration des machines Mettre en œuvre l interconnexion présentée sur la figure ci-dessus, et configurer l interface réseau de la machine 1. A l aide de la commande which, localiser l emplacement de l exécutable correspondant au client (dhclient) et au serveur (dhcpd) DHCP. A l aide de la commande netstat (et de sa page de manuel accessible via la commande man), visualiser les services réseaux UDP en écoute, ainsi que les processus correspondant à ces services (voir les options -a, -u, -n et -p). Vérifier que ni le client, ni le serveur ne s exécutent déjà sur les machines. Si c était le cas, à l aide des commandes pidof (permettant de trouver l identifiant d un processus en passant son nom en paramètre) et kill (permettant avec l option -s KILL de terminer un processus dont le PID est passé en paramètre), terminer les processus correspondants. 1.2 Exécution du serveur DHCP L exécutable dhcpd sera dans la suite utilisé qu en tant que fournisseur du service DHCP. La page de manuel permettra de visualiser les paramètres de lancement. 1
Créer un fichier dhcpd.conf dans /root de sorte que le service DHCP attribue des adresses comprises entre 00 et 50 avec des durées de baux fixées à 600s. Créer dans /root un fichier de baux vide nommé dhcpd.leases, à l aide de la commande touch. Exécuter dhcpd en faisant en sorte : qu il prenne sa configuration dans le fichier créé à cette fin (cf. option cf), qu il stocke les baux dans un fichier spécifié (cf. option lf), qu il écoute uniquement sur l interface, qu il s exécute en avant-plan. Vérifier l état d exécution du processus et du service DHCP. 1.3 Exécution du client DHCP, étude des messages échangés Lancer une capture Wireshark sur la machine 1 pour visualiser le trafic de type BOOTP. Exécuter le client DHCP (en lui passant en paramètre le nom de l interface à configurer et un fichier de baux vide pointant sur /root/dhclient.leases, et en activant le mode verbose) sur la machine 2 et mettre en cohérence les informations affichées par le client et le trafic observé. Retrouver notamment l enchaînement des messages lors de la négociation et observer l encapsulation en essayant de répondre aux questions suivantes : Quel est le protocole de transport utilisé? Quelles sont les adresses utilisées au niveau 2, 3 et 4? Quelles sont les informations véhiculées au niveau DHCP? Visualiser la configuration réseau de la machine cliente à la fin des échanges. Vérifier via les commandes netstat et ps que le client est actif. 1.4 Expiration des baux, autres options Observer le contenu du fichier de baux du serveur. Visualiser le trafic généré jusqu à l expiration prévue du bail, et noter l évolution des fichiers de baux côté serveur et client. Arrêter le client DHCP de même que le serveur et supprimer les fichiers de baux. Modifier la configuration du serveur pour déclarer le serveur DHCP comme passerelle par défaut pour les clients. Relancer le serveur puis le client et noter l évolution de la configuration réseau de la machine cliente (interface et table de routage). 2 Comportement en présence de plusieurs serveurs Cette seconde partie s intéresse à la mise en place de DHCP dans un cas plus complexe où plusieurs serveurs DHCP coexistent et allouent des adresses sur un seul réseau IP. 2.1 Interconnexion et configuration des machines réseaux des machines 1 et 3. Remettre dans un état vierge l exécution et les fichiers de baux des clients et serveurs DHCP. 2
Hub 172.26.1.2 2.2 Exécution du serveur DHCP Editer le fichier de configuration de sorte que chaque serveur DHCP attribue des adresses dans le réseau 172.26.0.0 mais dans des plages sans intersection. Vider les fichiers de baux. Exécuter les serveurs DHCP et vérifier qu ils sont actifs. 2.3 Exécution du client DHCP, étude des messages échangés (Re)lancer une capture Wireshark sur la machine 1 pour visualiser le trafic de type BOOTP. Exécuter le client DHCP sur la machine 2 et mettre en cohérence les informations affichées par le client et le trafic observé. Visualiser la configuration réseau de la machine cliente à la fin des échanges. Stopper le serveur DHCP ayant attribué l adresse de même que le client (sans vider son fichier de baux). Relancer le client et observer le trafic généré. 3 Prise en charge des sous-réseaux Cette troisième partie s intéresse à la mise en place de DHCP dans le cas où un serveur DHCP alloue des adresses sur un plusieurs (sous-)réseaux IP. 3.1 Interconnexion et configuration des machines R eth1 172.26.2.1 réseaux de la machine 2. Activer également la fonctionnalité de routage (IP Forwarding). 3
3.2 Allocation d adresses dynamiques Remettre dans un état vierge l exécution et les fichiers de baux des clients et serveurs DHCP. Editer le fichier de configuration du serveur DHCP de sorte qu il attribue des adresses dans chacun des sous-réseaux et propage également la passerelle par défaut à ses clients. Exécuter le serveur DHCP, en ne le forçant plus à n écouter que sur et vérifier qu il est actif. Exécuter le client DHCP sur les machines 2 et 3 et observer l évolution des configurations des interfaces réseaux. Verifier que, sans qu aucune autre configuration ne soit nécessaire, que les machines 1 et 3 peuvent s atteindre. 3.3 Allocation d adresses statiques Reproduire la manipulation précédente en allouant des adresses statiques pour chacune des machines sans faire d hypothèse sur le sous-réseau sur lequel les machines vont se connecter. 4 Relais DHCP Cette dernière partie s intéresse à la mise en place de DHCP dans le cas où un serveur DHCP alloue des adresses sur un plusieurs (sous-)réseaux IP incluant des réseaux auxquels il n est pas directement connecté, via l utilisation de relais. 4.1 Interconnexion et configuration des machines Hub eth1 172.26.1.2 192.168.1.1 R Relai DHCP Machine 4 réseaux des machines 2 et 3. Activer également la fonctionnalité de routage (IP Forwarding) sur la machine 2. 4
4.2 Exécution du serveur DHCP Editer le fichier de configuration du serveur DHCP de sorte qu il attribue des adresses dans chacun des-réseaux représentés sur le schéma. Vider le fichier de baux. Exécuter le serveur DHCP et vérifier qu il est actif. Lancer une capture Wireshark sur les liaisons 1 2 et 2 3. Exécuter le client DHCP sur les machines 1 et 4, observer le trafic généré et le corréler avec l évolution des configurations des interfaces réseaux. 4.3 Exécution du relai DHCP Arrêter le client DHCP sur la machine 1. Localiser l exécutable correspondant au relai DHCP (dhcrelay). Exécuter le relai DHCP sur la machine 2, en lui fournissant en paramètres le nom de l interface sur laquelle écouter, le nom de l interface sur laquelle relayer et l adresse IP du serveur, et vérifier qu il est actif. Exécuter le client DHCP sur la machine 1, observer le trafic généré et le corréler avec l évolution de la configuration de l interface réseau. 5