TP : Serveur DHCP sous Linux

Transcription

TP : Serveur DHCP sous Linux
TP : Serveur DHCP sous Linux
Configuration de départ
Avant de passer à la suite, vous devez vérifier que toutes les connexions réseau fonctionnent (ping intra et inter-segment).
Installation des paquets nécessaires au service DHCP (ISC DHCP version 3).
Avant de commencer, vous devez installer les paquets suivants sur les serveurs :dhcp3-server qui contient le serveur DHCP,
dhcp3-relay qui contient l'agent relais DHCP. Utilisez pour cela les commandes « « apt-get update et « apt-get install <nom du
paquet> »
Une fois que tout est installé, débranchez le câble de l'interface réseau intégrée (connectée au réseau général du lycée), pour
éviter les conflits avec le serveur DHCP du lycée.
1ère partie : Configuration basique du serveur DHCP
A réaliser seul, (X étant votre numéro d'étudiant)
Configuration du client
Démarrez le poste client sous Windows XP
● Sur le réseau 192.168.X.0, configurez le poste client avec une adresse dynamique, et validez.
Redémarrez le réseau, que se passe-t-il ? Pourquoi?
Utilisez les commandes suivantes pour diagnostiquer les dysfonctionnements :
- winipcfg ou ipconfig en ligne de commande.
● désactivez la carte réseau du poste client.
Configuration du serveur DHCP
Mettre en place le serveur DHCP pour le réseau 192.168.X.0 sur le serveur d'adresse 192.168.X.1:
Configuration du serveur
Vous devez créer/modifier deux fichiers :
- /etc/dhcp3/dhcpd.conf, qui permet de définir les paramètres de configuration du serveur DHCP (plage d'adresses, paramètres
distribués…),
- /var/lib/dhcp3/dhcpd.leases, qui permet aux clients de s'inscrire auprès du serveur. Il permet par exemple de réaliser des
statistiques d'accès et la gestion des baux.. Chaque client DHCP, génère l'écriture d'un enregistrement dans ce fichier. Cela permet
le suivi, les statistiques… de l'activité du serveur.
TP : Serveur DHCP sous Linux
Page 1 / 4
● Voici un exemple du fichier dhcpd.conf du serveur DHCP du réseau pédagogique, à adapter à vos besoins, qui vous servira
de modèle:
ddns-update-style none;
#définition du style de mise a jour DDNS. indispensable
# options globales
option domain-name "lyc-curie.ac-aix-marseille.fr"; #nom de domaine
option domain-name-servers 172.20.200.3;
#serveur DNS
option netbios-name-servers 172.20.200.3;
#serveur WINS
default-lease-time 21600;
#durée de bail par défault : 6 heures
max-lease-time 43200;
#durée de bail maximum : 12 heures
subnet 172.20.200.0 netmask 255.255.248.0 { #définition du sous-réseau
range 172.20.201.1 172.20.203.255;
#plage d'adresses à distribuer
#options de l'étendue
option routers 172.20.200.1;# passerelle par défaut
option subnet-mask 255.255.248.0; #définition du masque des clients
}
#Réservation d'addresses IP
host boson { #Nom de la machine
hardware ethernet 00:50:FC:57:2F:76; #addresse MAC de sa carte réseau
fixed-address 172.20.200.4; #adresse IP désirée de ce poste
}
● Créez votre propre fichier /etc/dhcpd.conf en vous inspirant du modèle. N'utilisez aucune option ni réservation pour le
moment. Configurez la plage de 192.168.X.100 à 192.168.X.150, avec une durée de bail de 10 minutes.
● Créez le fichier d'inscription /var/lib/dhcp3/dhcpd.leases s'il n'existe pas encore.
Ce fichier doit être créé, sans quoi le serveur DHCP ne pourra pas démarrer. Il suffit de créer un fichier vide. Pour cela tapez la
commande cat /dev/null > /var/lib/dhcp3/dhcpd.leases.
● Le serveur est configuré, il n'y a plus qu'à le mettre en route. Utilisez les commandes suivantes:
–
pour arrêter le service: /etc/init.d/dhcpd stop
–
pour activer le service : /etc/init.d/dhcpd start
–
pour afficher le fichier journal (utile en cas d'erreur au démarrage) : cat /var/log/syslog
Etude de la négociation DHCP
● Lancez une capture avec l'analyseur de trame sur le serveur, ou sur le client.
● Réactivez la carte réseau sur le poste client. Attendez 1 minute puis arrêtez la capture.
● Affichez la configuration réseau du poste.
Quelle commande utilisez-vous pour cela?
Le poste a-t-il obtenu une adresse ?
Si non, corrigez le problème et recommencez. Si oui laquelle?
● Affichez le contenu du fichier /var/lib/dhcp3/dhcpd.leases. Que contient-il?
● Analysez la capture.
Combien de trames DHCP sont échangées entre le serveur et le client? Donnez le nom de ces 4 trames (colonne info).
A quel stade est donnée l'adresse IP?
Quelles sont les trames qui utilisent des adresses de broadcast?
● Analysez le détail de la première trame DHCP.
Quel est le protocole de niveau supérieur? Dans quoi est-il encapsulé?
Quels sont les ports source et destination utilisés?
Quelles sont les adresses IP source et destination?
Quelles sont les adresses MAC source et destination?
● Analysez l'enchaînement de la négociation. Comment interprétez vous cet échange de trames?
● Lancer une nouvelle capture. Sur le poste client, libérez puis renouvelez l'adresse. Arrêtez la capture.
→ Commandes DOS : Pour libérer l'adresse, « ipconfig /release » et pour la renouveler, « ipconfig /renew »..
Quelle trame est envoyée lors de la libération de l'adresse?
Que ce passe-t-il lors du renouvellement?
● Lancer une nouvelle capture. Sur le poste client, renouvelez l'adresse sans la libérer auparavant. Arrêtez la capture.
TP : Serveur DHCP sous Linux
Page 2 / 4
En quoi consiste la négociation de renouvellement?
2ème partie : Configuration avancée du serveur DHCP
A réaliser en binôme, avec X et Y étant vos numéros d'étudiant.
Configurer des options DHCP
● A partir du poste sur le réseau 192.168.X.0 faites un ping 192.168.Y.1. Que se passe-t-il? Pourquoi ?
● Modifiez la configuration du serveur 192.168.X.1 de façon à inclure l'adresse des routeurs (passerelle par défaut) pour les
clients. Pour vous aider, adaptez l'exemple de la première partie.
● Relancez le service serveur « /etc/init.d/dhcp3-server restart »,
● Sur le serveur DHCP, démarrez une capture. Renouvelez le bail IP du poste client DHCP. Arrêtez la capture.
● Regardez la nouvelle configuration du poste client et testez la connexion. Le ping doit maintenant fonctionner.
● Analysez la capture : Quelles sont les différences par rapport à la capture qui a permis l'obtention de l'adresse? Comment esttransmis l'adresse du routeur au client DHCP?
● Faites la même chose pour le poste sur le réseau 192.168.Y.0.
● Testez la connexion entre les deux clients . Quelle commande utilisez vous?
Ajouter une réservation de bail client
Réserver un bail à une machine spécifique c'est associer une adresse MAC à une adresse IP
● Notez les 2 adresses MAC des 2 postes précédemment utilisés.
● Modifiez la configuration des deux serveurs pour attribuer une adresse fixe aux postes client. Qu'avez vous ajouté dans le
fichier de configuration du serveur?
● Relancez le service serveur, forcez le renouvellement de l'adresse des postes et vérifiez.
3ème partie : Agent de relais DHCP
A réaliser en binôme.Le serveur DHCP atribuera les adresses IP aux deux LAN. Il faudra donc configurer deux étendues DHCP sur
le premier routeur (X), et activer le relai sur le deuxième (Y)
Description
Le serveur DHCP attribue dynamiquement des adresses aux client du même réseau IP (même domaine de diffusion).
Sous Linux il existe un agent relais DHCP (dhcrelay). Ce produit de l'ISC (Internet Software Consortium) permet de router des
requêtes DHCP provenant de clients d'un réseau sur lequel il n'y a pas de serveur DHCP vers un autre segment sur lequel un
serveur pourra répondre.
Mode de fonctionnement
L'agent relais DHCP écoute les requêtes et les réponses BOOTP et DHCP. Quand une requête arrive, l'agent route la requête vers
la liste de serveurs spécifiée sur la ligne de commande. Quand une réponse arrive d'un serveur, l'agent transmet la réponse
(broadcast ou unicast cela dépend de la réponse) sur le segment d'où provenait la requête (broadcast) ou directement vers le client
(unicast).
TP : Serveur DHCP sous Linux
Page 3 / 4
Ligne de commande
dhcrelay [ -p port ] [ -d ] [ -q ] [ -i if0 [ ... -i ifN ] ] server0 [ ...serverN ]
Fichier de configuration du service : /etc/default/dhcrelay.conf
L'agent
– écoute sur toutes les interfaces à moins que certaines soient spécifiées avec l'option -i,
– utilise, comme le protocole Bootp, le port 67 par défaut (voir /etc/services ). Modifiable avec l'option -p,
– fonctionne en avant-plan avec l'option -d (option debug), sinon en arrière plan,
– n'affiche pas les informations de démarrage avec l'option -q,
– utilise les serveurs spécifiés sur la ligne de commande server0, ...serveurN.
Pour en savoir plus : voir « man dhcrelay ».
Mise en œuvre
● Sur le routeur Y, arrêtez le service DHCP et recopiez la configuration de l'étendue du réseau 192.168.Y.0 sur le routeur /
serveur DHCP X. Notez les lignes à ajouter dans le fichier de configuration.
● Redémarrez le service DHCP sur le routeur X
● Configurez et lancez l'agent relais DHCP sur le routeur Y. Relevez la commande que vous avez utilisée.
● Lancez une capture sur l'interface LAN 192.168.Y.1 du relai DHCP Y.
● Lancer une capture sur le serveur DHCP (interface WAN 172.16.X....).
● Forcez le renouvellement de l'adresse du poste client du réseau 192.168.Y.0
● Arrêtez les captures et vérifiez que le poste client à été correctement configuré. Quelle adresse a-t-il obtenu?
● Analysez la capture.
Entre le relais DHCP et le serveur DHCP a t-on utilisé des adresses de diffusion MAC ?
Comment le serveur DHCP sait-il dans quelle étendue il doit puiser l'adresse ?
4ème partie : Tolérance aux pannes
A réaliser en binôme.
Configurez le routeur 192.168.Y.1 en serveur de secours pour le réseau 192.168.Y.0 :
● Configurer une étendue qui ne se chevauche pas avec celle du serveur DHCP primaire, pour éviter un conflit d'adresse IP.
● Démarrez le service DHCP sur le serveur secondaire Y
● Débranchez le câble réseau du serveur principal
● Forcez le renouvellement de l'adresse du poste du réseau 192.168.X.0. Quelle adresse a-t-il obtenu?
S'il vous reste du temps
Configurer une solution DHCP de tolérance aux pannes en utilisant ISC DHCP Failover.
en anglais : http://www.madboa.com/geek/dhcp-failover/
en français : http://www.linuxplusvalue.be/mylpv.php?id=70
TP : Serveur DHCP sous Linux
Page 4 / 4