« DHCP » : différence entre les versions
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 = | |||
__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 configurée | ||
* | * Une interface réseau active | ||
* | * Accès réseau fonctionnel | ||
Voir interfaces réseau : | Voir interfaces réseau : | ||
<pre> | <pre> | ||
ip a | ip a | ||
| Ligne 27 : | Ligne 42 : | ||
================================================================ | ================================================================ | ||
= 1 — | = 🚀 1 — Création 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 | == Configuration de l’interface réseau == | ||
Identifier l’interface : | |||
<pre> | <pre> | ||
ip a | ip a | ||
</pre> | </pre> | ||
Configurer | Configurer DHCP : | ||
<pre> | <pre> | ||
| Ligne 65 : | Ligne 77 : | ||
</pre> | </pre> | ||
(Remplacer | (Remplacer par votre interface réseau) | ||
--- | --- | ||
== | == Configuration principale DHCP == | ||
Créer le fichier : | |||
<pre> | <pre> | ||
| Ligne 98 : | Ligne 112 : | ||
--- | --- | ||
== Vérification configuration == | |||
== Vérification | |||
<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 | 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 = | ||
== | == Explication des directives DHCP == | ||
{| 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 : | ||
--- | --- | ||
== | == Boot réseau / PXE == | ||
<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 Relay transmet les requêtes vers un serveur distant. | |||
Le DHCP Relay transmet les requêtes | |||
Architecture : | Architecture : | ||
| Ligne 223 : | Ligne 225 : | ||
--- | --- | ||
== Installation | == Installation == | ||
<pre> | <pre> | ||
dnf install dhcp-relay -y | dnf install dhcp-relay -y | ||
| Ligne 233 : | Ligne 232 : | ||
--- | --- | ||
== Configuration | == Configuration == | ||
<pre> | <pre> | ||
nano /etc/sysconfig/dhcrelay | nano /etc/sysconfig/dhcrelay | ||
| Ligne 245 : | Ligne 243 : | ||
INTERFACES="ens33 ens34" | INTERFACES="ens33 ens34" | ||
</pre> | </pre> | ||
* DHCPSERVERS → IP du serveur DHCP | * DHCPSERVERS → IP du serveur DHCP | ||
* INTERFACES → interface | * INTERFACES → interface client + interface serveur | ||
--- | --- | ||
== Activation | == 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) | = 👑 4 — DHCP Maître / Esclave (Failover) = | ||
== Objectif == | == Objectif == | ||
Assurer la haute disponibilité du service DHCP. | |||
Si le serveur principal tombe : | |||
Si le serveur principal tombe | → le serveur secondaire prend automatiquement le relais. | ||
--- | --- | ||
== Fonctionnement == | == Fonctionnement == | ||
* Synchronisation des baux DHCP | |||
* Partage des adresses IP | |||
* Continuité de service | |||
* Prévention des conflits IP | |||
* | |||
* | |||
* | |||
* | |||
--- | --- | ||
== Modes | == 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 | == 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 | == 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
- 1 — Création du Serveur DHCP
- 2 — Configuration DHCP détaillée
- 3 — DHCP Relay sur Firewall
- 4 — DHCP Maître / Esclave (Failover)
- 5 — Configuration DHCP Maître / Esclave
====================================================
⚙️ 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.