DHCPD v3 Installation et configuration Table des matières 1. Préambule... 2 2. Pré-requis... 2 3. Récupération du paquet... 2 4. Configuration du serveur... 3 4.1. Configuration de la carte réseau du serveur... 3 4.2. Configuration du serveur DHCP... 4 5. Tests de la configuration... 6 5.1. Test sur une machine windows... 6 5.2. Test sur une machine Linux... 6 6. Aller plus loin... 7 6.1. Mettre en place des réservations d'adresse... 7 6.2. Sécuriser la distribution d'adresse... 8 7. Fichier de configuration utilisé pour ce tutoriel... 9 8. Sources... 10
1. Préambule Ce document décrit les procédures à suivre dans le cadre de l'installation et la configuration d'un serveur DHCP (http://fr.wikipedia.org/wiki/dynamic_host_configuration_protocol) sous Linux. Ce serveur visera à distribuer des adresses ip pour un parc hétérogène. On notera les paramètres obligatoires suivants : - Adresse IP - Masque de sous réseau - Passerelle - Serveur DNS 2. Pré-requis - 1 serveur ubuntu (debian) 10.04 installée sans services supplémentaires avec un accès internet (necessaire pour l'utilisation de la commande aptitude lors de l'installation de paquets) - 1 Machine windows (XP, Vista, 7, 2000) - 1 Machine cliente Linux L'adressage de notre LAN sera le suivant : 172.25.1.0/24 soit 1 octet dédié à la partie hôtes 3. Récupération du paquet sudo aptitude install dhcp3-server 2 P a g e
4. Configuration du serveur 4.1. Configuration de la carte réseau du serveur Un serveur par convention, ne possède jamais d'adresse IP dynamique. C'est pourquoi nous allons lui en attribuer une de manière statique. Pour cela éditez le fichier /etc/network/interfaces avec votre éditeur texte favoris (vim, nano...) Vous devriez y voir les éléments de base suivants sur votre carte eth0 : auto eth0 iface eth0 inet dhcp Ces directives indiquent que votre carte réseau eth0 est configurée de manière à recevoir une adresse IP depuis un serveur DHCP. local : Remplaçons les paramètres afin d'en définir une de manière statique pour notre réseau Votre fichier devrait désormais ressembler à cela (avec les informations de votre réseau local dans les champs address, netmask, gateway) : auto eth0 iface eth0 inet static address 172.25.1.1 netmask 255.255.0.0 gateway 172.25.1.254 Une fois vos modifications effectuées, on redémarre le service networking : sudo /etc/init.d/networking restart 3 P a g e
4.2. Configuration du serveur DHCP On retrouve dans le répertoire /etc/dhcp3/ 2 fichiers de configurations et 2 répertoires qui ont chacun un rôle précis : dhclient.conf => fichier de configuration du client DHCP. (Ici sont spécifié les paramètres à acquérir par le biais du DHCP sur la machine. Nécessite le package dhcp3-client) dhclient-enter-hooks.d (répertoire) => contient un script de crochetage (point abordé plus loin) dhclient-exit-hooks.d (répertoire) => contient un script de decrochetage (point abordé plus loin) dhcpd.conf => Fichier de configuration du serveur DHCP On notera aussi la présence d'un fichier dhcp3-server dans /etc/default/ qui aura pour vocation de définir les interfaces réseaux sur lequel le daemon dhcpd devra répondre aux requêtes DHCP. Dans un premier temps nous allons déplacer le fichier d'origine /etc/dhcp3/dhcpd.conf pour partir d'un fichier de configuration vierge : sudo mv dhcpd.conf dhcpd.bak 4 P a g e
Maintenant créez le fichier dhcpd.conf avec votre éditeur texte favoris (vim, sudo ou utilisez touch). #Exemple de fichier pour une simple déclaration de réseau : # Durée de vie par défaut (en secondes) default-lease-time 600; # Durée de vie maxi (en secondes) max-lease-time 7200; # Masque de sous réseau de l'adressage distribué option subnet-mask 255.255.255.0; # Adresse de diffusion option broadcast-address 172.25.1.255; # Passerelle par défaut option routers 172.25.1.254; # Serveurs DNS à attribuer option domain-name-servers 172.25.1.254, 8.8.8.8; # Nom de domaine à définir option domain-name "monlan.com"; subnet 172.25.1.0 netmask 255.255.255.0 { } # Intervalle à distribuer range 172.25.1.1 172.25.1.254; Enregistrez votre fichier puis passez à la configuration du fichier /etc/default/dhcp3- server : Complétez la ligne INTERFACES="" afin d'y ajouter l'interface d'écoute de votre serveur DHCP (vérifiez au préalable le nom de votre interface via ifconfig) : INTERFACES="eth0"; 5 P a g e
Si vous souhaitez en mettre plusieurs : INTERFACES="eth0 eth1 eth2"; Enregistrez votre fichier puis démarrez le service : sudo /etc/init.d/dhcp3-server start Il est alors temps de passer au test de la configuration... 5. Tests de la configuration 5.1. Test sur une machine windows Afin de tester que le DHCP fonctionne bien sous windows, raccordez une machine Windows dans le même réseau filaire que votre serveur DHCP. Configurez votre carte réseau afin qu'elle ait recours au DHCP pour l'obtention d'adresse IP. Faites "démarrer" - "Executer" puis tapez dans la fenêtre "cmd". Exécutez la commande ipconfig /release puis ipconfig /renew Afin de voir tous les paramètres IP de votre carte utilisez la commande ipconfig /all. Vous constaterez alors que votre machine a bien reçu une adresse ip, une passerelle, des serveurs DNS, un nom de domaine =) 5.2. Test sur une machine Linux Pour les linuxiens, éditez le fichier /etc/network/interfaces puis configurez votre carte réseau comme suit : auto eth0 iface eth0 inet dhcp Enregistrez vos modifications puis redémarrez le service réseau : sudo /etc/init.d/networking restart 6 P a g e
Utilisez alors la commande ifconfig afin de valider que votre machine s'est bien vu affecter une adresse IP depuis le serveur DHCP. 6. Aller plus loin 6.1. Mettre en place des réservations d'adresse Une réservation d'adresse permet d'affecter systématiquement une adresse IP à une et une seule machine. Cette option peut-être utile pour définir des adresses ip Fixe pour des périphériques réseaux ou certains serveurs (imprimantes, serveurs etc...) Prenez une des deux machines pour ce cas et récupérez l'adresse MAC de la carte réseau de votre machine. Une fois la MAC en votre possession, éditez le fichier /etc/dhcp3/dhcpd.conf puis ajoutez les lignes suivantes : host monpc { hardware ethernet 00:0c:29:34:64:02; fixed-address 172.25.1.20; } Ajoutez autant de blocs hosts que de réservations à effectuer. Une fois vos modifications enregistrée, redémarrez le service dhcp3. Il ne vous reste alors plus qu'a réinitialiser votre bail DHCP sur votre machine cliente et observer le résultat =) 7 P a g e
6.2. Sécuriser la distribution d'adresse Dans certains cas, certaines organisations souhaitent pouvoir réguler la distribution d'adresses IP au sein de leur réseau. Il existe une directive permettant de refuser toute distribution d'adresse aux machines que le serveur DHCP ne connait pas. On utilisera bien sur le point précédent qui est la réservation d'adresse. Par conséquent en utilisant la directive deny-unknow-client; seule les machines ayant une adresse MAC répertoriée dans le serveur DHCP pourront se voir distribuer des adresses. que : Attention, cette directive ne protégera pas votre réseau de certaines failles/attaques tel - le spoofing d'adresse MAC - le choix de la taille de votre réseau (plage hôtes trop vastes) - la configuration statique/manuelle d'une carte réseau ;) 8 P a g e
7. Fichier de configuration utilisé pour ce tutoriel Voici le fichier final que j'ai obtenu lors de l'élaboration de ce tutoriel : /etc/dhcp3/dhcpd.conf # Durée de vie par défaut (en secondes) default-lease-time 600; # Durée de vie maxi (en secondes) max-lease-time 7200; # Masque de sous réseau de l'adressage distribué option subnet-mask 255.255.255.0; # Adresse de diffusion option broadcast-address 172.25.1.255; # Passerelle par défaut option routers 172.25.1.254; # Serveurs DNS à attribuer option domain-name-servers 172.25.1.254, 8.8.8.8; # Nom de domaine à définir option domain-name "monlan.com"; subnet 172.25.1.0 netmask 255.255.255.0 { } # Intervalle à distribuer range 172.25.1.1 172.25.1.254; host monpc { hardware ethernet 00:0c:29:34:64:02; fixed-address 172.25.1.20; 9 P a g e
8. Sources http://www.delafond.org/traducmanfr/man/man5/dhcpd.conf.5.html 10 P a g e