TP2 Configuration de serveurs DHCP et DNS Étude des protocoles Objectif Étudier le fonctionnement des protocoles DHCP et DNS Configurer un serveur DHCP sous Linux Configurer un serveur DNS primaire sous Linux (Bind9) Configurer un serveur DNS secondaire sous Linux Pré-requis Les protocoles DNS et DHCP Matériel et logiciels utilisés 1 poste sous Linux Le logiciel de simulation Netkit L analyseur de trames Wireshark Durée du TP : 4 heures 1. Configuration d'un serveur DHCP L'Illustration 1 représente le réseau étudié dans cette partie. La machine nommée serveur va héberger un serveur DHCP qui allouera aux clients les adresses IP. Sur le réseau 1, les adresses IP seront choisies dans une plage : elles pourront donc varier lors du redémarrage des machines. Sur le réseau 2, les adresses IP allouées aux clients seront fixes. client1 client2 eth1 eth2 serveur client3 eth1 Réseau 1 10.1.0.0/16 eth1 10.1.0.100 eth2 10.2.0.100 Réseau 2 10.2.0.0/16 eth2 client4 Illustration 1 A. Quidelleur Services sur réseaux S3 1/7
1) Créez un répertoire nommé TP_DHCP_votre_nom. Placez-vous dans votre répertoire et créez les machines représentées sur l'illustration précédente : vstart serveur --mem=512 --eth1=a --eth2=b vstart client1 --eth1=a vstart client3 --eth1=a vstart client2 --eth2=b vstart client4 --eth2=b Puis configurez les adresses IP des interfaces de la machine serveur en respectant les indications du schéma. Remarque : pour l'instant, les clients n'ont pas d'adresse IP, c'est normal. 1.1. Indications préliminaires La configuration du serveur DHCP utilise deux fichiers : - le fichier /etc/dhcp3/dhcpd.conf dans lequel est réalisée la déclaration des sous-réseaux (voir cours) ; - le fichier /etc/default/dhcp3-server dans lequel sont configurées les interfaces d'écoute du serveur. Les commandes pour gérer le fonctionnement du serveur DHCP sont : - /etc/init.d/dhcp3-server start pour démarrer le service ; - /etc/init.d/dhcp3-server restart pour redémarrer le service ; - /etc/init.d/dhcp3-server stop pour arrêter le service ; A chaque modification de ses fichiers de configuration, il faut redémarrer le serveur. En cas d'erreur lors du (re)démarrage d'un service, il faut consulter le fichier de log : /var/log/syslog La taille de ce fichier croît rapidement : il est conseillé d'utiliser la commande tail pour en lire les dernières lignes uniquement. Ex. : tail /var/log/syslog : affiche par défaut les 10 dernières lignes du fichier tail -60 /var/log/syslog : affiche les 60 dernières lignes du fichier 1.2. Configuration du serveur DHCP pour le réseau 1 2) Configurez le service DHCP pour le réseau 1 en respectant les consignes suivantes : - la plage des adresses utilisables pour adresser les clients du réseau 1 est 10.1.0.10 10.1.0.20 ; - le serveur DHCP doit fournir aux machines l'adresse IP de leur passerelle par défaut ; - le serveur DHCP doit fournir aux machines le nom du domaine auquel elles appartiennent : «reseau1.fr» ; A. Quidelleur Services sur réseaux S3 2/7
- le serveur DHCP doit fournir aux machines l'adresse IP d'un serveur DNS du domaine : 10.1.0.21 (ce serveur DNS n'existe pas dans notre simulation, il s'agit juste d'un exemple). Indication Dans le fichier /etc/dhcp3/dhcpd.conf, mettez en commentaires les lignes suivantes (pour cela, écrivez le symbole # en début de ligne) : #option domain-name "example.org" #option domain-name-servers ns1.example.org, ns2.example.org 3) Configurez les machines clientes du réseau 1 pour qu'elles se configurent par le service DHCP (rappel : modifications à réaliser dans le fichier /etc/network/interfaces). 4) Activez une capture tcpdump sur l'interface eth1 du serveur, démarrez le serveur DHCP et redémarrez les fonctionnalités réseau des machines clientes du réseau 1. Puis a) Vérifiez que l'adresse IP, la table de routage et le fichier /etc/resolv.conf des machines clientes sont bien configurés. b) Analysez les trames DHCP échangées sur la capture à l'aide de Wireshark : i) expliquez les adresses MAC et IP des trames capturées ; ii) quel est le numéro du champ protocole de l'en-tête IP des messages DHCP? justifiez-le ; iii) expliquez les numéros de port utilisés. c) Redémarrez les fonctionnalités réseau des clients : les adresses IP obtenues sont-elles toujours identiques? 1.3. Configuration du serveur DHCP pour le réseau 2 5) Configurez le service DHCP pour le réseau 2 en respectant les consignes suivantes : - le serveur DHCP doit fournir aux machines l'adresse IP de leur passerelle par défaut ; - l'adresse IP de client 2 vaut 10.2.0.2, celle de client 4 vaut 10.2.0.4 ; - le serveur DHCP doit fournir aux machines le nom du domaine auquel elles appartiennent : «reseau2.fr» ; - le serveur DHCP doit fournir aux machines l'adresse IP d'un serveur DNS du domaine : 10.2.0.22. 6) Configurez les machines clientes du réseau 1 pour qu'elles se configurent par le service DHCP. 7) Vérifiez la bonne configuration des machines clientes. A. Quidelleur Services sur réseaux S3 3/7
8) Arrêtez les machines virtuelles. Il est conseillé de réaliser une copie des fichiers configurés avant la destruction des machines. 2. Configuration d'un serveur DNS primaire L'Illustration 2 représente le réseau étudié. Il est constitué d'un serveur DNS primaire, d'un serveur secondaire et de deux clients. Dans cette partie, le serveur secondaire n'est pas utilisé. On suppose que le réseau appartient à une entreprise qui a acheté le nom de domaine mmi2.com. Serveur DNS primaire «DNS1» client1 client2 10.0.0.100 10.0.0.1 Réseau 10.0.0.0/8 10.0.0.2 Serveur DNS secondaire «DNS2» 10.0.0.200 Illustration 2 9) Créez un répertoire nommé TP_DNS_votre_nom. Placez-vous dans votre répertoire et créez les machines représentées sur l'illustration précédente : vstart dns1 --mem=512 --=A vstart dns2 --mem=512 --=A vstart client1 --=A vstart client2 --=A 10) Configurez les adresses IP de toutes les machines en respectant les indications du schéma. Vérifiez leur connectivité. A. Quidelleur Services sur réseaux S3 4/7
2.1. Résolution directe Commencez par configurer le service DNS sur la machine DNS1. 11)Créez une zone de résolution directe pour le domaine mmi2.com dans le fichier /etc/bind/named.conf.local. Consigne : appelez le fichier qui contiendra les enregistrements pour ce domaine /etc/bind/db.mmi2.com 12)Créez le fichier /etc/bind/db.mmi2.com en vous aidant de la diapositive 57 du support de cours. Il doit contenir : l'enregistrement SOA les enregistrements NS pour le serveur primaire et le serveur secondaire les enregistrements permettant la résolution directe des adresses IP des machines nommées dns1, dns2, client1, client2 un enregistrement précisant que client1 est un serveur de messagerie pour le domaine mmi2.com un enregistrement précisant que www est un alias pour client2 un enregistrement précisant que mail est un alias pour client1 13) Démarrez le serveur bind : /etc/init.d/bind start Remarque : à chaque modification de ses fichiers de configuration, il faut redémarrer le serveur. Il faut maintenant configurer les machines clientes. 14) Sur client1 et client2, modifiez le fichier /etc/resolv.conf pour que les machines connaissent les adresses IP des serveurs dns1 et dns2 et pour qu'elles sachent qu'elles appartiennent au domaine mmi2.com. La syntaxe du fichier est la suivante : domain nom_du_domaine search nom_du_domaine nameserver adresse_ip_du_dns1 nameserver adresse_ip_du_dns2 Quel est le rôle des directives search et domain? 15) Testez la résolution directe à partir de l'une des machines clientes (commande dig, nslookup ou host, ping utilisant les noms de machines). 2.2. Résolution inverse A. Quidelleur Services sur réseaux S3 5/7
16)Aidez-vous de l'exemple du support de cours pour créer une zone de résolution inverse pour le domaine mmi2.com dans le fichier /etc/bind/named.conf.local. Consigne : appelez le fichier qui contiendra les enregistrements pour ce domaine /etc/bind/db.inv.mmi2.com 17)Créez le fichier /etc/bind/db.inv.mmi2.com en vous aidant de la diapositive 58 du support de cours. Il doit contenir : l'enregistrement SOA (vous pouvez recopier celui du fichier de résolution directe) les enregistrements NS pour le serveur primaire et le serveur secondaire (vous pouvez recopier ceux du fichier de résolution directe) les enregistrements permettant la résolution inverse des adresses IP des machines nommées dns1, dns2, client1, client2 18) Testez le bon fonctionnement de la résolution inverse depuis l'une des machines clientes (commande dig, host ou nslookup). 3. Configuration d'un serveur DNS secondaire 19) Activez une capture tcpdump sur la machine DNS1. 20) Sur la machine DNS2, dans le fichier /etc/bind/named.conf.local, créez une zone de résolution directe pour le domaine mmi2.com qui précisera : que le serveur DNS2 est un serveur secondaire pour ce domaine que le serveur primaire est DNS1 que le fichier contenant les enregistrements de résolution directe pour le domaine s'appelle backup.mmi2.com Aidez-vous de la diapositive du cours. 21) Démarrez le service bind sur la machine DNS2 puis a) Vérifiez que le fichier backup.mmi2.com a été créé et que son contenu est similaire aux enregistrements que vous avez créés sur le serveur DNS1. b) Vérifiez que le serveur secondaire répond correctement aux requêtes des clients. Pour cela, sur l'un des deux clients, exécutez par exemple la commande : dig @10.0.0.200 www.mmi2.com (le caractère @ force la machine cliente à interroger le serveur DNS dont l'adresse IP est précisée). A. Quidelleur Services sur réseaux S3 6/7
22) En vous inspirant de la question 20, définissez une zone pour la résolution inverse et son fonctionnement. 23) D'après la capture du trafic échangé entre les serveurs primaire et secondaire, expliquez comment fonctionne la mise à jour. Expliquez notamment les protocoles de niveau transport utilisés. A. Quidelleur Services sur réseaux S3 7/7