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.