Aucun résumé des modifications
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.
Vérifier l'utilisateur :
<pre>
whoami
</pre>
Résultat attendu :
<pre>
root
</pre>


Le serveur doit avoir :
Le serveur doit avoir :
Ligne 10 : Ligne 21 :
Voir interfaces réseau :
Voir interfaces réseau :


<pre>
ip a
ip a
 
</pre>
arduino
Copier le code


================================================================
================================================================
Ligne 23 : Ligne 33 :
Rocky Linux utilise ISC DHCP Server.
Rocky Linux utilise ISC DHCP Server.


<pre>
dnf install dhcp-server -y
dnf install dhcp-server -y
 
</pre>
yaml
Copier le code


Vérifier installation :
Vérifier installation :


<pre>
rpm -qa | grep dhcp
rpm -qa | grep dhcp
 
</pre>
yaml
Copier le code


---
---
Ligne 41 : Ligne 49 :
Identifier l’interface réseau :
Identifier l’interface réseau :


<pre>
ip a
ip a
 
</pre>
kotlin
Copier le code


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


<pre>
nano /etc/sysconfig/dhcpd
nano /etc/sysconfig/dhcpd
 
</pre>
yaml
Copier le code


Modifier :
Modifier :


<pre>
DHCPDARGS=ens33
DHCPDARGS=ens33
 
</pre>
yaml
Copier le code


(Remplacer ens33 par votre interface réseau)
(Remplacer ens33 par votre interface réseau)
Ligne 66 : Ligne 71 :
== Création du fichier de configuration principal ==
== Création du fichier de configuration principal ==


<pre>
nano /etc/dhcp/dhcpd.conf
nano /etc/dhcp/dhcpd.conf
 
</pre>
yaml
Copier le code


Configuration minimale :
Configuration minimale :


<pre>
option domain-name "lab.local";
option domain-name "lab.local";
option domain-name-servers 8.8.8.8, 1.1.1.1;
option domain-name-servers 8.8.8.8, 1.1.1.1;
Ligne 83 : Ligne 88 :
subnet 192.168.1.0 netmask 255.255.255.0 {
subnet 192.168.1.0 netmask 255.255.255.0 {


range 192.168.1.100 192.168.1.200;
range 192.168.1.100 192.168.1.200;


option routers 192.168.1.1;
option routers 192.168.1.1;


option broadcast-address 192.168.1.255;
option broadcast-address 192.168.1.255;
}
}
 
</pre>
yaml
Copier le code


---
---
Ligne 125 : Ligne 128 :
Tester avant démarrage :
Tester avant démarrage :


<pre>
dhcpd -t
dhcpd -t
 
</pre>
yaml
Copier le code


---
---
Ligne 134 : Ligne 136 :
== Démarrage du service ==
== Démarrage du service ==


<pre>
systemctl enable dhcpd
systemctl enable dhcpd
systemctl start dhcpd
systemctl start dhcpd
systemctl status dhcpd
systemctl status dhcpd
 
</pre>
yaml
Copier le code


---
---
Ligne 145 : Ligne 146 :
== Ouverture firewall ==
== Ouverture firewall ==


<pre>
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
firewall-cmd --reload
 
</pre>
yaml
Copier le code


---
---
Ligne 157 : Ligne 157 :
Logs :
Logs :


<pre>
journalctl -u dhcpd
journalctl -u dhcpd
 
</pre>
yaml
Copier le code


Baux DHCP :
Baux DHCP :


<pre>
cat /var/lib/dhcpd/dhcpd.leases
cat /var/lib/dhcpd/dhcpd.leases
 
</pre>
diff
Copier le code


================================================================
================================================================
Ligne 177 : Ligne 175 :
Permet de donner toujours la même IP à une machine.
Permet de donner toujours la même IP à une machine.


<pre>
host pc1 {
host pc1 {
hardware ethernet 00:11:22:33:44:55;
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.50;
fixed-address 192.168.1.50;
}
}
 
</pre>
yaml
Copier le code


---
---
Ligne 189 : Ligne 186 :
== Gestion de plusieurs réseaux ==
== Gestion de plusieurs réseaux ==


<pre>
subnet 192.168.2.0 netmask 255.255.255.0 {
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.200;
range 192.168.2.100 192.168.2.200;
option routers 192.168.2.1;
option routers 192.168.2.1;
}
}
 
</pre>
yaml
Copier le code


---
---
Ligne 203 : Ligne 199 :
Utilisé pour déploiement OS :
Utilisé pour déploiement OS :


<pre>
next-server 192.168.1.10;
next-server 192.168.1.10;
filename "pxelinux.0";
filename "pxelinux.0";
 
</pre>
bash
Copier le code


================================================================
================================================================
Ligne 215 : Ligne 210 :
== Principe ==
== Principe ==


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


Ligne 222 : Ligne 217 :
Architecture :
Architecture :


<pre>
Client → Firewall → Serveur DHCP
Client → Firewall → Serveur DHCP
 
</pre>
yaml
Copier le code


---
---
Ligne 233 : Ligne 227 :
Sur le firewall Rocky Linux :
Sur le firewall Rocky Linux :


<pre>
dnf install dhcp-relay -y
dnf install dhcp-relay -y
 
</pre>
yaml
Copier le code


---
---
Ligne 242 : Ligne 235 :
== Configuration du relay ==
== Configuration du relay ==


<pre>
nano /etc/sysconfig/dhcrelay
nano /etc/sysconfig/dhcrelay
 
</pre>
yaml
Copier le code


Exemple :
Exemple :


<pre>
DHCPSERVERS="192.168.1.10"
DHCPSERVERS="192.168.1.10"
INTERFACES="ens33 ens34"
INTERFACES="ens33 ens34"
 
</pre>
yaml
Copier le code


Explication :
Explication :
Ligne 264 : Ligne 255 :
== Activation du relay ==
== Activation du relay ==


<pre>
systemctl enable dhcrelay
systemctl enable dhcrelay
systemctl start dhcrelay
systemctl start dhcrelay
systemctl status dhcrelay
systemctl status dhcrelay
 
</pre>
yaml
Copier le code


---
---
Ligne 275 : Ligne 265 :
== Ouverture firewall ==
== Ouverture firewall ==


<pre>
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --reload
firewall-cmd --reload
 
</pre>
yaml
Copier le code


================================================================
================================================================
Ligne 288 : Ligne 277 :


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


Ligne 325 : Ligne 313 :
== Architecture exemple ==
== Architecture exemple ==


<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
Réseau : 192.168.1.0/24
 
</pre>
yaml
Copier le code


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


<pre>
dnf install dhcp-server -y
dnf install dhcp-server -y
 
</pre>
yaml
Copier le code


---
---
Ligne 343 : Ligne 329 :
== Configuration MASTER ==
== Configuration MASTER ==


<pre>
nano /etc/dhcp/dhcpd.conf
nano /etc/dhcp/dhcpd.conf
</pre>


Copier le code
<pre>
failover peer "dhcp-failover" {
failover peer "dhcp-failover" {
primary;
primary;
address 192.168.1.10;
address 192.168.1.10;
port 647;
port 647;
peer address 192.168.1.11;
peer address 192.168.1.11;
peer port 647;
peer port 647;
max-response-delay 60;
max-response-delay 60;
max-unacked-updates 10;
max-unacked-updates 10;
load balance max seconds 3;
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;
option domain-name-servers 8.8.8.8;


pool {
pool {
failover peer "dhcp-failover";
  failover peer "dhcp-failover";
range 192.168.1.100 192.168.1.200;
  range 192.168.1.100 192.168.1.200;
}
}
}
}
 
</pre>
yaml
Copier le code


---
---
Ligne 374 : Ligne 360 :
== Configuration SLAVE ==
== Configuration SLAVE ==


<pre>
nano /etc/dhcp/dhcpd.conf
nano /etc/dhcp/dhcpd.conf
</pre>


Copier le code
<pre>
failover peer "dhcp-failover" {
failover peer "dhcp-failover" {
secondary;
secondary;
address 192.168.1.11;
address 192.168.1.11;
port 647;
port 647;
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 {
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;
option domain-name-servers 8.8.8.8;


pool {
pool {
failover peer "dhcp-failover";
  failover peer "dhcp-failover";
range 192.168.1.100 192.168.1.200;
  range 192.168.1.100 192.168.1.200;
}
}
}
}
 
</pre>
yaml
Copier le code


---
---
Ligne 402 : Ligne 388 :
== Ouverture ports failover (sur les deux serveurs) ==
== Ouverture ports failover (sur les deux serveurs) ==


<pre>
firewall-cmd --add-port=647/tcp --permanent
firewall-cmd --add-port=647/tcp --permanent
firewall-cmd --reload
firewall-cmd --reload
 
</pre>
yaml
Copier le code


---
---
Ligne 412 : Ligne 397 :
== Démarrage du service sur les deux serveurs ==
== Démarrage du service sur les deux serveurs ==


<pre>
systemctl enable dhcpd
systemctl enable dhcpd
systemctl start dhcpd
systemctl start dhcpd
 
</pre>
yaml
Copier le code


---
---
Ligne 422 : Ligne 406 :
== Vérification synchronisation ==
== Vérification synchronisation ==


<pre>
journalctl -u dhcpd
journalctl -u dhcpd
 
</pre>
nginx
Copier le code


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

Version du 16 février 2026 à 14:14

DHCP

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

Vérifier l'utilisateur :

whoami

Résultat attendu :

root

Le serveur doit avoir :

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

Voir interfaces réseau :

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

1 — Serveur DHCP : Création

Installation du serveur DHCP

Rocky Linux utilise ISC DHCP Server.

dnf install dhcp-server -y

Vérifier installation :

rpm -qa | grep dhcp

---

Configuration de l’interface DHCP

Identifier l’interface réseau :

ip a

Configurer l’interface utilisée par DHCP :

nano /etc/sysconfig/dhcpd

Modifier :

DHCPDARGS=ens33

(Remplacer ens33 par votre interface réseau)

---

Création du fichier de configuration principal

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

---

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

---

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 DHCP :

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

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

---

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

---

Options PXE (boot réseau)

Utilisé pour déploiement OS :

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

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

---

Installation du DHCP Relay

Sur le firewall Rocky Linux :

dnf install dhcp-relay -y

---

Configuration du relay

nano /etc/sysconfig/dhcrelay

Exemple :

DHCPSERVERS="192.168.1.10"
INTERFACES="ens33 ens34"

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

---

Ouverture firewall

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

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

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 ports failover (sur les deux serveurs)

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

---

Démarrage du service sur les deux serveurs

systemctl enable dhcpd
systemctl start dhcpd

---

Vérification synchronisation

journalctl -u dhcpd

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