Vous êtes sur la page 1sur 39

DHCP

Plan
Problématique.
Solution.
Définition.
Fonctionnement.
Configuration
 Sous Windows
Problématique
l'adressage statique engendre une lourde
charge de maintenance et des risques
d'erreurs.
les adresses assignées ne peuvent être
utilisées même si l'ordinateur qui la détient
n'est pas en service.
Vous avez des portables que vous
connectez sur divers réseaux,
typiquement chez vous et sur votre lieu de
travail.
Solution

Seuls les ordinateurs en service utilisent


une adresse de l'espace d'adressage ;
Toute modification des paramètres
(adresse de la passerelle, des serveurs de
noms) est répercutée sur les stations lors
du redémarrage ;
La modification de ces paramètres est
centralisée sur les serveurs DHCP.
Définition
Dynamic Host Configuration Protocol.
DHCP configure automatique des
paramètres IP d'une station, notamment
en lui assignant automatiquement une
adresse IP et un masque de sous-réseau.
DHCP peut aussi configurer l'adresse de
la passerelle par défaut, des serveurs de
noms DNS et NBNS.
historique
On voit généralement le protocole DHCP
comme distribuant des adresses IP, mais il a
été conçu au départ comme complément au
protocole BOOTP (Bootstrap Protocol) qui
est utilisé par exemple lorsque l'on installe
une machine à travers un réseau (on peut
effectivement installer complètement un
ordinateur, et c'est beaucoup plus rapide que
de le faire en à la main).
Fonctionnement
L’ordinateur envoie par diffusion un datagramme
(DHCP DISCOVER) qui s'adresse au port 67 de
n'importe quel serveur à l'écoute sur ce port. Ce
datagramme comporte entre autres l'adresse
physique (MAC) du client.
Fonctionnement
Tout serveur DHCP ayant reçu ce datagramme, s'il est
en mesure de proposer une adresse sur le réseau
auquel appartient le client, diffuse une offre DHCP
(DHCP OFFER) à l'attention du client (sur son port 68),
identifié par son adresse physique. Cette offre comporte
l'adresse IP du serveur, ainsi que l'adresse IP et le
masque de sous-réseau qu'il propose au client.
Fonctionnement
Le client retient une des offres reçues (la première qui lui
parvient), et diffuse sur le réseau un datagramme de
requête DHCP (DHCP REQUEST). Ce datagramme
comporte l'adresse IP du serveur et celle qui vient d'être
proposée au client. Elle a pour effet de demander au
serveur choisi l'assignation de cette adresse, l'envoi
éventuel des valeurs des paramètres, et d'informer les
autres serveurs qui ont fait une offre qu'elle n'a pas été
retenue.
Fonctionnement
Le serveur DHCP choisi élabore un datagramme d'accusé de
réception (DHCP ack pour acknowledgement) qui assigne au client
l'adresse IP et son masque de sous-réseau, la durée du bail de
cette adresse, deux valeurs T1 et T2 qui déterminent le
comportement du client en fin de bail, et éventuellement d'autres
paramètres :
adresse IP de la passerelle par défaut
adresses IP des serveurs DNS
adresses IP des serveurs NBNS (WINS)
Les baux

Pour des raisons d'optimisation des


ressources réseau, les adresses IP sont
délivrées pour une durée limitée. C'est ce
qu'on appelle un bail (lease en anglais). Et
ce dernier doit gérer par le client et aussi
par le serveur.
Récapitule
chronogramme-type
Pour demander une nouvelle adresse, le
chronogramme-type est le suivant :
Pour renouveler une adresse, le fonctionnement est le
suivant (les 2 serveurs connaissent le client) :
Les messages DHCP

Les messages DHCP sont transmises via


UDP. Bien que peu fiable, ce protocole
suffit au transport des paquets simples sur
réseau local. De facto, DHCP fonctionne
aussi en mode non connecté. Le client
n'utilise que le port 68 pour envoyer et
recevoir ses messages  de la même
façon, le serveur envoie et reçoit ses
messages sur un seul port, le port 67.
Format de la trame DHCP
Signification des champs
- op : vaut 1 pour BOOTREQUEST (requête client), 2 pour
BOOTREPLY (réponse serveur)
    - htype : type de l'adresse hardware (adresse MAC, par
exemple.)
    - hlen : longueur de l'adresse hardware (en octet). C'est 6
pour une adresse MAC
    - hops : peut être utilisé par des relais DHCP
    - xid : nombre aléatoire choisi par le client et qui est utilisé
pour reconnaître le client
    - secs : le temps écoulé (en secondes) depuis que le client
a commencé sa requête
suite
    - flags : flags divers
    - ciaddr : adresse IP du client, lorsqu'il en a déjà une
-yiaddr : la (future ?) adresse IP du client
    - siaddr : adresse IP du (prochain) serveur à utiliser
    - giaddr : adresse IP du relais (passerelle par
exemple) lorsque la connexion directe client/serveur
n'est pas possible
    - chaddr : adresse hardware du client
    - sname : champ optionnel. Nom du serveur
    - file : nom du fichier à utiliser pour le boot
    - options : Champs réservé pour les options
Client et serveur sur des segments
différents

Lorsque le serveur DHCP et le client ne


figurent pas sur le même segment
Ethernet, les diffusions émises par ce
dernier ne parviennent pas au serveur
parce que les routeurs, ne transmettent
pas les diffusions générales (broadcaste).
Client et serveur sur des segments
différents

1er Cas:

Si votre routeur prend en charge la RFC 1542, il


peut faire office d'agent de relais DHCP, et ainsi
relayer les diffusions de demande d'adresse IP
des clients DHCP dans chaque sous-réseau.
(la RFC 1542 décrit la possibilité pour un routeur
de laisser passer les diffusions DHCP).
Client et serveur sur des segments différents

2eme Cas:
Cet hôte particulier est configuré avec une
adresse IP statique, et connaît l'adresse d'un
serveur DHCP auquel il transmet les requêtes
DHCP qui lui parviennent sur le port 68. Il diffuse
sur son segment les réponses qu'il reçoit du
serveur DHCP.
Configuration Serveur DHCP
sous Linux

Installation du serveur:
L’installation peut se faire :

via le CD d’installation de votre


distribution(Red Hat par exemple).

ou bien le télécharger via internet.


Configuration Serveur DHCP
sous Linux
Configuration du serveur
La configuration consiste à créer 2 fichiers :
->/etc/dhcp3/dhcpd.conf, ce fichier sert à la
configuration même du serveur (plage
d'adresses, paramètres distribués).
->/var/lib/dhcp3/dhcpd.leases, ce fichier va
servir à l'inscription des clients. 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.
Configuration Serveur DHCP
sous Linux
Il y a deux modes principaux qui pourront être utilisés pour
l'attribution dynamique d'adresses IP :
1-L'un se contente de distribuer aléatoirement des adresses bien
précises en veillant toujours à ne pas donner la même à plusieurs
machines.
2-L'autre attribue systématiquement une adresse bien précise à
chaque machine soit en fonction de la demande ou, plus
couramment, en fonction de l'adresse MAC ethernet (l'adresse
physique) de la carte réseau.

Evidemment les deux peuvent coexister, ce qui est très pratique


pour avoir des machines "sédentaires" auxquelles on pourra
toujours s'adresser avec la même adresse, et permettre en même
temps à quiconque de venir se brancher sur le réseau avec une
nouvelle machine et d'obtenir "automatiquement" et instantanément
un accès.
Configuration Serveur DHCP
sous Linux
Alors pour conserver le 1er comportement
on ajoute la ligne suivante en haut du
fichier de configuration:
ddns-update-style ad-hoc;
Pour utiliser le deuxième mode, on ajoute
la ligne suivante en haut du fichier de
configuration:
ddns-update-style interim;
Configuration Serveur DHCP
sous Linux
Exemple de Déclaration de sous-réseau

Dans cet exemple, il y a des options globales pour tous les


clients DHCP dans le sous-réseau et une plage, range, est
déclarée. Les clients reçoivent une adresse IP au sein de range
Configuration Serveur DHCP
sous Linux
Exemple de Déclaration de réseau partagé.
Tous les sous-réseaux partageant le même réseau physique
doivent être déclarés dans une déclaration shared-network
comme le montre l'Exemple suivant :
Configuration Serveur DHCP
sous Linux
Exemple de Déclaration de groupe
Pour regrouper des réseaux partagés, des sous-réseaux, des hôtes
ou autres on utilise la déclaration group pour appliquer des
paramètres globaux à un groupe de déclarations.
Configuration Serveur DHCP
sous Linux
Exemple de Paramètre 'range'
Pour configurer un serveur DHCP qui attribue une adresse IP
dynamique à un système dans un sous-réseau, on suit l'Exemple
suivant :
Configuration Serveur DHCP
sous Linux
Exemple d’Adresse IP statique utilisant DHCP
Pour attribuer une adresse IP à un client sur la base de l'adresse
MAC de la carte d'interface réseau, utilisez le paramètre hardware
ethernet dans une déclaration host. Comme le montre l'Exemple
suivant :
Configuration Serveur DHCP
sous Linux
exemple simple d'attribution uniquement dynamique :

Dans cet exemple le serveur dhcp ne s'occupe pas des


adresses 192.168.0.1, 192.168.0.2 et 192.168.0.254
Configuration Serveur DHCP
sous Linux
version un peut complexe que le 1er dans lequel on va garder la
même attribution dynamique mais avec en plus trois attributions
statiques pour les trois machines qui auront comme adresses les
trois précédemment citées :
Configuration Serveur DHCP
sous Linux
Exemple d’Adresse IP statique utilisant DHCP
Astuce:
Vous pouvez utiliser le fichier de configuration d'exemple figurant
dans Red Hat Linux 9 comme point de départ, puis y ajouter vos
propres options de configuration personnalisées. Copiez-le à
l'emplacement approprié à l'aide de la commande:
Configuration Client DHCP
sous Linux
Configuration d'un client DHCP
La première étape de la configuration d'un client
DHCP consiste à vérifier que le noyau reconnaît la
carte d'interface réseau.
Pour configurer manuellement un client DHCP, vous
devez modifier le fichier /etc/sysconfig/network afin
d'activer la mise en réseau et le fichier de
configuration pour chacun des périphériques réseau
dans le répertoire /etc/sysconfig/network-scripts.
Dans ce répertoire, chaque périphérique doit
disposer d'un fichier de configuration nommé ifcfg-
eth0, eth0 correspondant au nom du périphérique
réseau.
Configuration Client DHCP
sous Linux
Le fichier /etc/sysconfig/network doit
contenir la ligne suivante :
NETWORKING=yes
Le fichier /etc/sysconfig/network-
scripts/ifcfg-eth0 doit contenir les
lignes suivantes :
DEVICE=eth0BOOTPROTO=dhcpONBO
OT=yes
Configuration Serveur DHCP
sous Linux

Récapitulation par exemple.


Configuration Client DHCP
sous Linux

Exemple de création de
fichier d’inscription.
Merci
pour
votre
attention

Vous aimerez peut-être aussi