🌍 Séance 2 : DHCP, NTP et synchronisation Chrony
| Formation | BTS SIO option SISR — IRIS Mediaschool |
|---|---|
| Bloc | B2 — Réseaux et sécurité (SISR) |
| Module | M2.2 — Administration Systèmes & Réseaux |
| Compétence | B2.2 / B2.3 |
| Durée | 3h30 |
| Prérequis | Avoir complété la Séance 1 — DNS BIND9 et zones (C2.2.3) |
Introduction (10 min)
Un incident fréquent en production est la désynchronisation horaire : des certificats TLS peuvent apparaître comme expirés si l'horloge d'un serveur est fausse, provoquant l'indisponibilité apparente d'un service HTTPS. Un diagnostic dans une PME peut parfois prendre des heures pour aboutir à la cause « absurde » : une dérive NTP de quelques minutes sur le serveur frontal. Cette séance montre pourquoi DHCP et NTP sont des services d'infrastructure critiques et comment les déployer de façon robuste (scopes, réservations, relais, failover DHCP) et cohérente (chrony) dans un parc serveur.
🎯 Objectifs de la séance
À l'issue de cette séance, vous serez capable de :
- Expliquer et illustrer le processus DORA (Discover / Offer / Request / Ack) et les différences entre broadcast et unicast dans le flux DHCP.
- Configurer des scopes DHCP (VLAN 10/20/40) et des réservations MAC sur Windows Server 2022 (win-srv01) et vérifier la distribution des options (gateway, DNS, domaine, durée de bail).
- Installer et configurer chrony sur les serveurs Linux pour obtenir une synchronisation fiable en prenant win-srv01 comme source NTP.
1. DHCP : DORA, scopes, réservations et sécurité (80 min)
Le protocole DHCP permet l'allocation dynamique d'adresses IP et la distribution d'informations de configuration réseau (gateway, DNS, domaine). Le mécanisme standard est décrit par l'acronyme DORA : le client envoie un DHCPDISCOVER en broadcast (port UDP 67/68) pour trouver des offres ; un serveur DHCP répond par un DHCPOFFER ; le client sélectionne une offre et envoie un DHCPREQUEST ; le serveur confirme par un DHCPACK et le bail est effectif. Selon la topologie, certaines réponses peuvent être unicast si l'adresse client est connue, sinon elles restent en broadcast pour atteindre le client sur le segment local.
Client → DISCOVER (broadcast UDP 67) → Serveur DHCP
Client ← OFFER (unicast ou broadcast) ← Serveur DHCP
Client → REQUEST (broadcast, sélection de l'offre) → Serveur DHCP
Client ← ACK (confirmation du bail) ← Serveur DHCP
1.1 Scopes et options DHCP
Un scope DHCP est défini par une plage d'adresses (start–end) et un masque de sous-réseau. Il contient également des options de scope transmises aux clients lors de l'attribution du bail :
| Option DHCP | N° | Description |
|---|---|---|
router |
3 | Passerelle par défaut |
dns-server |
6 | Adresse(s) du ou des serveurs DNS |
domain-name |
15 | Nom de domaine du réseau local |
lease-time |
51 | Durée de bail (en secondes) |
1.2 Réservations MAC
Les réservations MAC permettent de lier une adresse IP fixe à l'adresse matérielle d'une carte réseau, conciliant IP fixes pour équipements critiques et gestion centralisée via DHCP. Sous ISC dhcpd (Linux), cela se fait par un bloc host dans dhcpd.conf :
# extrait dhcpd.conf
host innovattech-nas01 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.10.15;
}
1.3 Relay agent DHCP
Lorsque le serveur DHCP n'est pas sur le même VLAN que les clients, un relais DHCP est nécessaire sur le routeur ou le SVI (interface VLAN Cisco). La commande ip helper-address transfère les broadcasts DHCP vers l'adresse unicast du serveur :
interface Vlan10
description VLAN 10 - Administration
ip address 192.168.10.1 255.255.255.0
ip helper-address 192.168.10.5 ! adresse du serveur DHCP
1.4 Sécurité : DHCP snooping
Pour contrer les DHCP rogue (serveurs DHCP non autorisés injectant de fausses informations de configuration), les commutateurs Cisco proposent le DHCP snooping. Cette fonctionnalité crée une table des bindings et bloque les réponses DHCP sur les ports non fiables (untrusted) :
ip dhcp snooping
ip dhcp snooping vlan 10,20,40
interface GigabitEthernet1/0/24
ip dhcp snooping trust
Seuls les ports connectés au serveur DHCP ou aux liens trunk (uplinks) doivent être marqués comme trust. Tous les ports d'accès clients restent untrusted par défaut, bloquant ainsi toute réponse DHCP illégitime.
2. Déploiement Windows DHCP (win-srv01) et NTP (60 min)
Sur Windows Server 2022, le rôle DHCP s'installe via Server Manager ou PowerShell. La gestion se fait entièrement via des cmdlets PowerShell, ce qui facilite l'automatisation et la documentation des configurations de production.
2.1 Installation du rôle DHCP
# Installer le rôle DHCP avec les outils de gestion
Install-WindowsFeature -Name DHCP -IncludeManagementTools
# Autoriser le serveur DHCP dans Active Directory (si domaine présent)
Add-DhcpServerInDC -DnsName "win-srv01.innovattech.local" -IpAddress 192.168.10.5
2.2 Création des scopes et options
# Créer un scope pour VLAN 10 (Administration)
Add-DhcpServerv4Scope -Name "VLAN10" -StartRange 192.168.10.100 -EndRange 192.168.10.200 -SubnetMask 255.255.255.0
# Définir les options du scope VLAN10 (routeur, DNS, domaine, durée de bail 8h)
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 -Router 192.168.10.1 -DnsServer 192.168.10.5 -DnsDomain "innovattech.local" -LeaseDuration 8.00:00:00
# Ajouter une réservation pour le NAS
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.15 -ClientId 00-11-22-33-44-55 -Description "nas01" -Name "nas01"
# Ajouter une réservation pour debian-srv01
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.10 -ClientId 00-11-22-33-44-66 -Description "debian-srv01" -Name "debian-srv01"
2.3 Failover DHCP (haute disponibilité)
Windows Server 2022 propose un mécanisme de failover DHCP entre deux serveurs pour assurer la continuité du service. Deux modes sont disponibles :
| Mode | Fonctionnement | Usage recommandé |
|---|---|---|
| LoadBalance | Répartit les baux entre deux serveurs (ex : 50/50) | Sites à haute densité de clients |
| HotStandby | Un partenaire passif prend le relais si le principal tombe | Sites distants / tolérance aux pannes |
# Configurer le failover DHCP en mode LoadBalance (50/50) avec un second serveur
Add-DhcpServerv4Failover -Name "DHCPFailover" -PartnerServer "192.168.10.6" -Mode LoadBalance -LoadBalancePercent 50 -MaxClientLeadTime 1:00:00
3. NTP, hiérarchie stratum et chrony (40 min)
L'heure sur un réseau est critique pour Kerberos (tolérance de 5 min par défaut), TLS/certificats (période de validité NotBefore/NotAfter) et les logs (corrélation d'événements entre machines). NTP organise les serveurs en niveaux de stratum :
| Stratum | Description | Exemple |
|---|---|---|
| Stratum 0 | Sources matérielles de référence (non accessibles en réseau) | GPS, horloge atomique |
| Stratum 1 | Serveurs directement connectés aux stratum 0 | time.cloudflare.com, time.google.com |
| Stratum 2 | Serveurs synchronisés sur des stratum 1 | pool.ntp.org, win-srv01 interne |
| Stratum N | Clients synchronisés sur stratum N−1 | debian-srv01, proxmox01 |
Configurer un serveur interne (win-srv01) pour interroger des pools publics (stratum 1/2), puis pointer tous les serveurs et clients internes vers ce serveur. Cela limite le trafic sortant et garantit une source NTP unique et cohérente pour le parc.
3.1 Configuration de chrony
Chrony est le remplaçant moderne de ntpd sur la plupart des distributions Linux récentes (Debian 12+, RHEL 8+). Il est particulièrement adapté aux machines virtualisées et aux environnements avec des sauts de connectivité. Configuration type dans /etc/chrony/chrony.conf :
# /etc/chrony/chrony.conf
# Pool NTP public comme fallback
pool pool.ntp.org iburst
# Serveur Windows interne — source préférée (mot-clé prefer)
server 192.168.10.5 iburst prefer
# Correction de dérive rapide au démarrage (max 3 fois si offset > 1.0 s)
makestep 1.0 3
# Fichier mémorisant la dérive de l'horloge matérielle entre les redémarrages
driftfile /var/lib/chrony/chrony.drift
# Synchroniser l'horloge matérielle (RTC) avec l'heure système
rtcsync
3.2 Commandes de diagnostic NTP
# Afficher les sources NTP et leur qualité de synchronisation
chronyc sources -v
# Vérifier l'état du suivi de l'horloge locale (offset, drift, stratum)
chronyc tracking
# Alternative si ntpd est utilisé (distributions plus anciennes)
ntpq -p
3.3 Interprétation de la sortie chronyc sources -v
Exemple de sortie attendue après synchronisation réussie sur win-srv01 :
210 Number of sources = 2
MS Name/IP address Stratum Poll Reach LastRx Last sample
^* 192.168.10.5 2 6 377 9 +0.001234s
^+ 91.189.94.4 2 6 377 8 -0.002345s
| Symbole | Signification |
|---|---|
* |
Source actuellement sélectionnée comme référence principale |
+ |
Source combinée (bonne qualité, utilisée en complément) |
? |
Source non utilisable (reach trop faible, souvent injoignable) |
x |
Source rejetée (faux ticker, heure incohérente) |
🛠️ Travaux Pratiques (80–90 min)
Contexte
Vous êtes technicien chez InnovatTech. La direction souhaite centraliser la distribution d'adresses via win-srv01 (192.168.10.5) et synchroniser l'heure de tous les serveurs Linux sur ce contrôleur. Vous allez donc créer les scopes DHCP pour les VLAN 10/20/40, créer des réservations pour nas01 et debian-srv01, configurer le relais DHCP sur le routeur si nécessaire, puis déployer chrony sur les serveurs Linux en pointant vers win-srv01.
Objectif
- Mettre en service les scopes DHCP pour VLAN 10/20/40 et créer les réservations demandées.
- Déployer chrony sur les serveurs Linux et vérifier la synchronisation avec win-srv01.
Prérequis techniques
- Accès administrateur sur
win-srv01(Windows Server 2022). - Accès
sudosurdebian-srv01,debian-srv02,proxmox01. - Connaître les adresses MAC des équipements à réserver :
nas01→00-11-22-33-44-55;debian-srv01→00-11-22-33-44-66.
Étapes
Étape 1 — Installer et autoriser le rôle DHCP sur win-srv01
# Installer le rôle
Install-WindowsFeature -Name DHCP -IncludeManagementTools
# Autoriser le serveur DHCP dans AD (si domaine présent)
Add-DhcpServerInDC -DnsName "win-srv01.innovattech.local" -IpAddress 192.168.10.5
Étape 2 — Créer les scopes pour les VLANs 10, 20 et 40
# VLAN 10 - Administration
Add-DhcpServerv4Scope -Name "VLAN10" -StartRange 192.168.10.100 -EndRange 192.168.10.200 -SubnetMask 255.255.255.0
# VLAN 20 - Utilisateurs
Add-DhcpServerv4Scope -Name "VLAN20" -StartRange 192.168.20.100 -EndRange 192.168.20.200 -SubnetMask 255.255.255.0
# VLAN 40 - Guests
Add-DhcpServerv4Scope -Name "VLAN40" -StartRange 192.168.40.100 -EndRange 192.168.40.200 -SubnetMask 255.255.255.0
# Options communes pour le scope VLAN10 (répliquer pour VLAN20 et VLAN40)
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 -Router 192.168.10.1 -DnsServer 192.168.10.5 -DnsDomain "innovattech.local" -LeaseDuration 8.00:00:00
Étape 3 — Ajouter les réservations demandées
# Réservation pour nas01
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.15 -ClientId 00-11-22-33-44-55 -Description "nas01" -Name "nas01"
# Réservation pour debian-srv01
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.10 -ClientId 00-11-22-33-44-66 -Description "debian-srv01" -Name "debian-srv01"
Étape 4 — Configurer le relay DHCP sur le routeur (si serveur sur un autre segment)
interface Vlan10
ip address 192.168.10.1 255.255.255.0
ip helper-address 192.168.10.5
Étape 5 — Activer DHCP snooping (sécurité commutateurs Cisco)
ip dhcp snooping
ip dhcp snooping vlan 10,20,40
interface GigabitEthernet1/0/24
ip dhcp snooping trust
Étape 6 — Installer et configurer chrony sur chaque serveur Linux
sudo apt update && sudo apt install -y chrony
# Éditer /etc/chrony/chrony.conf — ajouter ou modifier ces lignes :
# server 192.168.10.5 iburst prefer
# pool pool.ntp.org iburst
sudo systemctl enable --now chrony
# Vérification immédiate
sudo chronyc sources -v
sudo chronyc tracking
Vérifications
Côté DHCP — Sur un poste client du VLAN 10 :
# Windows (client)
ipconfig /all
# Linux (client)
ip addr
dhclient -v
Sur le serveur DHCP win-srv01 (PowerShell) :
Get-DhcpServerv4Scope
Get-DhcpServerv4Lease -ScopeId 192.168.10.0
Get-DhcpServerv4Reservation -ScopeId 192.168.10.0
Côté NTP — Sur chaque serveur Linux :
chronyc sources -v
chronyc tracking
timedatectl status
Les sources doivent afficher win-srv01 (192.168.10.5) avec le symbole * ou +, un reach élevé (377 = valeur maximale) et un offset proche de zéro.
Livrable attendu
- Capture (ou export texte) des commandes PowerShell montrant les scopes et les réservations sur win-srv01.
- Sorties
chronyc sources -vetchronyc trackingprovenant dedebian-srv01etproxmox01montrant la synchronisation avec192.168.10.5.
Critères de réussite
- ✅ Un client du VLAN 10 obtient une adresse dans la plage 192.168.10.100–200 et les options correctes (gateway 192.168.10.1, DNS 192.168.10.5, domaine
innovattech.local). - ✅ Les réservations pour
nas01(192.168.10.15) etdebian-srv01(192.168.10.10) sont présentes et effectives. - ✅
chronyc sources -vmontre win-srv01 comme source utilisée (*) etchronyc trackingindique un offset stable (< 100 ms).
✅ Synthèse (10 min)
Le DHCP automatise la distribution des paramètres réseau essentiels (IP, gateway, DNS) via le mécanisme DORA ; bien configuré il simplifie l'exploitation, mal configuré il peut conduire à des conflits d'adresses et à des clients sans accès réseau. L'usage de réservations MAC permet de concilier IP fixes pour équipements critiques et gestion centralisée via DHCP. La synchronisation horaire via NTP (chrony) est une brique invisible mais critique pour les certificats, les logs et Kerberos ; centraliser la source NTP interne et configurer correctement chrony évite des problèmes de disponibilité et des diagnostics longs et coûteux.
En une phrase, expliquez pourquoi une différence d'heure importante peut rendre inaccessible un service HTTPS.
Voir la réponse
Un certificat TLS est valide pour une période précise (NotBefore / NotAfter) ; si l'horloge d'un serveur ou d'un client est trop décalée, le certificat apparaît comme expiré ou pas encore valide, et le navigateur ou l'application refuse d'établir la connexion HTTPS.
🎮 Quiz — Testez vos connaissances
-
Dans le mécanisme DORA, que signifie la lettre « O » ?
- A) DHCPORDER — le client ordonne une adresse au serveur
- B) DHCPOFFER — le serveur propose une adresse IP et des options au client
- C) DHCPOK — confirmation finale du bail par le serveur
- D) DHCPOPEN — ouverture du socket UDP sur le port 67
-
Quelle option DHCP (numéro) configure le serveur DNS sur un client ?
- A) Option 3 — passerelle par défaut (router)
- B) Option 15 — nom de domaine (domain-name)
- C) Option 6 — serveur DNS (dns-server)
- D) Option 51 — durée de bail (lease-time)
-
Dans la sortie de
chronyc sources -v, le symbole*devant une source indique :- A) La source est rejetée car trop imprécise (faux ticker)
- B) La source est en attente de synchronisation initiale (reach insuffisant)
- C) La source est actuellement sélectionnée comme référence principale
- D) La source est injoignable (reach = 0)
-
Quelle cmdlet PowerShell permet de créer un scope DHCP sous Windows Server 2022 ?
- A)
New-DhcpServerv4Scope - B)
Install-WindowsFeature DHCP - C)
Set-DhcpServerv4OptionValue - D)
Add-DhcpServerv4Scope
- A)
-
Quel est le rôle principal du DHCP snooping sur un commutateur Cisco ?
- A) Répartir les baux entre deux serveurs DHCP en mode LoadBalance
- B) Bloquer les réponses DHCP provenant de ports non fiables (protection anti-rogue)
- C) Transférer les broadcasts DHCP d'un VLAN vers un autre (relay agent)
- D) Créer automatiquement des réservations MAC depuis la table ARP
📋 Afficher les corrections
- B — DHCPOFFER : après le DHCPDISCOVER du client (D), le serveur répond par un DHCPOFFER (O) proposant une adresse IP et ses options. La séquence complète est D → O → R → A.
- C — Option 6 : l'option 3 configure la passerelle (router), l'option 15 le nom de domaine, l'option 51 la durée de bail. C'est bien l'option 6 qui transmet l'adresse du ou des serveurs DNS.
-
C — Source sélectionnée comme référence principale : le symbole
*indique la source activement utilisée par chrony pour synchroniser l'horloge locale. Le symbole+désigne les sources combinées (bonnes mais secondaires),?les sources inutilisables. -
D —
Add-DhcpServerv4Scope: cette cmdlet crée un nouveau scope.Install-WindowsFeatureinstalle le rôle (étape préalable),Set-DhcpServerv4OptionValueconfigure les options d'un scope existant. -
B — Bloquer les réponses DHCP sur les ports non fiables : le DHCP snooping crée une table de bindings légitimes et rejette toute réponse DHCP (OFFER, ACK) provenant d'un port non marqué
trust, empêchant ainsi les serveurs DHCP rogue d'usurper la distribution d'adresses.
