Travaux pratiques : Basculement DHCP sous «Ubuntu 14.04.1» Diagramme de topologie : DHCP (Dynamic Host Configuration Protocol) est un protocole réseau permettant d'assigner automatiquement des informations TCP/IP aux ordinateurs clients. Chaque client DHCP se connecte au serveur central DHCP, lequel renvoie la configuration réseau du client, y compris l'adresse IP, le masque de sous réseau, les adresses de la passerelle et des serveurs DNS Ce service permet de s'affranchir des reconfigurations manuelles des postes, suite à des déménagements ou des modifications d'architecture. Les nœuds critiques du réseau (serveur de nom primaire et secondaire, passerelle par défaut) doivent avoir des adresses IP statiques. Avantage: il n'y a pas à gérer poste par poste les adresses dans le réseau. Chaque nœud vient chercher une adresse quand il en a besoin. Il libère cette adresse quand la session se termine. Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 1 sur 10
si un paramètre change au niveau du réseau, comme, par exemple l'adresse de la passerelle par défaut, il suffit de changer la valeur du paramètre au niveau du serveur DHCP. cela permet, dans certains cas de pouvoir adresser plus de postes qu'il n'y a d'adresses IP disponibles (cas d un Provider) Inconvénient: Le client utilise des trames de diffusion pour rechercher un serveur DHCP sur le réseau. cela charge le réseau. Si vous avez une entreprise avec plusieurs centaines de personnes qui ouvrent leur session le matin à 8h, il peut s'en suivre de graves goulets d'étranglement sur le réseau. Basculement DHCP est fonctionnalité qui permet de disposer de deux serveurs DHCP pour servir les adresses IP et la configuration d options pour le même sous-réseau ou la même étendue, en offrant une disponibilité continue du service DHCP aux clients. Ces deux serveurs DHCP répliquent les informations de bail entre eux, octroyant à l un des serveurs la responsabilité de servir des clients sur tout le sous-réseau en cas d indisponibilité de l autre serveur. Il est également possible de configurer le basculement dans une configuration à équilibrage de charge avec la distribution des demandes client entre les deux serveurs dans le cadre d une relation de basculement. Le basculement de serveurs DHCP inclus deux modes de fonctionnement : Actif/passif : Un serveur actif, Mode du serveur de secours Actif/actif : Les deux serveurs sont actifs et une répartition de charge est effectuée. Les serveurs se répartissent les clients et synchronisent les informations liées aux baux entre eux Les petits réseaux ont tendance à avoir un serveur DHCP unique, qui peut devenir un point de défaillance unique pour un grand nombre d'hôtes sur le réseau. Lorsque le serveur DHCP est mis hors ligne, les hôtes client DHCP perdent leur adresse et la possibilité de communiquer avec le reste du réseau. Etant donné que la plupart des ordinateurs de bureau, y compris certains serveurs, obtiennent leur configuration réseau via DHCP, une telle indisponibilité peut provoquer un grand nombre d'interruptions. Un réseau UNIX utilise souvent le serveur DHCP ISC (Internet Systems Consortium) qui est largement disponible sur les systèmes Linux. Le serveur ISC DHCP fournit des fonctions de basculement qui permettent aux administrateurs de réseau d'offrir un service DHCP plus robuste. Cette tâche décrit comment implémenter une configuration de basculement. Avant de passer à la configuration, il faut installer les paquets nécessaires sur les serveurs Unix. Faisons une mise à jour des paquets puis : Configuration des cartes d interface réseau : Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 2 sur 10
Vérification de l'adresse IP configurer : Enregistrez et redémarrez le service réseau : Ou bien : Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 3 sur 10
on installe «isc-dhcp-server» via le paquet «dhcp3-server». Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 4 sur 10
Le fichier de configuration du service DHCP est le suivant : Commençons par configurer le serveur DHCP Master, c est-à-dire le serveur actif et maitre. Stoppez le service DHCP le temps de la configuration puis éditez le fichier de configuration vierge«dhcpd.conf» que nous avons créé. Le bloc de configuration ci-dessus, permet de configurer la paire de failover appelée «dhcp-tri2a-failover» (appelez la vôtre comme vous le souhaitez). Le port d écoute peut être changé comme vous le souhaitez mais vous devez être cohérent dans la façon dont vous allez configurer le second serveur (secondary) selon le numéro de port indiqué dans la configuration du Premier (Master / Maitre) serveur. La seule directive qui permet d indiquer que ce serveur est le master/primaire est la présence de la ligne «primary» qui sera remplacée par «secondary» sur le serveur slave/secondaire. De plus, les directives «split» et «mclt» sont présentes uniquement sur le serveur maitre. Primary : Déclare ce serveur comme master. Address: l adresse du serveur master (ici 10.0.0.40) port: le port d écoute (54054). Peer address : l adresse du DHCP en failover (adresse du serveur slave) Peer port : le port d interaction du DHCP en failover (port d écoute du serveur slave) max-response-delay: temps maximum de réponse avant de considérer le pair en échec max-unacked-updates: nombre de mises à jour maximum avant de déclarer le pair en échec load balance max seconds: durée maximum avant de décharger les requêtes vers le pair la directive MCLT : Cette directive qui signifie «Max Client Lead Time» et qui est présente lors de la configuration du service DHCP en mode «failover» correspond au temps maximum, pendant lequel le serveur peer peut renouveler des requêtes après avoir perdu contact avec son partenaire Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 5 sur 10
La directive SPLIT : La directive «SPLIT» est également présente dans la configuration du service DHCP en mode «failover» tout comme la directive MCLT. Elle permet de «splitter» c est-à-dire de diviser la plage d adresses IP disponible en deux parties, afin de répartir la charge sur les deux serveurs. Lorsque cette directive a la valeur «128», on part sur une répartition 50%/50%, c est-à-dire que chaque serveur gère 50% de la plage d adresses disponible Ensuite, vous remarquerez qu il manque une partie de la configuration où l on indique les paramètres à distribuer aux postes clients. Je ne l ai pas oubliée, nous allons justement s y intéresser. Mes postes clients se verront attribuer une adresse sur la plage d adresses IP allant de 10.0.0.3 à 10.0.0.38 Soit 34 adresses disponibles. La passerelle par défaut sera 10.0.0.1, le serveur DNS 10.0.0.2 et le Bail quant à lui sera 6 heures (default-lease-time 21600) pouvant être prolongé jusqu à 10 heures (maxlease-time 36000) si besoin. Pour finir la configuration du serveur maître, on ajoute la directive «authoritative ;» en début de fichier pour indiquer que ce serveur DHCP fait autorité sur ce subnet : Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 6 sur 10
Passons maintenant à la configuration du serveur DHCP Slave, on se basant sur la configuration du serveur DHCP Master. En effet, la configuration est quasiment identique sur les deux serveurs. Pensez à inverser les adresses IP indiquant l adresse du serveur master et celle du slave, remplacer «primary» par «secondary» et supprimer les directives «mclt» et «split». Pour le reste, rien ne change. Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 7 sur 10
Nous pouvons désormais passer le service en phase de test, démarrez ou redémarrer le sur chacun de vos serveurs en commençant par le démarrer sur le serveur master puis sur le slave. Suivez l évolution des logs en temps réel en affichant les dernières lignes écrites dans le fichier syslog grâce à la commande suivante : Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 8 sur 10
Quand un serveur configuré en mode failover démarre et qu il n a jamais communiqué avec sa paire, il doit établir une communication avec l autre serveur afin de se synchroniser. Cela avant même de commencer à distribuer des adresses aux clients, pour la simple et bonne raison qu il doit connaître l état de la base de données des baux, mais aussi, pour savoir dans quel état est le serveur paire. On peut voir que des messages sont envoyés et échangés avec succès entre les serveurs grâce à «Sent update done message to neoflow» et que la mise à jour est bien complète «Peer update completed.». Une fois la synchronisation terminée, le serveur passe à l état «normal» puisqu il est opérationnel et qu il communique avec sa paire, comme le montre le message «I move from recover-done to normal». Je vous parlez précédemment de l état «normal» qui est l état dans lequel est un serveur opérationnel qui communique parfaitement avec sa paire. Toutefois, il existe d autres états. Faisons le point. STARTUP : État d un serveur lorsqu il démarre RECOVER : État d un serveur lorsqu il attend la synchronisation NORMAL : État d un serveur opérationnel et synchronisé COMMUNICATIONS-INTERRUPTED : État d un serveur lorsqu il y a une interruption dans la communication avec le second serveur PARTNER-DOWN : État qui permet d indiquer la perte de la paire et donc que le serveur va gére seul le service DHCP. Cela en attendant que la paire revienne en ligne et se resynchronise. Depuis un client Windows, j effectue une demande d adresse pour vérifier que le service DHCP est bien actif. Grâce à la commande suivante : > Ipconfig /release # Relâcher le bail actuel > Ipconfig /renew # Renouveler le bail > ipconfig /all # Voir la configuration TCP/IP détaillée Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 9 sur 10
La configuration obtenue correspond bien à ce qu on a défini dans le fichier «dhcpd.conf». On peut également voir dans les logs du serveur DHCP primaire la demande du client avec les différentes étapes «DHCP DISCOVER», «DHCP OFFER», «DHCP REQUEST» et «DHCP ACK». # Par : Chhibat ali & Essarrakhi karima [Tri2a-2014-2015] / Encadré Par Mr : Errougui jawad. Page 10 sur 10