DHCP sous Linux : Le fichier de configuration dhcpd.conf
Table des matières
Cet article récapitule les options de configuration du fichier dhcpd.conf pour un serveur DHCP sous Linux.
Toute la config du serveur dhcp se trouve dans le fichier /etc/dhcp/dhcpd.conf.
Par défaut, toutes les lignes sont commentées. Le serveur n'est donc pas en action.
Exemple d'une config basique:
On peut aussi réserver une adresse IP dans une plage, pour une adresse MAC donnée, il suffit de déclarer un "host" dans le "subnet".
Démonstration avec 2 réservations :
Si on veut bloquer une adresse MAC, afin qu'elle ne reçoive pas d'IP, voici quelques lignes à ajouter dans le dhcpd.conf (on suppose que 00:00:00:00:00 est l'adresse MAC)
Par défaut, sur Red Hat Enterprise Linux et dérivées, le serveur DHCP n'écoute et ne délivre que des adresses IP que sur les réseaux en écoute (Réseaux des adresses IP de la machine).
Si on veut que le serveur DHCP délivre des adresses IP sur d'autres réseaux (car présence d'Agent relais), il faudra mettre ces réseaux dans une section shared-network :
Introduction
Cet article récapitule les options de configuration du fichier dhcpd.conf pour un serveur DHCP sous Linux.
Articles associés
- Gentoo - Calculate Linux : Installer et configurer un serveur DHCP
- Red Hat 8, Alma Linux 8 : Installer et configurer un serveur DHCP
- Debian : Installer un serveur DHCP
Fichier de configuration
La base: un bail et une plage d'adresse
Toute la config du serveur dhcp se trouve dans le fichier /etc/dhcp/dhcpd.conf.
Par défaut, toutes les lignes sont commentées. Le serveur n'est donc pas en action.
Exemple d'une config basique:
Code BASH :
# Bail de 24H default-lease-time 86400; # Bail maxi de 48H max-lease-time 172800; # Domaine option domain-name "linuxtricks.lan"; # Déclaration d'un réseau subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.199; # Plage IP option domain-name-servers 192.168.1.11; # DNS option routers 192.168.1.1; # Passerelle }
Réserver une adresse IP dans la plage
On peut aussi réserver une adresse IP dans une plage, pour une adresse MAC donnée, il suffit de déclarer un "host" dans le "subnet".
Démonstration avec 2 réservations :
Code BASH :
# Plage DHCP subnet 10.21.27.0 netmask 255.255.255.0 { range 10.21.27.100 10.21.27.199; option domain-name-servers 10.21.27.253; option routers 10.21.27.254; # Réservations DHCP host superlinux-eth { hardware ethernet 10:bf:48:13:f6:cc; fixed-address 10.21.27.100; } host superlinux-wlan { hardware ethernet 68:5d:43:2a:f3:af; fixed-address 10.21.27.101; } }
Refuser un hôte
Si on veut bloquer une adresse MAC, afin qu'elle ne reçoive pas d'IP, voici quelques lignes à ajouter dans le dhcpd.conf (on suppose que 00:00:00:00:00 est l'adresse MAC)
Code BASH :
host banni { hardware ethernet 00:00:00:00:00; deny booting; }
Paramétrer des pages réseaux distantes
Par défaut, sur Red Hat Enterprise Linux et dérivées, le serveur DHCP n'écoute et ne délivre que des adresses IP que sur les réseaux en écoute (Réseaux des adresses IP de la machine).
Si on veut que le serveur DHCP délivre des adresses IP sur d'autres réseaux (car présence d'Agent relais), il faudra mettre ces réseaux dans une section shared-network :
Code BASH :
# Bail 24h default-lease-time 86400; # Max Bail 48h max-lease-time 172800; # Serveur DNS option domain-name-servers 10.21.21.8; # Réseau connecté au serveur subnet 10.21.21.0 netmask 255.255.255.0 { } # Réseaux distants via relay-dhcp shared-network cesi { # Etendue subnet 10.21.22.0 netmask 255.255.255.0 { # Plage d'IP à délivrer range 10.21.22.100 10.21.22.199; # Passerelle par défaut option routers 10.21.22.254; } }