DHCP (Dynamic Host Configuration Protocol) est un protocole réseau pour attribuer automatiquement la configuration, dont l’adresse IP aux clients.
Si vous êtes un administrateur réseau, vous pouvez avoir besoin de configurer un serveur DHCP sous Linux pour votre réseau local (LAN).
Dans ce tutoriel, nous allons voir comment mettre en œuvre un serveur DHCP sur les systèmes Linux et comment le configurer pour votre propre réseau.
Table des matières
Comment installer le serveur DHCP
Pour installer DHCP sur Ubuntu, Debian et Linux Mint, utilisez la commande APT :
sudo apt install isc-dhcp-server
Pour installer DHCP sur CentOS, Fedora, AlmaLinux et Red Hat, utilisez dnf :
sudo dnf install dhcp
Comment configurer un serveur DHCP sous Linux
Configurer l’interface d’écoute
Première chose à paramétrer est l’interface d’écoute du serveur DHCP.
Pour cela, éditez le fichier /etc/default/isc-dhcp-server puis modifiez la valeur de INTERFACESv4 pour y ajouter le nom de l’interface réseau sur laquelle le serveur DHCP doit opérer.
INTERFACESv4="ens33"
Répétez l’opération pour INTERFACESv6 ou commencez le pour que le serveur DHCP ignore la configuration IPv6.
Configuration basique d’attribution automatique d’adresse IP (subnet)
Par défaut, la configuration du serveur DHCP n’inclut aucun sous-réseau sur lequel le serveur DHCP doit louer des adresses IP. Par conséquent, en fonction de votre système Linux, vous pouvez obtenir le message d’erreur suivant lorsque vous tentez de démarrer le DHCP avec le fichier de configuration par défaut /etc/dhcp/dhcpd.conf.
subnet 10.0.0.0 netmask 255.255.0.0 { range 10.0.1.2 10.0.2.253; } subnet 192.168.1.0 netmask 255.255.255.0 { }
Ce fichier de configuration demande au serveur DHCP d’écouter les requêtes des clients DHCP sur le sous-réseau 10.1.1.0 avec le masque de réseau 255.255.255.0. En outre, il attribuera des adresses IP dans la plage 10.1.1.2 – 10.1.1.254. Il définit également une définition vide pour le sous-réseau avec l’ID de réseau 192.168.1.0.
Modifiez le code ci-dessus avec votre sous-réseau et insérez-le dans le fichier /etc/dhcp/dhcpd.conf. Lorsque vous êtes prêt, redémarrez votre serveur DHCP avec (la commande de redémarrage peut varier) :
sudo systemctl restart isc-dhcp-server
DHCP default et max lease time
A ce stade, nous pouvons ajouter quelques paramètres supplémentaires à notre configuration DHCP, à savoir le délai d’expiration par défaut et le délai d’expiration maximal.
Des valeurs existent déjà en en-tête du fichier de configuration dont voici les explications :
- default-lease-time est une valeur en secondes à laquelle l’expiration d’une adresse IP louée sera fixée si le client DHCP ne demande pas d’autre délai d’expiration spécifique
- max-lease-time est une valeur en secondes qui définit un délai d’expiration maximal pour une adresse IP louée par le serveur DHCP
default-lease-time 600; max-lease-time 7200; subnet 10.0.0.0 netmask 255.255.0.0 { range 10.0.1.2 10.0.2.253; } subnet 192.168.1.0 netmask 255.255.255.0 { }
Définir le serveur DNS
Un autre paramètre de configuration que le serveur DHCP peut définir pour ses clients est la définition du serveur DNS. Si vous souhaitez que vos clients utilisent un serveur DNS avec une adresse IP 8.8.8.8 (serveur DNS de Google) et 10.1.1.254, vous pouvez le faire en incluant une option domain-name-servers dans le fichier de configuration du DHCP.
default-lease-time 600; max-lease-time 7200; subnet 10.0.0.0 netmask 255.255.0.0 { range 10.0.1.2 10.0.2.253; option domain-name-servers 10.1.1.254, 8.8.8.8; } subnet 192.168.1.0 netmask 255.255.255.0 { }
Définir la passerelle par défaut
DHCP permet également de configurer la passerelle d’un client. Pour que n’importe quel client du réseau local utilise la passerelle par défaut 10.1.1.1, ajoutez la ligne option routeurs 10.1.1.1 dans le fichier dhcpd.conf, comme indiqué ci-dessous :
default-lease-time 600; max-lease-time 7200; subnet 10.0.0.0 netmask 255.255.0.0 { range 10.0.1.2 10.0.2.253; option domain-name-servers 10.0.1.254, 8.8.8.8; option routers 10.0.1.1; }
Configurer une IP fixe pour une machine spécifique
Il peut être nécessaire d’attribuer une adresse IP statique à un hôte particulier du réseau, tel qu’une imprimante, un serveur web, etc. Dans ce cas, il est possible de modifier la configuration du serveur DHCP pour louer une adresse IP choisie à un hôte spécifique défini par son adresse MAC.
host machine1 { hardware ethernet 00:15:d3:b7:8f:85; fixed-address 10.0.1.100; option host-name "imprimante"; } host machine2 { hardware ethernet 00:11:a4:c2:44:21; fixed-address 10.0.1.200; option host-name "serveur web"; }
Le fichier de configuration DHCP ci-dessus attribue de manière permanente l’adresse IP 10.1.1.100 à l’hôte “imprimante” dont l’adresse MAC est 00:15:d3:b7:8f:85 et l’adresse IP 10.1.1.200 à l’hôte “serveur web” dont l’adresse MAC est 00:11:a4:c2:44:21.
Liens
- Mesurer le débit et lister les connexions réseaux
- Comment configurer une adresse IP sur Ubuntu
- Comment configurer le réseau sur Linux
- nmcli : configurer le réseau NetworkManager sur Linux (Debian, Ubuntu, …)
- /etc/network/interfaces : configurer le réseau sur Debian
- Comment changer la configuration des serveurs DNS sur Linux
- Comment changer la passerelle par défaut sur Linux
- Netstat sur Linux : utilisations et exemples
- Comment utiliser la commande ss sur Linux avec des exemples
- 15 commandes ifconfig pour configurer une interface réseau sous Linux
- 10 commandes “IP” utiles pour configurer les interfaces réseau sur Linux
- 6 outils pour tester la vitesse de la connexion internet sur Linux en ligne de commandes
- Nmap : exemples et utilisations
- TCPDump : capturer et analyser le trafic réseau sur Linux
- 25+ exemples de la commande Hping3
- iperf : tester la vitesse et bande passante entre deux hôtes
- Comment utiliser la commande traceroute sur Linux avec des exemples
- Comment utiliser wget avec 14 exemples
- 16 exemples de la commande CURL
- 6 commandes pour télécharger des fichiers en ligne de commandes sur Linux
- Les commandes Linux réseaux
- Unix socket : fonctionnement et utilisations
- Configurer un serveur DHCP sous Linux (isc-dhcp-server)
- Liste de toutes les commandes Linux