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.