EP n°2 : Tolérance de pannes pour serveurs DHCP sous Linux
Transcription
EP n°2 : Tolérance de pannes pour serveurs DHCP sous Linux
EP n°2 : Tolérance de pannes pour serveurs DHCP sous Linux : failover Présentation : • Compétences : - C22 : Installer et configurer un réseau C25 : Installer un applicatif C31 : Assurer les fonctions de base de l'administration d'un réseau C32 : Assurer les fonctions de l'exploitation • Conditions du projet : - 1 serveur DHCP Linux opérationnel, basé sur une Mandrake 10.0 et un paquetage DHCPD x.x.x - un 2ème serveur Linux inopérant (Mandrake 10.0) - 1 clients Microsoft Windows 2000 et 1 client Linux (Mandrake 10.0) pour les tests • Objectifs : - Installer du DHCP sur le 2ème serveur Linux - Configurer les 2 serveurs et les clients - Effectuer les tests Partie 1 : Présentation du DHCP : Serveur DHCP : DHCP signifie Dynamic Host Configuration Protocol. Il s'agit d'un protocole qui permet à un ordinateur qui se connecte sur un réseau d'obtenir dynamiquement (c'est-à-dire sans intervention particulière) sa configuration (principalement, sa configuration réseau). Le but principal étant la simplification de l'administration d'un réseau. Fonctionnement du DHCP : Le mécanisme de base de la communication est BOOTP (avec trame UDP). Quand une machine est démarrée, elle n'a aucune information sur sa configuration réseau, et surtout, l'utilisateur ne doit rien faire de particulier pour trouver une adresse IP. Pour faire ça, la technique utilisée est le broadcast : pour trouver et dialoguer avec un serveur DHCP, la machine va simplement émettre un paquet spécial de broadcast (broadcast sur 255.255.255.255 avec d'autres informations comme le type de requête, les ports de connexion...) sur le réseau local. Lorsque le serveur DHCP recevra le paquet de broadcast, il renverra un autre paquet de broadcast contenant toutes les informations requises pour le client. Le premier paquet émis par le client est un paquet de type DHCPDISCOVER. Le serveur répond par un paquet DHCPOFFER, en particulier pour soumettre une adresse IP au client. Le client établit sa configuration, puis fait un DHCPREQUEST pour valider son adresse IP (requête en broadcast car DHCPOFFER ne contient par son adresse IP). Le serveur répond simplement par un DHCPACK avec l'adresse IP pour confirmation de l'attribution. Normalement, c'est suffisant pour qu'un client obtienne une configuration réseau efficace, mais cela peut être plus ou moins long selon que le client accepte ou non l'adresse IP... Les baux Pour des raisons d'optimisation des ressources réseau, les adresses IP sont délivrées avec une date de début et une date de fin de validité. C'est ce qu'on appelle un "bail". Un client qui voit son bail arriver à terme peut demander au serveur une prolongation du bail par un DHCPREQUEST. De même, lorsque le serveur verra un bail arriver à terme, il émettra un paquet DHCPNAK pour demander au client s'il veut prolonger son bail. Si le serveur ne reçoit pas de réponse valide, il rend disponible l'adresse IP. Partie 2 : Présentation du protocole de failover : Le protocole failover permet à deux serveurs DHCP de partager une même plage d’IP. Chaque serveur possède environ la moitié des adresses disponibles à tout moment. Si un serveur tombe, l’autre serveur va continuer d’allouer des adresses de sa plage. Il est aussi possible durant la coupure d’un serveur de spécifier à l’autre son état afin qu’il puisse utiliser la plage d’adresse de son partenaire. On appel cet état le « PARTNER-DOWN ». Lorsque le serveur redevient actif, il sera automatiquement détecter et se mettra a jour grâce a son partenaire puis les 2 serveurs recommencerons à travailler ensemble. Il est risqué de laisser les serveurs dhcp se relancer automatiquement (au démarrage) car si le serveur 1 tombe, le serveur 2 passe à l’état de «partner-down » et si ce dernier tombe aussi avant que le serveur 1 se relance (en ayant attribuer des adresses de la plage du serveur 2), il peut y avoir un problème d’allocation d’ip (car il n’a pas été mis à jour). Le protocole failover définit un serveur primaire et un serveur secondaire, la différence est minime (cela agis sur le comportement des serveurs lors de la synchronisation). Lorsqu’un serveur se lance, il doit déjà se synchroniser avec son partenaire avant de pouvoir allouer des ips. La procédure d’initialisation est conçue pour mettre à jour la base de données des serveurs (les baux). Lorsqu’un serveur tombe et se relance, il remet à jour sa base de données grâce à son partenaire et dès que la mise à jour est effectuée son partenaire lui envoie un signal pour lui dire que le transfert est terminé. Ensuite, le serveur qui était tombé attend un temps déterminé (MCLT) avant que les 2 serveurs rebasculent en mode normal. Les serveurs ne peuvent allouer des adresses s’ils ne se sont pas correctement synchronisés. Partie 3 : Déroulement de l’épreuve : Serveur secondaire Installation du serveur DHCP Configuration du serveur Serveur primaire Configuration du serveur Tests Synchronisation des serveurs Principe du failover Limites du failover