:: News .:. Documents .:. Forum .:. Downloads .:. Bibliographie .:. Liens .:. Contact  :: 


Home
  :. News
  .: Documents
    .: Notions
    .: Protocoles
    .: Sécurité
    .: Architecture
    .: Prog
    .: Systèmes
  :. Forum
  .: Downloads
  :. Bibliographie
  .: Liens
  :. Contact

Chat

  Nickname:


irc: #guill.net

Forum



 
FreeBSD - DHCP  
 

 

Introduction

Lorsque l’on utilise le protocole TCP/IP au sein d’un réseau de PME/PMI, il devient vite fastidieux de paramétrer manuellement la configuration réseau de chaque poste de travail.

Il existe néanmoins une solution d’adressage dynamique qui peut largement faciliter la vie des administrateurs en centralisant et automatisant  la configuration des paramètres réseaux nécessaires au bon fonctionnement des postes clients.

Ce protocole se nomme DHCP (Dynamic Host Configuration Protocol)

Un peu de théorie

Le DHCP permet de configurer tout ce qui concerne les paramètres réseau du poste client, c’est à dire son IP, son masque de sous réseau, la passerelle…

DHCP est une extension du protocole BOOTP basé sur UDP (User Datagramme Protocol) c’est donc un service « non connecté ».  Le serveur DHCP attribut les informations pour une période limitée, un bail durant lequel le client aura une configuration valide qu’il devra libérer ou renouveler à la fin de ce dernier.

On peut schématiser le processus d’attribution comme suit:

Le client envoie une requête sur tout le réseau avec comme adresse de destination l’IP Broadcast 255.255.255.255.  Le serveur reçoit la requête et  répond à cette dernière, toujours à l’adresse de broadcast 255.255.255.255, sans vérifier que le client a bien reçu la réponse.

En pratique, l’attribution d’adresse est un petit peu plus compliquée que cela. En effet, le serveur et le client s’échangent plusieurs requêtes permettant le paramétrage de l’interface réseau : Voir Annexe N°1-1

DHCPDISCOVER : requête envoyée par le client (à l’adresse 255.255.255.255) dont le but est de localiser le ou les serveurs DHCP disponibles.

DHCPOFFER : réponse du ou des serveurs (à l'adresse 255.255.255.255) à une requête DHCPDISCOVER, elle contient les premiers paramètres.

DHCPREQUEST : requête diverse du client pour, par exemple,  prolonger son bail.

DHCPACK : réponse du serveur qui contient des paramètres et l'adresse IP du client.

DHCPNAK : réponse du serveur pour signaler au client que son bail est échu ou si le client annonce une mauvaise configuration réseau.

DHCPDECLINE : le client annonce au serveur que l'adresse est déjà utilisée.

DHCPRELEASE : le client libère son adresse IP.

DHCPINFORM : le client demande des paramètres locaux, il a déjà son adresse IP.

1 - Installation et configuration du serveur

Les logiciels :

Nous allons utiliser les logiciels libres pour implémenter le service DHCP.

Le serveur en lui-même est développé par l’Internet Software Consortium et va tourner sous un système Unix libre, FreeBSD.

ISC DHCPD version 3.0

FreeBSD 4.7

Le matériel :

A l’entreprise :

Processeur Pentium 166 Mhz
RAM 32 Mo EDO
Disque dur 1Go
Une carte réseau 3com 3c509 10Mbps (reconnue sous FreeBSD)

Pour la démonstration :

Processeur Celeron 1 Ghz
RAM 128 Mo SDRAM
Disque dur 20 Go
Une carte réseau Sis 900 10/100Mbps (reconnue sous FreeBSD)

Cas pratique :

Les postes clients de notre réseau local devront être paramétrés comme suit :
Réseau 192.168.0.0
Masque de sous réseau 255.255.255.0
Plage d’adresses 192.168.0.1 -> 192.168.0.254

IP réservées :

192.168.0.10       Serveur DHCP
192.168.0.11       Serveur FTP et HTTP
192.168.0.1       Passerelle

DNS primaire du FAI = 80.8.254.66

DNS secondaire  du FAI = 193.252.19.3

Dessin du réseau : Voir Annexe N°1-2

Travaux réalisés :

Installation du serveur :

On récupère les sources du serveur sur le serveur FTP de l’ISC

Notebook# ftp –a ftp://ftp.isc.org/isc/dhcp/dhcp-latest.tar.gz

Compilation des sources et installation

Notebook# tar xvzf dhcp-latest.tar.gz

Notebook# cd dhcp-3.0pl1/

Notebook# ./configure

Notebook# make

Notebook# make install

Configuration du serveur :

Tout d’abord, il faut copier le fichier de configuration dhcpd.conf dans le répertoire /etc

Notebook# cp /etc/dhcp-3.0pl1/serveur/dhcpd.conf /etc/

Ensuite on l’édite

Notebook# vi /etc/dhcpd.conf

subnet 192.168.0.0 netmask 255.255.255.0 { #Définition du réseau et du sous réseau
     range 192.168.0.20 192.168.0.254; #Plage d’adresses à distribuer
     option routers 192.168.0.1; #IP de la passerelle
     default-lease-time 2419200; #Bail par défaut en secondes
     max-lease-time 3000000; #Bail maximum en secondes
     option domain-name "actionbat.com"; #Domaine attribué au client
     option domain-name-servers 80.8.254.66, 193.252.19.3; #IP des serveurs DNS
}
ddns-update-style none; #MAJ DDNS non implémentée

Lancement du serveur

Il faut impérativement créer le fichier /var/db/dhcpd.leases avant de lancer le serveur (ce fichier contient les baux d’adresses) :

Notebook# touch /var/db/dhcpd.leases

On peut ensuite lancer le serveur :

Notebook# /usr/sbin/dhcpd

Paramètres :

  • -p {port} : Précise le port d’écoute (par défaut c’est le 67)
  • -f : Démarrage du programme au premier plan et non pas en tant que démon.
  • -q : Ne pas afficher les copyrights au démarrage.
  • -t : vérification de la bonne syntaxe du fichier de configuration (dhcpd.conf).
  • -T : vérification de l’intégrité du fichier de baux (dhcpd.leases).
  • -cf {config_file} : Précise le fichier de configuration à utiliser (Par défaut : /etc/dhcpd.conf).
  • -lf {leases_file} : Idem mais pour le fichier de baux (Par défaut : /var/db/dhcpd.leases).
  • {interface [interface2]…} : Indique la ou les interfaces d’écoute. Le serveur DHCP répondra uniquement aux requêtes arrivant sur la ou les interfaces spécifiées. Par exemple, si nous avons plusieurs interfaces réseaux (if0, if1, if2) et que nous voulons seulement écouter sur if0 il suffit de faire : /usr/sbin/dhcpd if0

Il est conseillé de lancer le serveur automatiquement  au démarrage :

Notebook# echo “/usr/sbin/dhcpd” /etc/rc.local

2 - La configuration des postes clients

Windows 95/98/98SE/Me :
Poste de travail / panneau de configuration / réseau / Sélectionner « Protocole Internet (TCP/IP) » / cliquer sur « Propriétés » / cocher « Obtenir une adresse IP automatiquement » et « Obtenir les adresses des serveurs DNS automatiquement »

Windows 2000/ XP :
Clique droit sur « Favoris Réseau » / cliquer sur « Propriétés » Dans « Connexions réseau et accès à distance » clique droit sur « Connexion au réseau local » / « Propriétés » / Sélectionner « Protocole Internet (TCP/IP) » / cliquer sur « Propriétés » / cocher « Obtenir une adresse IP automatiquement » et « Obtenir les adresses des serveurs DNS automatiquement »
Pour vérifier la bonne configuration de l’interface nous pouvons utiliser la commande IPCONFIG (il existe aussi winipcfg mais ce programme n’est plus disponible sous Windows 2000 / XP) Voir annexe N°1-3 et 2-1

Système *BSD et Unix-Like

Télécharger et installer, s’ il ne l’est pas déjà, le client DHCP de l’Internet Software Consortium : ftp://ftp.isc.org/isc/dhcp/dhcp-latest.tar.gz

Ensuite il suffit de taper : # dhclient if0 (Où if0 est l’interface réseau)

Le client DHCP s’occupe de créer le fichier resolv.conf dans /etc qui contient les IP des serveurs DNS et d’ajouter l’IP de la passerelle comme route par défaut  ( route add default ip_de_la_passerelle ). Pour les options plus pointues : man dhclient et voir le fichier dhclient.conf . Il est recommandé de lancer la commande automatiquement au démarrage, pour cela il faut taper :

# echo «/sbin/dhclient if0» >> /etc/rc.local

Ensuite nous pouvons vérifier la configuration réseau en tapant : (Voir Annexe N°2-2)

# ifconfig if0       # route get default       # cat /etc/resolv.conf

3 - Bilan

Une solution de ce type est assez simple à mettre en place. Nous n’avons rencontré aucun problème lors de la configuration du service DHCP. Toutefois, la configuration peut se révéler plus complexe lorsque l’on utilise la mise à jour dynamique des serveurs DNS et le protocole BOOTP (BOOTSTRAP Protocol). Le serveur de l’ISC permet aussi de réserver des adresses IP pour certains postes en fonction de leur adresse MAC. N’en ayant pas l’utilité, cette fonction n’a pas était testée.

Ressources

http://www.guill.net
http://gcu-squad.org
http://www.isc.org
http://www.freebsd-fr.org

Annexe N°1-1

Annexe N°1-2

Annexe N°1-3

Annexe N°2-1

Annexe N°2-2

g@t - 06/2003
 




Sondage

Quel est votre connexion à Internet aujourd'hui ?
 
RTC 56Kbps
ADSL simple de 128 à 2048 Kbps
ADSL + Téléphonie (+TV) de 128 à 2048 Kbps
ADSL simple jusqu'à 20Mbps
ADSL + Téléphonie (+TV) jusqu'à 20Mbps
Autres (RNIS, Satellites bi-directionnel...)
Total :
3241

Recherche


Docs
   Pflogsumm (Analyseur de log mail pour Postfix)
   Proftpd (Mise en service d'un serveur FTP avec proftpd sous Linux)
   Openldap (Mise en service d'un serveur LDAP sous Linux)
   Gestion des périphériques en c++ builder (Communication RS232 en C++ Builder)
   Les sockets windows (Windows Sockets : un cours accéléré)

guill.net©1999-2024