Vous êtes sur la page 1sur 18

Services réseaux de base

Serveur DHCP
Serveur DHCP
● Tout ordinateur d'un réseau TCP/IP (Internet ou Intranet)
nécessite une configuration IP pour pouvoir communiquer
avec les autres ordinateurs du réseau.
● Cette configuration IP est attribuée :
– statiquement, en configurant le réseau directement sur
l'ordinateur,
– dynamiquement, avec un serveur DHCP qui attribue
les adresses en fonction de son fichier de
configuration.
● DHCP (Dynamic Host Configuration Protocol) est un
protocole permettant de configurer automatiquement la partie
réseau des machines clientes. Il permet de donner une
configuration IP à un ordinateur en lui indiquant l'adresse IP à
utilisée, l'adresse IP de la passerelle, celles des DNS, etc.
Avantages de DHCP dans
l'administration d'un réseau
● Le protocole DHCP offre une configuration de réseau TCP/IP
fiable et simple,
● Empêche les conflits d'adresses et permet de contrôler
l'utilisation des adresses IP de façon centralisée. Ainsi, si par
exemple l'adresse de la passerelle par défaut change, il suffit
de changer la valeur du paramètre au niveau du serveur
DHCP, pour que toutes les stations aient une prise en compte
du nouveau paramètre dès que le bail sera renouvelé. Dans le
cas de l'adressage statique, il faudrait manuellement
reconfigurer toutes les machines.
● Économie d'adresse : Grâce à DHCP, seules les machines
connectées en ligne ont une adresse IP.
● Les postes itinérants sont plus faciles à gérer
● Le changement de plan d'adressage se trouve facilité par le
dynamisme d'attribution.
Fonctionnement de DHCP
● Un client DHCP est un ordinateur qui demande une adresse IP à un serveur
DHCP. Comment, alors, un client DHCP, qui utilise le protocole TCP/IP mais
qui n'a pas encore obtenu d'adresse IP par le serveur, peut-il communiquer
sur le réseau ?
● Attribution d'une adresse DHCP : Lorsqu'un client DHCP initialise un accès à
un réseau TCP/IP, le processus d'obtention du bail IP se déroule en 4 phases
– Le client émet un message de demande de bail IP (DHCPDISCOVER) qui
est envoyé sous forme d'une diffusion sur le réseau avec adresse IP
source 0.0.0.0 et adresse IP destination 255.255.255.255 et adresse
MAC.
– Les serveurs DHCP répondent en proposant une adresse IP avec une
durée de bail et l'adresse IP du serveur DHCP (DHCOFFER)
– Le client sélectionne la première adresse IP (s'il y a plusieurs serveurs
DHCP) reçue et envoie une demande d'utilisation de cette adresse au
serveur DHCP (DHCPREQUEST). Son message envoyé par diffusion
comporte l'identification du serveur sélectionné qui est informé que son
offre a été retenue ; tous les autres serveurs DHCP retirent leur offre et les
adresses proposées redeviennent disponibles.
– Le serveur DHCP accuse réception de la demande et accorde l'adresse
en bail (DHCPACK), les autres serveurs retirent leur proposition.
● Enfin le client utilise l'adresse pour se connecter au réseau.
Renouvellement de bail IP
● Au redémarrage d'un client, il tente d'obtenir un bail pour la même
adresse avec le serveur DHCP d'origine, en émettant un
DHCPREQUEST. En cas d'échec, le client continue à utiliser la même
adresse IP s'il lui reste du temps sur son bail.
● Les clients DHCP d'un serveur DHCP Windows (NT/2000) tentent de
renouveler leur bail lorsqu'ils ont atteint 50% de sa durée par un
DHCPREQUEST. Si le serveur DHCP est disponible il envoie un
DHCPACK avec la nouvelle durée et éventuellement les mises à jour
des paramètres de configuration.
● Si à 50% le bail n'a pu être renouvelé, le client tente de contacter
l'ensemble des serveurs DHCP (diffusion) lorsqu'il atteint 87,5% de
son bail, avec un DHCPREQUEST,
DHCPREQUEST les serveurs répondent soit par
DHCPACK soit par DHCPNACK (adresse inutilisable, étendue
désactivée...).
● Lorsque le bail expire ou qu'un message DHCPNACK est reçu le
client doit cesser d'utiliser l'adresse IP et et demander un nouveau
bail (retour au processus de souscription). Lorsque le bail expire et
que le client n'obtient pas d'autre adresse la communication TCP/IP
s'interrompt.
Messages DHCP
▸ DHCPDISCOVER : Requête de Localisation des serveurs DHCP
disponibles
▸ DHCPOFFER : Réponse d’un serveur à un paquet
DHCPDISCOVER, contenant les premiers paramètres DHCP
▸ DHCPREQUEST : Requête du client pour annoncer qu'il a accepté
une offre ou pour prolonger son bail
▸ DHCPACK : Réponse du serveur contenant des paramètres
supplémentaires en plus de l'adresse IP du client
▸ DHCPNAK : Réponse du serveur pour signaler au client que son
bail est expiré 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 de
configuration s'il a obtenu une adresse réseau grâce à d'autres
moyens (ex. configuration manuelle)
Configuration d'un serveur
DHCP
● Définir une plage d'adresses qui peuvent être louées à des hôtes
qui en font la demande. En général, on donne :
Une adresse de début (la première qui sera attribuée)
Une adresse de fin (la dernière)
Une ou plusieurs plages d'adresses à exclure de la location
(ceci permet de faire cohabiter un modèle de configuration IP
dynamique avec un modèle statique)
Un masque de sous-réseau
● Tous ces éléments sont attribués pour une durée de bail à fixer.
Si, au bout de cette durée, l'hôte ne sollicite pas à nouveau une
adresse au serveur, cette adresse est jugée disponible pour un
autre hôte.
● Il est possible de connaître les baux actifs (les locations en
cours), on voit alors à quelle adresse MAC est attribuée une
adresse IP.
Mise en oeuvre d'un client
DHCP
● Les clients DHCP doivent être configurés seulement après la
configuration du serveur. Étant donné qu'un ordinateur ne peut
fonctionner simultanément comme client et serveur DHCP,
l'ordinateur fonctionnant comme serveur DHCP doit être
configuré avec une adresse IP fixe.
● Client Linux : Configurer l'adressage dynamique dans le fichier
/etc/network/interfaces
ou Utiliser la commande
dhclient ethX
● Lors de la configuration du client DHCP sous Windows, il faut
cocher la case « Obtenir une adresse IP depuis un serveur
DHCP » dans la fenêtre des propriétés de Microsoft TCP/IP
sans préciser une adresse IP ou un masque de sous-réseau.
Agent de relais DHCP

● Comme les clients contactent les serveurs DHCP à l'aide


d'une diffusion, dans un inter-réseau, on doit théoriquement
installer un serveur DHCP par sous-réseau.
● Si le 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.
● Si le routeur ne prend pas en charge la RFC 1542, une
machine serveur peut être configurée comme agent de
relais DHCP, il suffira de lui spécifier l'adresse du serveur
DHCP. Les demandes des clients DHCP seront relayées
vers le serveur DHCP par l'agent de relais DHCP qui
transmettra les offres aux clients.
Agent relais DHCP
Recommandations
DHCP
● Installez au moins un serveur DHCP par site
pour des questions de charge sur les liaisons
WAN
● Installez deux serveurs par site pour des
besoins de fiabilité surtout si le nombre de
machines est grand
● La durée de validité d’une adresse doit être
limité dans le temps
– 12 à 24 heures pour un terminal
– Une durée plus longue pour les équipements
réseau
Installation d'un serveur
DHCP sous Ubuntu
● Les interfaces réseaux d'un serveur DHCP
doivent être configurées obligatoirement en
adresses IP statiques
● Pour installer le serveur DHCP, il faut installer le
paquet isc-dhcp-server
sudo apt-get install isc-dhcp-server
● Pour démarrer (stopper ou redémarrer) le
service DHCP :
sudo service isc-dhcp-server start (stop ou
restart)
● Pour vérifier l'état du serveur DHCP :
sudo service isc-dhcp-server status
Configuration
● Pour changer la configuration par défaut, if faut éditer le
fichier /etc/dhcp/dhcpd.conf.
/etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd.conf
● /var/lib/dhcp/dhcpd.leases,
/var/lib/dhcp/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.
● A chaque changement apporté au fichier de configuration, il
faut redémarrer le serveur DHCP.
sudo service isc-dhcp-server restart
Exemple de Fichier
dhcpd.conf
# ici il s'agit du réseau 192.168.0.0
subnet 192.168.0.0 netmask 255.255.255.0 {
#La plage d'adresse disponible pour les clients
range 192.168.0.10 192.168.0.20;
# Les clients auront cette adresse comme passerelle par défaut
option routers 192.168.0.254;
# Ici c'est le serveur de noms, on peut en mettre plusieurs
option domain-name-servers 192.168.0.1;
# Enfin on leur donne le nom du domaine
option domain-name "freeduc-sup.org";
# Et l'adresse utilisée pour la diffusion
option broadcast-address 192.168.0.255;
# Le bail à une durée de 86400 s par défaut, soit 24 h
# On peut configurer les clients pour qu'ils puissent demander
# une durée de bail spécifique
default-lease-time 86400;
# On le laisse avec un maximum de 7 jours
max-lease-time 604800;
Exemple de Fichier
dhcpd.conf (suite)
#Ici on désire réserver des adresses à des machines
group {
#use-host-decl-names indique que toutes les machines dans
# l'instruction « group » auront comme nom, celui déclaré dans
# l'instruction host.
use-host-decl-names true ;
# ici définir les machines
host m1 {
hardware ethernet 00:80:23:a8:a7:24;
fixed-address 192.168.0.125;
} # End m1
host m2 {
hardware ethernet a0:81:24:a8:e8:3b;
fixed-address 192.168.0.126;
} # End m2
} # End Group
} # End dhcp.conf
Autres options
● L'option deny unknown-clients interdit l'attribution d'une
adresse IP à une station dont l'adresse MAC est
inconnue du serveur.
● Editer le fichier /etc/default/isc-dhcp-server pour spécifier
les interfaces que dhcpd (le démon de dhcp3-server)
devra écouter.

● On peut aussi reconfigurer cela avec la commande :


sudo dpkg-reconfigure isc-dhcp-server
Contenue du fichier
dhcpd.leases
lease 192.168.255.12 {
starts 5 2013/09/27 20:15:13;
ends 5 2013/09/27 20:25:13;
tstp 5 2013/09/27 20:25:13;
cltt 5 2013/09/27 20:15:13;
binding state free;
hardware ethernet 70:73:cb:bf:94:65;
}
Log du serveur DHCP
Les événements sont enregistrés par défaut dans
/var/log/syslog.log
Pour qu'ils soient enregistrés dans un fichier de log dédié au
serveur DHCP, par exemple /var/log/dhcpd.log, il faudra ajouter
dans le fichier de configuration /etc/dhcp/dhcpd.conf la ligne
suivante :
log-facility local7 ;
Créer le fichier /var/log/dhcpd.log avec comme propriétaire syslog
(droits rw) et comme groupe adm (droits r).
sudo touch /var/log/dhcpd.log
sudo chown syslog :adm /var/log/dhcpd.log
sudo chmod 0640 /var/log/dhcpd.log
Ajouter alors dans le fichier /etc/rsyslog.d/50-default.conf :
local7.* /var/log/dhcpd.log
et relancer le daemon syslog
sudo restart rsyslog (ou sudo service rsyslog restart)

Vous aimerez peut-être aussi