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.


Vérifier l'utilisateur :
= 🖥️ Infrastructure DHCP — Rocky Linux =


__TOC__
== 📑 Sommaire ==
* [[#⚙️ 0 — Prérequis|0 — Prérequis]]
* [[#🚀 1 — Création du Serveur DHCP|1 — Création du Serveur DHCP]]
* [[#🔎 2 — Configuration DHCP détaillée|2 — Configuration DHCP détaillée]]
* [[#🔁 3 — DHCP Relay sur Firewall|3 — DHCP Relay sur Firewall]]
* [[#👑 4 — DHCP Maître / Esclave (Failover)|4 — DHCP Maître / Esclave (Failover)]]
* [[#🔥 5 — Configuration DHCP Maître / Esclave|5 — Configuration DHCP Maître / Esclave]]
================================================================
= ⚙️ 0 — Prérequis =
== Vérifier l'utilisateur ==
<pre>
<pre>
whoami
whoami
Ligne 14 : Ligne 30 :
</pre>
</pre>


Le serveur doit avoir :
== Le serveur doit avoir ==
* une IP fixe
* Une IP fixe configurée
* une interface réseau active
* Une 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
Ligne 27 : Ligne 42 :
================================================================
================================================================


= 1 — Serveur DHCP : Création =
= 🚀 1 — Création du Serveur DHCP =
 
== Installation du serveur DHCP ==


== Installation du service DHCP ==
Rocky Linux utilise ISC DHCP Server.
Rocky Linux utilise ISC DHCP Server.


Ligne 38 : Ligne 52 :


Vérifier installation :
Vérifier installation :
<pre>
<pre>
rpm -qa | grep dhcp
rpm -qa | grep dhcp
Ligne 45 : Ligne 58 :
---
---


== Configuration de l’interface DHCP ==
== Configuration de l’interface réseau ==
 
Identifier l’interface réseau :


Identifier l’interface :
<pre>
<pre>
ip a
ip a
</pre>
</pre>


Configurer l’interface utilisée par DHCP :
Configurer DHCP :


<pre>
<pre>
Ligne 65 : Ligne 77 :
</pre>
</pre>


(Remplacer ens33 par votre interface réseau)
(Remplacer par votre interface réseau)


---
---


== Création du fichier de configuration principal ==
== Configuration principale DHCP ==
 
Créer le fichier :


<pre>
<pre>
Ligne 98 : Ligne 112 :
---
---


== Explication directives ==
== Vérification configuration ==
 
{| class="wikitable"
! Directive !! Rôle
|-
| option domain-name || Domaine local fourni aux clients
|-
| option domain-name-servers || DNS fournis
|-
| default-lease-time || Durée IP par défaut
|-
| max-lease-time || Durée maximale du bail
|-
| authoritative || Serveur DHCP officiel du réseau
|-
| subnet || Réseau géré
|-
| range || Plage IP distribuée
|-
| option routers || Passerelle
|-
| broadcast-address || Adresse broadcast
|}
 
---
 
== Vérification de configuration ==
 
Tester avant démarrage :
 
<pre>
<pre>
dhcpd -t
dhcpd -t
Ligne 135 : Ligne 120 :


== Démarrage du service ==
== Démarrage du service ==
<pre>
<pre>
systemctl enable dhcpd
systemctl enable dhcpd
Ligne 145 : Ligne 129 :


== Ouverture firewall ==
== Ouverture firewall ==
<pre>
<pre>
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-service=dhcp --permanent
Ligne 156 : Ligne 139 :


Logs :
Logs :
<pre>
<pre>
journalctl -u dhcpd
journalctl -u dhcpd
</pre>
</pre>


Baux DHCP :
Baux attribués :
 
<pre>
<pre>
cat /var/lib/dhcpd/dhcpd.leases
cat /var/lib/dhcpd/dhcpd.leases
Ligne 169 : Ligne 150 :
================================================================
================================================================


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


== Attribution IP fixe par MAC ==
== Explication des directives DHCP ==


Permet de donner toujours la même IP à une machine.
{| class="wikitable"
! 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 || Définit ce serveur comme officiel
|-
| subnet || Réseau géré
|-
| range || Plage IP distribuée
|-
| option routers || Passerelle réseau
|-
| broadcast-address || Adresse broadcast
|}
 
---
 
== Attribution IP fixe (réservation DHCP) ==


<pre>
<pre>
Ligne 195 : Ligne 200 :
---
---


== Options PXE (boot réseau) ==
== Boot réseau / PXE ==
 
Utilisé pour déploiement OS :


<pre>
<pre>
Ligne 206 : Ligne 209 :
================================================================
================================================================


= 3 — DHCP Relay sur Firewall =
= 🔁 3 — DHCP Relay sur Firewall =


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


Le DHCP fonctionne en broadcast.
Le DHCP Relay transmet les requêtes vers un serveur distant.
Les routeurs/firewalls bloquent les broadcasts entre réseaux.
 
Le DHCP Relay transmet les requêtes clients vers un serveur DHCP distant.


Architecture :
Architecture :
Ligne 223 : Ligne 225 :
---
---


== Installation du DHCP Relay ==
== Installation ==
 
Sur le firewall Rocky Linux :
 
<pre>
<pre>
dnf install dhcp-relay -y
dnf install dhcp-relay -y
Ligne 233 : Ligne 232 :
---
---


== Configuration du relay ==
== Configuration ==
 
<pre>
<pre>
nano /etc/sysconfig/dhcrelay
nano /etc/sysconfig/dhcrelay
Ligne 245 : Ligne 243 :
INTERFACES="ens33 ens34"
INTERFACES="ens33 ens34"
</pre>
</pre>
Explication :


* DHCPSERVERS → IP du serveur DHCP
* DHCPSERVERS → IP du serveur DHCP
* INTERFACES → interface côté client + interface côté serveur
* INTERFACES → interface client + interface serveur


---
---


== Activation du relay ==
== Activation ==
 
<pre>
<pre>
systemctl enable dhcrelay
systemctl enable dhcrelay
Ligne 264 : Ligne 259 :


== Ouverture firewall ==
== Ouverture firewall ==
<pre>
<pre>
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-service=dhcp --permanent
Ligne 272 : Ligne 266 :
================================================================
================================================================


= 4 — DHCP Maître / Esclave (Failover) : Explication =
= 👑 4 — DHCP Maître / Esclave (Failover) =


== Objectif ==
== Objectif ==
Assurer la haute disponibilité du service DHCP.


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


---
---


== Fonctionnement ==
== Fonctionnement ==
 
* Synchronisation des baux DHCP
Deux serveurs DHCP :
* Partage des adresses IP
 
* Continuité de service
* MASTER → serveur principal
* Prévention des conflits IP
* SLAVE → serveur secondaire
 
Fonctionnalités :
 
* synchronisation des baux DHCP
* partage des adresses IP
* continuité de service
* prévention des conflits IP


---
---


== Modes possibles ==
== Modes disponibles ==


{| class="wikitable"
{| class="wikitable"
Ligne 309 : Ligne 296 :
================================================================
================================================================


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


== Architecture exemple ==
== Architecture exemple ==
Ligne 386 : Ligne 373 :
---
---


== Ouverture ports failover (sur les deux serveurs) ==
== Ouverture port failover ==
 
<pre>
<pre>
firewall-cmd --add-port=647/tcp --permanent
firewall-cmd --add-port=647/tcp --permanent
Ligne 395 : Ligne 381 :
---
---


== Démarrage du service sur les deux serveurs ==
== Démarrage du service ==
 
<pre>
<pre>
systemctl enable dhcpd
systemctl enable dhcpd
Ligne 405 : Ligne 390 :


== Vérification synchronisation ==
== Vérification synchronisation ==
<pre>
<pre>
journalctl -u dhcpd
journalctl -u dhcpd
Ligne 411 : Ligne 395 :


Le serveur secondaire doit indiquer la synchronisation avec le serveur primaire.
Le serveur secondaire doit indiquer la synchronisation avec le serveur primaire.
================================================================
= ✅ Infrastructure DHCP opérationnelle =

Version du 16 février 2026 à 14:17

DHCP

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

🖥️ Infrastructure DHCP — Rocky Linux

📑 Sommaire

====================================================

⚙️ 0 — Prérequis

Vérifier l'utilisateur

whoami

Résultat attendu :

root

Le serveur doit avoir

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

Voir interfaces réseau :

ip a
====================================================

🚀 1 — Création du Serveur DHCP

Installation du service DHCP

Rocky Linux utilise ISC DHCP Server.

dnf install dhcp-server -y

Vérifier installation :

rpm -qa | grep dhcp

---

Configuration de l’interface réseau

Identifier l’interface :

ip a

Configurer DHCP :

nano /etc/sysconfig/dhcpd

Modifier :

DHCPDARGS=ens33

(Remplacer par votre interface réseau)

---

Configuration principale DHCP

Créer le fichier :

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

Logs :

journalctl -u dhcpd

Baux attribués :

cat /var/lib/dhcpd/dhcpd.leases
====================================================

🔎 2 — Configuration DHCP détaillée

Explication des directives DHCP

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 Définit ce serveur comme officiel
subnet Réseau géré
range Plage IP distribuée
option routers Passerelle réseau
broadcast-address Adresse broadcast

---

Attribution IP fixe (réservation DHCP)

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

---

Gestion de 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

Principe

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

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

Exemple :

DHCPSERVERS="192.168.1.10"
INTERFACES="ens33 ens34"
  • DHCPSERVERS → IP du serveur DHCP
  • INTERFACES → interface client + interface serveur

---

Activation

systemctl enable dhcrelay
systemctl start dhcrelay
systemctl status dhcrelay

---

Ouverture firewall

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

👑 4 — DHCP Maître / Esclave (Failover)

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
  • Prévention des conflits IP

---

Modes disponibles

Mode Description
Load Balance Répartition de charge entre serveurs
Hot Standby Serveur secondaire en attente
====================================================

🔥 5 — Configuration DHCP Maître / Esclave

Architecture exemple

MASTER : 192.168.1.10
SLAVE  : 192.168.1.11
Réseau : 192.168.1.0/24

Installer DHCP sur les deux serveurs :

dnf install dhcp-server -y

---

Configuration MASTER

nano /etc/dhcp/dhcpd.conf
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;
 load balance max seconds 3;
}

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;
 }
}

---

Configuration SLAVE

nano /etc/dhcp/dhcpd.conf
failover peer "dhcp-failover" {
 secondary;
 address 192.168.1.11;
 port 647;
 peer address 192.168.1.10;
 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;
 }
}

---

Ouverture port failover

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

---

Démarrage du service

systemctl enable dhcpd
systemctl start dhcpd

---

Vérification synchronisation

journalctl -u dhcpd

Le serveur secondaire doit indiquer la synchronisation avec le serveur primaire.

====================================================

✅ Infrastructure DHCP opérationnelle