Page créée avec « = DHCP = Le DHCP (Dynamic Host Configuration Protocol) permet d'attribuer automatiquement des adresses IP aux machines du réseau. »
 
Aucun résumé des modifications
Ligne 2 : Ligne 2 :


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.
Le serveur doit avoir :
* une IP fixe
* une interface réseau active
* accès réseau fonctionnel
Voir interfaces réseau :
ip a
arduino
Copier le code
================================================================
= 1 — Serveur DHCP : Création =
== Installation du serveur DHCP ==
Rocky Linux utilise ISC DHCP Server.
dnf install dhcp-server -y
yaml
Copier le code
Vérifier installation :
rpm -qa | grep dhcp
yaml
Copier le code
---
== Configuration de l’interface DHCP ==
Identifier l’interface réseau :
ip a
kotlin
Copier le code
Configurer l’interface utilisée par DHCP :
nano /etc/sysconfig/dhcpd
yaml
Copier le code
Modifier :
DHCPDARGS=ens33
yaml
Copier le code
(Remplacer ens33 par votre interface réseau)
---
== Création du fichier de configuration principal ==
nano /etc/dhcp/dhcpd.conf
yaml
Copier le code
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;
}
yaml
Copier le code
---
== Explication directives ==
{| 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 :
dhcpd -t
yaml
Copier le code
---
== Démarrage du service ==
systemctl enable dhcpd
systemctl start dhcpd
systemctl status dhcpd
yaml
Copier le code
---
== Ouverture firewall ==
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
yaml
Copier le code
---
== Vérification fonctionnement ==
Logs :
journalctl -u dhcpd
yaml
Copier le code
Baux DHCP :
cat /var/lib/dhcpd/dhcpd.leases
diff
Copier le code
================================================================
= 2 — Configuration DHCP détaillée =
== Attribution IP fixe par MAC ==
Permet de donner toujours la même IP à une machine.
host pc1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.50;
}
yaml
Copier le code
---
== 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;
}
yaml
Copier le code
---
== Options PXE (boot réseau) ==
Utilisé pour déploiement OS :
next-server 192.168.1.10;
filename "pxelinux.0";
bash
Copier le code
================================================================
= 3 — DHCP Relay sur Firewall =
== Principe ==
Le DHCP fonctionne en broadcast. 
Les routeurs/firewalls bloquent les broadcasts entre réseaux.
Le DHCP Relay transmet les requêtes clients vers un serveur DHCP distant.
Architecture :
Client → Firewall → Serveur DHCP
yaml
Copier le code
---
== Installation du DHCP Relay ==
Sur le firewall Rocky Linux :
dnf install dhcp-relay -y
yaml
Copier le code
---
== Configuration du relay ==
nano /etc/sysconfig/dhcrelay
yaml
Copier le code
Exemple :
DHCPSERVERS="192.168.1.10"
INTERFACES="ens33 ens34"
yaml
Copier le code
Explication :
* DHCPSERVERS → IP du serveur DHCP
* INTERFACES → interface côté client + interface côté serveur
---
== Activation du relay ==
systemctl enable dhcrelay
systemctl start dhcrelay
systemctl status dhcrelay
yaml
Copier le code
---
== Ouverture firewall ==
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
yaml
Copier le code
================================================================
= 4 — DHCP Maître / Esclave (Failover) : Explication =
== Objectif ==
Assurer la haute disponibilité du service DHCP.
Si le serveur principal tombe, le secondaire prend automatiquement le relais.
---
== Fonctionnement ==
Deux serveurs DHCP :
* MASTER → serveur principal
* SLAVE → serveur secondaire
Fonctionnalités :
* synchronisation des baux DHCP
* partage des adresses IP
* continuité de service
* prévention des conflits IP
---
== Modes possibles ==
{| class="wikitable"
! 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
yaml
Copier le code
Installer DHCP sur les deux serveurs :
dnf install dhcp-server -y
yaml
Copier le code
---
== Configuration MASTER ==
nano /etc/dhcp/dhcpd.conf
Copier le code
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;
}
}
yaml
Copier le code
---
== Configuration SLAVE ==
nano /etc/dhcp/dhcpd.conf
Copier le code
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;
}
}
yaml
Copier le code
---
== Ouverture ports failover (sur les deux serveurs) ==
firewall-cmd --add-port=647/tcp --permanent
firewall-cmd --reload
yaml
Copier le code
---
== Démarrage du service sur les deux serveurs ==
systemctl enable dhcpd
systemctl start dhcpd
yaml
Copier le code
---
== Vérification synchronisation ==
journalctl -u dhcpd
nginx
Copier le code
Le serveur secondaire doit indiquer la synchronisation avec le serveur primaire.

Version du 16 février 2026 à 14:11

DHCP

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

Le serveur doit avoir :

  • une IP fixe
  • une interface réseau active
  • accès réseau fonctionnel

Voir interfaces réseau :

ip a

arduino Copier le code

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

1 — Serveur DHCP : Création

Installation du serveur DHCP

Rocky Linux utilise ISC DHCP Server.

dnf install dhcp-server -y

yaml Copier le code

Vérifier installation :

rpm -qa | grep dhcp

yaml Copier le code

---

Configuration de l’interface DHCP

Identifier l’interface réseau :

ip a

kotlin Copier le code

Configurer l’interface utilisée par DHCP :

nano /etc/sysconfig/dhcpd

yaml Copier le code

Modifier :

DHCPDARGS=ens33

yaml Copier le code

(Remplacer ens33 par votre interface réseau)

---

Création du fichier de configuration principal

nano /etc/dhcp/dhcpd.conf

yaml Copier le code

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

yaml Copier le code

---

Explication directives

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 :

dhcpd -t

yaml Copier le code

---

Démarrage du service

systemctl enable dhcpd systemctl start dhcpd systemctl status dhcpd

yaml Copier le code

---

Ouverture firewall

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

yaml Copier le code

---

Vérification fonctionnement

Logs :

journalctl -u dhcpd

yaml Copier le code

Baux DHCP :

cat /var/lib/dhcpd/dhcpd.leases

diff Copier le code

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

2 — Configuration DHCP détaillée

Attribution IP fixe par MAC

Permet de donner toujours la même IP à une machine.

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

yaml Copier le code

---

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

yaml Copier le code

---

Options PXE (boot réseau)

Utilisé pour déploiement OS :

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

bash Copier le code

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

3 — DHCP Relay sur Firewall

Principe

Le DHCP fonctionne en broadcast. Les routeurs/firewalls bloquent les broadcasts entre réseaux.

Le DHCP Relay transmet les requêtes clients vers un serveur DHCP distant.

Architecture :

Client → Firewall → Serveur DHCP

yaml Copier le code

---

Installation du DHCP Relay

Sur le firewall Rocky Linux :

dnf install dhcp-relay -y

yaml Copier le code

---

Configuration du relay

nano /etc/sysconfig/dhcrelay

yaml Copier le code

Exemple :

DHCPSERVERS="192.168.1.10" INTERFACES="ens33 ens34"

yaml Copier le code

Explication :

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

---

Activation du relay

systemctl enable dhcrelay systemctl start dhcrelay systemctl status dhcrelay

yaml Copier le code

---

Ouverture firewall

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

yaml Copier le code

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

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

Objectif

Assurer la haute disponibilité du service DHCP.

Si le serveur principal tombe, le secondaire prend automatiquement le relais.

---

Fonctionnement

Deux serveurs DHCP :

  • MASTER → serveur principal
  • SLAVE → serveur secondaire

Fonctionnalités :

  • synchronisation des baux DHCP
  • partage des adresses IP
  • continuité de service
  • prévention des conflits IP

---

Modes possibles

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

yaml Copier le code

Installer DHCP sur les deux serveurs :

dnf install dhcp-server -y

yaml Copier le code

---

Configuration MASTER

nano /etc/dhcp/dhcpd.conf

Copier le code 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; } }

yaml Copier le code

---

Configuration SLAVE

nano /etc/dhcp/dhcpd.conf

Copier le code 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; } }

yaml Copier le code

---

Ouverture ports failover (sur les deux serveurs)

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

yaml Copier le code

---

Démarrage du service sur les deux serveurs

systemctl enable dhcpd systemctl start dhcpd

yaml Copier le code

---

Vérification synchronisation

journalctl -u dhcpd

nginx Copier le code

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