Comment Utiliser Raspberry Pi Comme Serveur DHCP ? (DNSMasq Et Autres)


Un Raspberry Pi est un minuscule ordinateur fonctionnant sous Linux, qui peut être utilisé dans de nombreux projets domestiques, y compris être utilisé comme un nœud critique sur votre réseau, comme un serveur DHCP.

Un Raspberry Pi peut être utilisé comme serveur DHCP en installant Raspberry Pi OS et le paquet DNSMasq. Il est ensuite nécessaire de modifier la configuration pour définir une adresse IP statique pour le Raspberry Pi et configurer la plage DHCP pour les autres appareils du réseau.

Dans cet article, je vous montrerai la façon la plus simple de le faire avec Raspberry Pi OS, puis j’aborderai d’autres solutions que vous pouvez essayer.

À propos, si vous êtes novice sur Raspberry Pi et que vous souhaitez accélérer vos premiers pas (tout en vous amusant), n’hésitez pas à télécharger mon e-book « Maitrisez Raspberry Pi en 30 jours« . Il s’agit d’un défi de 30 jours au cours duquel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin apprécier cet appareil passionnant qu’est le Raspberry Pi. Je vous offre d’ailleurs 10% de remise aujourd’hui en utilisant ce lien !

Peut-on utiliser un Raspberry Pi comme serveur DHCP ?

Téléchargez mon glossaire !
Un peu perdu avec toutes ces abbréviations et nouveaux mots ? Téléchargez le glossaire complet au format PDF :-)

En règle générale, tout périphérique fonctionnant sous Linux et doté de capacités réseau peut devenir un serveur DHCP, ce qui est le cas des modèles Raspberry Pi dotés d’un port Ethernet. Les paquets ne sont pas installés par défaut, mais ils sont disponibles dans le dépôt officiel.

Cependant, notez qu’il y a des limites. Certains anciens modèles de Raspberry Pi ne disposent pas de port réseau, et les autres n’en ont qu’un seul. Donc, si vous avez besoin de gérer plusieurs sous-réseaux, le Raspberry Pi n’est peut-être pas la meilleure option. Au travail, j’utilise un mini PC comme celui-ci sur Amazon avec Pfsense sur de petits sites, cela fonctionne bien, et c’est probablement plus stable qu’un Raspberry Pi.

En général, votre box Internet à la maison fait déjà office de serveur DHCP, il n’est donc pas forcément nécessaire de chercher à faire autrement.

Quoi qu’il en soit, dans certains cas, le Raspberry Pi peut faire un excellent travail en tant que serveur DHCP, soit pour mieux comprendre comment ça fonctionne, soit pour une utilisation réelle avec des exigences de réseau spécifiques. Par exemple, j’ai essayé ceci dans le passé avec un routeur sans fil. Le serveur DHCP était sur le réseau Wi-Fi et le Raspberry Pi acheminait le trafic vers le réseau Ethernet (vous pouvez trouver l’article à ce sujet ici).

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Maîtrisez Raspberry Pi en 30 jours
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

Comment utiliser Raspberry Pi comme un serveur DHCP ?

La façon la plus simple d’utiliser un Raspberry Pi comme serveur DHCP est d’installer et de configurer DNSMasq. Son objectif principal est de faire une redirection DNS, mais il apporte également des fonctionnalités DHCP pour les petits réseaux.

Installer Raspberry Pi OS

Je réalise ce tutoriel sur Raspberry Pi OS, je vous recommande donc de faire comme moi. Vous pouvez aussi le faire sur d’autres distributions Linux, mais cela vous permettra d’utiliser les mêmes commandes et options de configuration que moi.

La première étape consiste donc à installer Raspberry Pi OS. Si vous avez besoin d’aide à ce sujet, cliquez sur ce lien pour lire mon tutoriel à suivre pas à pas.

Définir une adresse IP statique pour votre Raspberry Pi

Une fois installé, la première chose à faire est de définir une adresse IP statique sur votre Raspberry Pi. Si vous n’avez pas de serveur DHCP actuellement, vous n’avez probablement pas encore d’accès au réseau. Et même si vous disposez d’un serveur DHCP, vous devez fixer l’adresse IP du Raspberry Pi.

À cette étape, vous devrez peut-être définir le sous-réseau que vous utiliserez pour cette configuration. En général, je recommande d’utiliser le même réseau que votre routeur Internet, mais vous pouvez choisir quelque chose de différent et changer la configuration du routeur plus tard.

Par exemple, disons que votre sous-réseau principal est 192.168.1.0/24, et votre routeur 192.168.1.1. Vous pouvez alors choisir d’utiliser 192.168.1.2 pour le Raspberry Pi, et définir une plage DHCP entre 192.168.1.100 et 192.168.1.200.
Lorsque vous les définissez ainsi, il est préférable d’éviter les adresses IP et les plages déjà utilisées si vous avez actuellement un serveur DHCP actif. Sur mon réseau, toutes les adresses IP (à l’exception du routeur) sont comprises entre 1.20 et 1.50, ce qui ne devrait pas poser de problème.

Dans tous les cas, suivez ces étapes pour définir une adresse IP statique :

  • Ouvrir ce fichier de configuration avec Nano :
    sudo nano /etc/dhcpcd.conf
  • Vous devriez trouver un exemple de configuration IP statique à la fin du fichier :
  • Ajoutez votre configuration de la même manière (ou décommentez ce paragraphe). Dans mon exemple, cela peut être quelque chose comme dans les lignes suivantes :
    interface eth0
    static ip_address=192.168.1.2
    static routers=192.168.1.1
    static domain_name_servers=192.168.1.1 8.8.8.8
  • Sauvegardez et quittez Nano (CTRL+W, CTRL+X).
  • Maintenant, vous pouvez redémarrer votre Raspberry Pi pour appliquer les changements :
    sudo reboot

Après le redémarrage, votre Raspberry Pi devrait maintenant être connecté à Internet, avec la nouvelle adresse IP définie, et vous pouvez continuer avec l’installation de base.

Si vous avez des difficultés avec Nano, n’hésitez pas à consulter mon guide avec tous les raccourcis et commandes, en allant sur ce lien.

Installer les prérequis

Nous pouvons maintenant continuer avec la configuration initiale du Raspberry Pi OS : configurer le réseau, mettre à jour le système et les paquets. L’activation de SSH est également une bonne idée, afin que vous puissiez copier et coller les commandes que je vous donne directement depuis votre ordinateur.

Une fois que c’est fait, la seule chose dont nous avons besoin pour l’instant est d’installer DNSMasq, vous pouvez le faire avec l’outil de commande « Add/Remove software » sur la version Desktop, ou tout simplement utiliser la commande :
sudo apt install dnsmasq

DNSMasq démarre automatiquement. Il est configuré par défaut comme DNS forwarder, ce qui ne devrait pas poser de problème, car aucun de vos périphériques n’utilise le Raspberry Pi comme serveur DNS pour le moment.

Un DNS forwarder est un service qui transmet les requêtes DNS à votre serveur DNS principal sur le réseau. Il peut être utile pour ajouter des hôtes personnalisés ou pour conserver un cache de vos demandes DNS. Toute nouvelle demande sera transmise à un autre serveur.

Désactiver votre ancien serveur DHCP

La plupart du temps, votre routeur Internet fait déjà office de serveur DHCP. Vous devez donc d’abord le désactiver pour éviter tout conflit. Si vous gardez les deux activés, votre ordinateur et les autres périphériques obtiendront une adresse IP pour l’un d’entre eux de manière aléatoire (le premier à répondre) et ils ne fonctionneront pas comme prévu.

Les étapes pour le désactiver dépendent du routeur que vous avez, donc je ne peux pas vous donner plus de détails à ce sujet. Consultez la documentation de votre modèle de routeur ou le site Web de votre FAI.

Configurer DNSMasq

Configurer DNSMasq n’est pas compliqué. Tout se trouve dans un seul fichier de configuration, et il n’y a que quelques lignes à ajouter :

  • Ouvrir le fichier de configuration DNSMasq avec Nano :
    sudo nano /etc/dnsmasq.conf
  • Presque tout est commenté ici, et c’est un fichier assez long, donc la manière la plus simple est de copier et coller ces lignes à la fin (CTRL+_ and CTRL+V) :
    interface=eth0
    bind-dynamic
    domain-needed
    bogus-priv
    dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h
Option de configurationDescription
interfaceQuelle interface sera utilisée pour votre serveur DHCP.
eth0 pour Ethernet, wlan0 pour Wi-Fi
bind-dynamicÉvitera les problèmes liés aux pannes de réseau
domain-neededOption DNS : ne jamais transmettre des noms simples (sans points)
bogus-privOption DNS : ne jamais transmettre les mauvaises adresses
dhcp-rangeActiver DHCP et définir la plage, le masque de sous-réseau et la durée de location.
Options de configuration de DNSMasq

DNSMasq est un service, pour appliquer les changements, vous devez le redémarrer comme suit :
sudo service dnsmasq restart

Une fois cela fait, tout appareil que vous branchez sur votre réseau obtiendra une adresse IP dans la plage définie. Votre Raspberry Pi agira comme un serveur DHCP (ce qui était l’objectif de ce tutoriel) mais aussi comme un transitaire DNS. Ainsi, tout hôte ajouté dans le fichier /etc/hosts peut être utilisé sur d’autres appareils de votre réseau.

Le serveur DHCP ne nécessite aucune maintenance dans le temps, mais vous pouvez utiliser des outils, comme Webmin si vous voulez une interface web pour gérer DNSMasq. Elle sera particulièrement utile pour voir l’utilisation des plages IP et configurer le serveur DNS.

Initiation au Raspberry Pi
10% de remise aujourd'hui !
Visionnez ma formation vidéo pour démarrer du bon pied.
Découvrez le Raspberry Pi, le matériel, ses logiciels particuliers et créez vos 5 premiers projets avec moi.

Alternatives à DNSMasq comme serveur DHCP sur Raspberry Pi

Comme expliqué au début de ce tutoriel, DNSMasq est le moyen le plus simple de faire fonctionner un serveur DHCP de base sur un Raspberry Pi, mais ce n’est pas la seule option. Vous souhaitez peut-être quelque chose de plus complexe, avec plus de fonctionnalités ou une meilleure interface ? Je vous propose ci-dessous d’autres solutions que vous pouvez essayer.

Routeur sans fil avec Pare-feu

Ma première suggestion est de faire quelque chose de similaire, mais en utilisant les deux interfaces (si vous avez un modèle récent). Par exemple, vous pouvez utiliser votre Raspberry Pi 3B+ ou 4 comme point d’accès sans fil, configurer le serveur DHCP sur cette interface et même ajouter quelques fonctions de sécurité avec un pare-feu. La carte Ethernet sera utilisée pour accéder à Internet.

Cela pourrait être un excellent projet pour ajouter un réseau Wi-Fi invité dans une petite entreprise, mais que vous le fassiez pour une vraie raison ou juste pour le plaisir, c’est un projet intéressant pour apprendre quelques compétences en réseau.

J’ai un article complet qui explique toutes les étapes pour mettre cela en pratique, de la conception à l’installation et à la configuration de tout. Je vous recommande vivement d’y jeter un coup d’œil, même si vous avez simplement besoin de quelques éclaircissements sur cet article.
Comment Installer un Routeur Pare-feu sur Raspberry Pi ? (Wi-Fi)

Pi-Hole

Pi-Hole est un bloqueur de publicité bien connu, gratuit et open-source qui peut être installé sur Raspberry Pi.
La plupart du temps, il ne sera utilisé que comme serveur DNS, et chaque requête sera filtrée pour vérifier s’il s’agit d’une publicité ou non.

L’installation est assez simple : une ligne de commande et quelques questions à répondre.
Une fois installé, vous aurez accès à une interface web avec de nombreuses options de configuration.
L’une d’entre elles vous permet d’activer un serveur DHCP en quelques clics.

Si le fait de disposer d’une interface web pour tout configurer est important pour vous, c’est probablement la meilleure option.
Vous pouvez tout configurer ici, et vous pouvez voir et définir les baux DHCP juste en dessous.

Vous voulez essayer ? Consultez mon tutoriel sur la façon de Comment Installer Pi-Hole sur Raspberry Pi ? (15 min max).
Et j’ai aussi un tutoriel ici sur comment installer Pi-Hole sur Ubuntu(en anglais), si vous préférez utiliser Ubuntu sur un Raspberry Pi ou un autre ordinateur.

ISC-DHCP-Server

Une autre option consiste à utiliser ISC-DHCP-Server, éventuellement couplé à Bind pour le serveur DNS. Cela devrait fonctionner sur Raspberry Pi, mais c’est un peu plus compliqué de configurer ces services, donc je ne recommande pas de les utiliser.

Si vous avez un réseau important où vous avez besoin d’une solution plus avancée, le Raspberry Pi n’est probablement pas la meilleure option pour vous de toute façon. Donc, même si ISC-DHCP-Server est souvent utilisé sous Linux, je ne pense pas que nous en ayons besoin sur Raspberry Pi, DNSMasq est parfait dans ce cas.

Par ailleurs, pour les réseaux plus importants, Pfsense n’est pas (encore ?) disponible sur Raspberry Pi, mais comme expliqué dans mon article ici (en anglais), il existe encore d’excellentes options de pare-feu que vous pouvez utiliser sur Raspberry Pi.


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

Black Friday Week: Tout à -40%