Aucun résumé des modifications
Aucun résumé des modifications
Ligne 3 : Ligne 3 :
Le DHCP (Dynamic Host Configuration Protocol) permet d'attribuer automatiquement des adresses IP aux machines du réseau.
Le DHCP (Dynamic Host Configuration Protocol) permet d'attribuer automatiquement des adresses IP aux machines du réseau.


= 🖥️ Infrastructure DHCP — Rocky Linux =
= Infrastructure DHCP — Rocky Linux =
 
{| style="width:100%; background:#f5f7fa; border:1px solid #d6dbe1; padding:10px;"
|
'''Documentation complète de mise en place d’une infrastructure DHCP sous Rocky Linux'''
 
* Création du serveur DHCP
* Configuration détaillée
* DHCP Relay sur firewall
* DHCP Maître / Esclave (Failover)
* Haute disponibilité du service
|}


__TOC__
__TOC__




= ⚙️ 0 — Prérequis =
 
= 0 — Prérequis =
 
{| style="width:100%; background:#eef6ff; border:1px solid #bcd6f0;"
|
'''Préparation du serveur'''
|}


== Vérifier l'utilisateur ==
== Vérifier l'utilisateur ==
<pre>
<pre>
whoami
whoami
Ligne 20 : Ligne 38 :
</pre>
</pre>


== Le serveur doit avoir ==
== Configuration requise ==
* Une IP fixe configurée
 
* Une interface réseau active
* IP fixe configurée
* Interface réseau active
* Accès réseau fonctionnel
* Accès réseau fonctionnel


Voir interfaces réseau :
Voir interfaces réseau :
<pre>
<pre>
ip a
ip a
</pre>
</pre>


= 🚀 1 — Création du Serveur DHCP =


== Installation du service DHCP ==
 
Rocky Linux utilise ISC DHCP Server.
= 1 — Création du Serveur DHCP =
 
{| style="width:100%; background:#f3f9f1; border:1px solid #cfe5c9;"
|
'''Installation et configuration du service DHCP'''
|}
 
== Installation du service ==


<pre>
<pre>
Ligne 40 : Ligne 66 :


Vérifier installation :
Vérifier installation :
<pre>
<pre>
rpm -qa | grep dhcp
rpm -qa | grep dhcp
Ligne 48 : Ligne 75 :
== Configuration de l’interface réseau ==
== Configuration de l’interface réseau ==


Identifier l’interface :
Identifier interface :
 
<pre>
<pre>
ip a
ip a
Ligne 65 : Ligne 93 :
</pre>
</pre>


(Remplacer par votre interface réseau)




 
== Configuration principale ==
== Configuration principale DHCP ==
 
Créer le fichier :


<pre>
<pre>
Ligne 101 : Ligne 125 :


== Vérification configuration ==
== Vérification configuration ==
<pre>
<pre>
dhcpd -t
dhcpd -t
Ligne 108 : Ligne 133 :


== Démarrage du service ==
== Démarrage du service ==
<pre>
<pre>
systemctl enable dhcpd
systemctl enable dhcpd
Ligne 117 : Ligne 143 :


== Ouverture firewall ==
== Ouverture firewall ==
<pre>
<pre>
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-service=dhcp --permanent
Ligne 126 : Ligne 153 :
== Vérification fonctionnement ==
== Vérification fonctionnement ==


Logs :
<pre>
<pre>
journalctl -u dhcpd
journalctl -u dhcpd
cat /var/lib/dhcpd/dhcpd.leases
</pre>
</pre>


Baux attribués :
<pre>
cat /var/lib/dhcpd/dhcpd.leases
</pre>


= 🔎 2 — Configuration DHCP détaillée =


== Explication des directives DHCP ==
= 2 — Configuration DHCP détaillée =
 
{| style="width:100%; background:#fff6e6; border:1px solid #f1d6a8;"
|
'''Configuration avancée du serveur DHCP'''
|}
 
== Explication directives ==


{| class="wikitable"
{| class="wikitable" style="background:#ffffff;"
! Directive !! Description
! Directive !! Description
|-
|-
Ligne 151 : Ligne 180 :
| max-lease-time || Durée maximale du bail
| max-lease-time || Durée maximale du bail
|-
|-
| authoritative || Définit ce serveur comme officiel
| authoritative || Serveur DHCP officiel
|-
|-
| subnet || Réseau géré
| subnet || Réseau géré
Ligne 164 : Ligne 193 :




== Attribution IP fixe (réservation DHCP) ==
== Attribution IP fixe ==


<pre>
<pre>
Ligne 175 : Ligne 204 :




== Gestion de plusieurs réseaux ==
== Plusieurs réseaux ==


<pre>
<pre>
Ligne 186 : Ligne 215 :




== Boot réseau / PXE ==
== Boot réseau PXE ==


<pre>
<pre>
Ligne 194 : Ligne 223 :




= 🔁 3 — DHCP Relay sur Firewall =
 
= 3 — DHCP Relay sur Firewall =
 
{| style="width:100%; background:#f5eef8; border:1px solid #d7c6e6;"
|
'''Transmission des requêtes DHCP entre réseaux'''
|}


== Principe ==
== Principe ==
Le protocole DHCP utilise le broadcast.
Les routeurs et firewalls bloquent ces requêtes entre réseaux.


<div style="background:#fafafa; border:1px solid #ddd; padding:10px;">
Le DHCP fonctionne en broadcast.
Les routeurs bloquent ces requêtes.
Le DHCP Relay transmet les requêtes vers un serveur distant.
Le DHCP Relay transmet les requêtes vers un serveur distant.
</div>


Architecture :
Architecture :
Ligne 211 : Ligne 248 :


== Installation ==
== Installation ==
<pre>
<pre>
dnf install dhcp-relay -y
dnf install dhcp-relay -y
Ligne 218 : Ligne 256 :


== Configuration ==
== Configuration ==
<pre>
<pre>
nano /etc/sysconfig/dhcrelay
nano /etc/sysconfig/dhcrelay
</pre>
</pre>
Exemple :


<pre>
<pre>
Ligne 229 : Ligne 266 :
</pre>
</pre>


* DHCPSERVERS → IP du serveur DHCP
* INTERFACES → interface client + interface serveur




== Activation ==


== Activation ==
<pre>
<pre>
systemctl enable dhcrelay
systemctl enable dhcrelay
systemctl start dhcrelay
systemctl start dhcrelay
systemctl status dhcrelay
</pre>
</pre>






== Ouverture firewall ==
= 4 — DHCP Maître / Esclave (Failover) =
<pre>
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
</pre>
 


= 👑 4 — DHCP Maître / Esclave (Failover) =
{| style="width:100%; background:#fdeeee; border:1px solid #efc2c2;"
|
'''Haute disponibilité du service DHCP'''
|}


== Objectif ==
== Objectif ==
Assurer la haute disponibilité du service DHCP.
Si le serveur principal tombe :
→ le serveur secondaire prend automatiquement le relais.


== Fonctionnement ==
* Synchronisation des baux DHCP
* Partage des adresses IP
* Continuité de service
* Continuité de service
* Synchronisation des baux
* Prévention des conflits IP
* Prévention des conflits IP






== Modes disponibles ==
== Modes ==


{| class="wikitable"
{| class="wikitable"
! Mode !! Description
! Mode !! Description
|-
|-
| Load Balance || Répartition de charge entre serveurs
| Load Balance || Partage de charge
|-
|-
| Hot Standby || Serveur secondaire en attente
| Hot Standby || Serveur secondaire de secours
|}
|}




= 🔥 5 — Configuration DHCP Maître / Esclave =


== Architecture exemple ==
= 5 — Configuration DHCP Maître / Esclave =
 
{| style="width:100%; background:#eef7f6; border:1px solid #bfe1dc;"
|
'''Configuration complète du failover DHCP'''
|}
 
== Architecture ==


<pre>
<pre>
MASTER : 192.168.1.10
MASTER : 192.168.1.10
SLAVE  : 192.168.1.11
SLAVE  : 192.168.1.11
Réseau : 192.168.1.0/24
</pre>
</pre>


Installer DHCP sur les deux serveurs :
Installer sur les deux :


<pre>
<pre>
Ligne 298 : Ligne 327 :


== Configuration MASTER ==
== Configuration MASTER ==
<pre>
nano /etc/dhcp/dhcpd.conf
</pre>


<pre>
<pre>
Ligne 312 : Ligne 337 :
  max-response-delay 60;
  max-response-delay 60;
  max-unacked-updates 10;
  max-unacked-updates 10;
load balance max seconds 3;
}
}


subnet 192.168.1.0 netmask 255.255.255.0 {
subnet 192.168.1.0 netmask 255.255.255.0 {
  option routers 192.168.1.1;
  option routers 192.168.1.1;
option domain-name-servers 8.8.8.8;


  pool {
  pool {
Ligne 329 : Ligne 352 :


== Configuration SLAVE ==
== Configuration SLAVE ==
<pre>
nano /etc/dhcp/dhcpd.conf
</pre>


<pre>
<pre>
Ligne 341 : Ligne 360 :
  peer address 192.168.1.10;
  peer address 192.168.1.10;
  peer port 647;
  peer port 647;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8;
pool {
  failover peer "dhcp-failover";
  range 192.168.1.100 192.168.1.200;
}
}
}
</pre>
</pre>
Ligne 357 : Ligne 366 :


== Ouverture port failover ==
== Ouverture port failover ==
<pre>
<pre>
firewall-cmd --add-port=647/tcp --permanent
firewall-cmd --add-port=647/tcp --permanent
Ligne 364 : Ligne 374 :




== Démarrage du service ==
== Démarrage ==
 
<pre>
<pre>
systemctl enable dhcpd
systemctl enable dhcpd
Ligne 372 : Ligne 383 :




== Vérification synchronisation ==
{| style="width:100%; background:#e8f5e9; border:1px solid #c8e6c9;"
<pre>
|
journalctl -u dhcpd
'''Infrastructure DHCP opérationnelle'''
</pre>
|}
 
Le serveur secondaire doit indiquer la synchronisation avec le serveur primaire.
 
 
= ✅ Infrastructure DHCP opérationnelle =

Version du 16 février 2026 à 14:29

DHCP

Le DHCP (Dynamic Host Configuration Protocol) permet d'attribuer automatiquement des adresses IP aux machines du réseau.

Infrastructure DHCP — Rocky Linux

Documentation complète de mise en place d’une infrastructure DHCP sous Rocky Linux

  • Création du serveur DHCP
  • Configuration détaillée
  • DHCP Relay sur firewall
  • DHCP Maître / Esclave (Failover)
  • Haute disponibilité du service


0 — Prérequis

Préparation du serveur

Vérifier l'utilisateur

whoami

Résultat attendu :

root

Configuration requise

  • IP fixe configurée
  • Interface réseau active
  • Accès réseau fonctionnel

Voir interfaces réseau :

ip a


1 — Création du Serveur DHCP

Installation et configuration du service DHCP

Installation du service

dnf install dhcp-server -y

Vérifier installation :

rpm -qa | grep dhcp


Configuration de l’interface réseau

Identifier interface :

ip a

Configurer DHCP :

nano /etc/sysconfig/dhcpd

Modifier :

DHCPDARGS=ens33


Configuration principale

nano /etc/dhcp/dhcpd.conf

Configuration minimale :

option domain-name "lab.local";
option domain-name-servers 8.8.8.8, 1.1.1.1;

default-lease-time 600;
max-lease-time 7200;

authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {

 range 192.168.1.100 192.168.1.200;

 option routers 192.168.1.1;

 option broadcast-address 192.168.1.255;
}


Vérification configuration

dhcpd -t


Démarrage du service

systemctl enable dhcpd
systemctl start dhcpd
systemctl status dhcpd


Ouverture firewall

firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload


Vérification fonctionnement

journalctl -u dhcpd
cat /var/lib/dhcpd/dhcpd.leases


2 — Configuration DHCP détaillée

Configuration avancée du serveur DHCP

Explication directives

Directive Description
option domain-name Domaine local fourni aux clients
option domain-name-servers Serveurs DNS fournis
default-lease-time Durée IP par défaut
max-lease-time Durée maximale du bail
authoritative Serveur DHCP officiel
subnet Réseau géré
range Plage IP distribuée
option routers Passerelle réseau
broadcast-address Adresse broadcast


Attribution IP fixe

host pc1 {
 hardware ethernet 00:11:22:33:44:55;
 fixed-address 192.168.1.50;
}


Plusieurs réseaux

subnet 192.168.2.0 netmask 255.255.255.0 {
 range 192.168.2.100 192.168.2.200;
 option routers 192.168.2.1;
}


Boot réseau PXE

next-server 192.168.1.10;
filename "pxelinux.0";


3 — DHCP Relay sur Firewall

Transmission des requêtes DHCP entre réseaux

Principe

Le DHCP fonctionne en broadcast. Les routeurs bloquent ces requêtes. Le DHCP Relay transmet les requêtes vers un serveur distant.

Architecture :

Client → Firewall → Serveur DHCP


Installation

dnf install dhcp-relay -y


Configuration

nano /etc/sysconfig/dhcrelay
DHCPSERVERS="192.168.1.10"
INTERFACES="ens33 ens34"


Activation

systemctl enable dhcrelay
systemctl start dhcrelay


4 — DHCP Maître / Esclave (Failover)

Haute disponibilité du service DHCP

Objectif

  • Continuité de service
  • Synchronisation des baux
  • Prévention des conflits IP


Modes

Mode Description
Load Balance Partage de charge
Hot Standby Serveur secondaire de secours


5 — Configuration DHCP Maître / Esclave

Configuration complète du failover DHCP

Architecture

MASTER : 192.168.1.10
SLAVE  : 192.168.1.11

Installer sur les deux :

dnf install dhcp-server -y


Configuration MASTER

failover peer "dhcp-failover" {
 primary;
 address 192.168.1.10;
 port 647;
 peer address 192.168.1.11;
 peer port 647;
 max-response-delay 60;
 max-unacked-updates 10;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
 option routers 192.168.1.1;

 pool {
  failover peer "dhcp-failover";
  range 192.168.1.100 192.168.1.200;
 }
}


Configuration SLAVE

failover peer "dhcp-failover" {
 secondary;
 address 192.168.1.11;
 port 647;
 peer address 192.168.1.10;
 peer port 647;
}


Ouverture port failover

firewall-cmd --add-port=647/tcp --permanent
firewall-cmd --reload


Démarrage

systemctl enable dhcpd
systemctl start dhcpd


Infrastructure DHCP opérationnelle