Transformez votre Raspberry Pi en point d’accès Wi-Fi

La plupart des modèles de Raspberry Pi disposent d’un port Ethernet et d’une carte Wi-Fi, ce qui en fait l’appareil idéal pour être transformé en point d’accès Wi-Fi. Que vous le fassiez parce que vous n’avez pas encore de réseau Wi-Fi, pour créer un sous-réseau distinct sur votre réseau local ou pour d’autres raisons, je vais vous montrer les étapes à suivre pour y parvenir.

Une fois le Raspberry Pi connecté au réseau local avec un câble Ethernet, l’adaptateur Wi-Fi peut être utilisé pour créer un point d’accès pour d’autres appareils sans fil. Network manager peut directement en charger (sur Bookworm) ou Hostapd peut être utilisé sur les anciennes versions.

Il y a quelques conditions à remplir avant de commencer et quelques éléments à comprendre concernant la configuration du réseau, je vais donc commencer par cela et je vous donnerai ensuite toutes les étapes pour la mise en place rapide de votre point d’accès.

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (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 dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

Pour commencer : théorie des réseaux et pré-requis

Avant de passer aux étapes pratiques, je dois m’assurer que vous connaissez quelques mots clés et abréviations réseau. Si vous êtes habitué à ce type de projet, ce n’est pas très compliqué, mais juste au cas où, définissons d’abord quelques points.

Théorie des réseaux

Un réseau typique à la maison ressemble à ceci :

Les adresses IP mentionnées ici sont celles de mon réseau, il ne s’agit donc que d’un exemple, mais les principaux éléments sont les mêmes sur la plupart des réseaux.

Un routeur est configuré par votre fournisseur d’accès à Internet. C’est le point de connexion à internet qui fournit généralement les adresses IP aux autres appareils du réseau (service DHCP) et joue le rôle de serveur DNS (pour traduire un nom de domaine en une adresse IP).

La plupart des routeurs Internet offrent désormais ces services pour les appareils sans fil (Wi-Fi) et câblés (Ethernet). Ce n’est peut-être pas le cas du vôtre, ou vous ne souhaitez pas utiliser ces services pour les appareils sans fil et vous voulez créer votre propre configuration et votre propre sécurité.

Quoi qu’il en soit, le but ici est d’insérer un Raspberry Pi au milieu, pour obtenir quelque chose comme ceci à la place :

Le Raspberry Pi sera connecté directement au routeur Internet (à l’aide d’un câble RJ45 sur un port Ethernet libre), et son interface Wi-Fi fournira un nouveau réseau sans fil (SSID) disponible pour que d’autres appareils puissent s’y connecter (comme le PC portable dans mon schéma).

Les périphériques sans fil qui se connectent au point d’accès du Raspberry Pi obtiendront des adresses IP différentes (un sous-réseau différent), et le niveau de sécurité de ce réseau et du routage entre les deux sous-réseaux peut être aussi faible ou aussi strict que vous le souhaitez.

Conditions préalables

Voici les conditions préalables pour créer ce système sur votre réseau domestique :

  • Modèle de Raspberry Pi : Assurez-vous simplement qu’il dispose d’un adaptateur réseau Wi-Fi et Ethernet, évitez donc les Raspberry Pi Zero (1 ou 2) et les anciens modèles, mais un Raspberry 3, 4 ou 400 devrait convenir.
    Nous n’utiliserons pas beaucoup le CPU ou la mémoire, nous n’avons donc pas besoin de quelque chose de sophistiqué.
  • Raspberry Pi OS : Je recommande Raspberry Pi OS, afin que vous puissiez suivre mes instructions et que vous n’ayez pas de problèmes de compatibilité en les suivant, mais n’importe quelle version convient (Lite suffit, nous n’avons pas besoin d’une interface graphique).
    La plupart des distributions Linux devraient fonctionner, donc si vous en avez déjà une autre installée, n’hésitez pas à essayer.
  • Configuration du réseau : Une fois le système installé, veillez à ne configurer que l’interface Ethernet, n’utilisez pas le Wi-Fi pour l’accès à internet, vous devez être connecté à internet avec un câble RJ45.
  • Ensuite, comme toujours, faites les mises à jour du système avec :
    sudo apt update
    sudo apt upgrade -y

En suivant ces simples conditions préalables, vous devriez être prêt.

Si vous avez besoin de plus de conseils pour l’installation et la configuration du système (notamment sur une édition Lite de Raspberry Pi OS), vous pouvez lire cet article avec tous les détails : Installer Raspberry Pi OS Bullseye sur Raspberry Pi.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Je recommande également d’installer SSH sur votre Pi afin que vous puissiez suivre les instructions depuis votre ordinateur, puis copier/coller les commandes et les lignes de configuration via votre client SSH au lieu de les taper directement sur le Pi.

Pour votre information, je teste ces étapes sur un Raspberry Pi 400, utilisant Raspberry Pi OS Lite (Bullseye, édition 64 bits). Mon réseau est 192.168.0.0/24 (DHCP délivre des IP commençant par 192.168.0.x et 192.168.0.254 est l’IP du routeur).

Activer l’interface Wi-Fi

Si vous utilisez une nouvelle installation de Raspberry Pi OS, vous devez d’abord définir un pays pour le Wi-Fi.
Le Wi-Fi est désactivé jusqu’à ce que cela soit fait.

Lorsque vous accédez à Raspberry Pi OS via SSH après le premier démarrage, vous obtiendrez probablement un message d’avertissement comme celui-ci :

Réglons ce problème avant d’aller plus loin :

  • Ouvrez raspi-config avec cette commande :
    sudo raspi-config
  • Allez dans « Localisation Options » > « WLAN country »:
  • Sélectionnez votre pays dans la liste.
  • Confirmer et quitter.

À partir de là, l’interface Wi-Fi sera activée et peut devenir notre point d’accès.

Network Manager ou à l’ancienne ?

Si vous utilisez Raspberry Pi Bookworm (2023) ou toute autre distribution récente utilisant NetworkManager pour la gestion du réseau, les étapes pour activer un point d’accès sont complètement différentes.

J’ai donc écrit deux sections distinctes, une pour chaque cas. Assurez-vous de lire seulement celle qui s’applique à vous et à votre système. Voici la table des matières pour y accéder rapidement :

Si vous n’êtes pas sûr de la version installée, vous pouvez suivre ce tutoriel qui explique comment identifier votre système d’exploitation actuel.

Configurer un point d’accès sur Raspberry Pi OS (Bookworm)

La dernière version de Raspberry Pi OS utilise maintenant Network Manager, vous n’avez donc plus besoin de dnsmasq, hostapd et d’autres services qui étaient utilisés auparavant pour créer un point d’accès.

Le processus pour activer un point d’accès avec Network Manager est plus simple, mais nécessite quelques lignes de commande que vous ne pouvez pas vraiment deviner sans ce tutoriel.
Voici les principales étapes que vous devez suivre :

  • Commencez par activer l’interface Wi-Fi dans Network Manager avec :
    sudo nmcli con add con-name hotspot ifname wlan0 type wifi ssid "RaspberryTips-Wifi"

    Vous pouvez remplacer le dernier paramètre par votre propre SSID au choix, qui sera le nom du point d’accès Wi-Fi.
    Vous pouvez également remplacer “hotspot” par autre chose, il s’agit du nom de la configuration. Assurez-vous simplement de le modifier également dans les commandes suivantes.
  • Nous allons ensuite définir la sécurité du point d’accès et le mot de passe, par exemple :
    sudo nmcli con modify hotspot wifi-sec.key-mgmt wpa-psk
    sudo nmcli con modify hotspot wifi-sec.psk "raspberry"

    Le dernier paramètre est votre mot de passe Wi-Fi, assurez-vous d’utiliser quelque chose de plus compliqué :-).
  • Et enfin, configurez Network Manager pour fonctionner en mode point d’accès, avec des adresses IP partagées sur cette interface :
    sudo nmcli con modify hotspot 802-11-wireless.mode ap 802-11-wireless.band bg ipv4.method shared

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Si tout se passe comme prévu, votre point d’accès devrait être activé et visible quelques secondes plus tard. Vous pouvez essayer de vous y connecter depuis un autre ordinateur ou votre téléphone :

Il m’a fallu un certain temps pour trouver la bonne séquence de commandes pour configurer tout cela, mais une fois que vous les avez, c’est vraiment simple. Pour une utilisation domestique typique, il n’y a rien d’autre à faire.

Une fois le point d’accès installé, vous pouvez également utiliser “nmtui” pour modifier vos paramètres, comme par exemple renforcer la sécurité. Voici la commande pour ouvrir cet outil :
sudo nmtui

Là, vous pouvez voir et modifier facilement votre configuration, sans avoir à chercher tous les paramètres des commandes :

Si vous rencontrez un problème, vérifiez les logs avec :
journalctl
Vous pouvez utiliser grep pour filtrer ce qui est affiché :
journalctl | grep hotspot
journalctl | grep wifi

etc.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Rappel: J'ai crée une communauté d'utilisateurs de Raspberry Pi qui vous permet de partage vos avancées, poser vos questions et recevoir de nombreux avantages exclusifs (anglophones uniquement). Cliquez sur le lien pour en savoir plus.

Configurer un point d’accès sur Raspberry Pi OS (versions Bullseye et antérieures)

Maintenant, si tu utilises encore Raspberry Pi OS Bullseye ou un système qui n’utilise pas Network Manager, le processus de configuration d’un point d’accès est un peu plus fastidieux. Mais ne t’inquiète pas, suis simplement ces étapes à ton rythme et ca fonctionnera tout aussi bien.

Installer les services pour créer un hotspot

Nous utiliserons principalement deux nouveaux services sur notre routeur :

  • Hostapd : pour créer le point d’accès sans fil (SSID, mot de passe Wi-Fi, …).
  • DNSmasq : pour transmettre les requêtes DNS à un autre serveur DNS.

Commencez par installer les paquets nécessaires :
sudo apt install hostapd dnsmasq

Voilà, nous pouvons maintenant passer à la partie configuration.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Configurer Hostapd

Vous allez maintenant créer un fichier de configuration pour hostapd avec les paramètres de votre nouveau réseau sans fil :

  • Créez le fichier de configuration avec Nano :
    sudo nano /etc/hostapd/hostapd.conf
    Vous n’avez aucune idée de ce qu’est Nano ou vous avez besoin d’une mise à jour sur son utilisation ? Vous pouvez lire cet article.
  • Le fichier n’existe probablement pas, vous pouvez donc directement copier-coller ces lignes dans le fichier :
    interface=wlan0
    driver=nl80211
    ssid=RaspberryTips-Wifi
    hw_mode=g
    channel=6
    wmm_enabled=0
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=2
    wpa_passphrase=<VOTREMOTDEPASSE>
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP

    Voyez ça comme un modèle que vous pouvez copier/coller pour commencer. À partir de là, modifiez au moins la ligne contenant le mot de passe et tout ce qui correspond à vos besoins (par exemple, pour utiliser un autre canal, un autre niveau de sécurité ou un autre SSID).
    Les options sont assez explicites, mais vous pouvez consulter ce fichier par défaut pour plus de détails, surtout si vous avez besoin de configurer quelque chose de spécifique ou de plus sécurisé.
  • Sauvegardez et quittez (CTRL+O, CTRL+X)

Hostapd ne se lance pas automatiquement au démarrage (ce qui est nécessaire pour que votre point d’accès fonctionne 24/7). Voici comment résoudre ce problème :

  • Modifiez le fichier de configuration du service par défaut :
    sudo nano /etc/default/hostapd
  • Ajoutez cette ligne à la fin pour lui indiquer où trouver votre fichier de configuration :
    DAEMON_CONF="/etc/hostapd/hostapd.conf"
  • Sauvegardez et quittez
  • Activez ensuite le service avec :
    sudo systemctl unmask hostapd
    sudo systemctl enable hostapd

Nous ne le démarrerons pas encore, car nous devons encore configurer le serveur DHCP et le serveur DNS.

Remarque : à des fins de test, vous pouvez créer plusieurs fichiers de configuration sous /etc/hostapd si nécessaire, et ne modifier que cette ligne dans /etc/default/hostapd pour indiquer au service quelle configuration charger la prochaine fois.

Configuration de DNSMasq

DNSMasq est un transitaire DNS que nous utiliserons pour notre nouveau réseau. Au lieu d’installer un serveur DNS complet, nous redirigerons tout vers le serveur DNS actuel du réseau Ethernet (probablement votre routeur Internet).

Si vous souhaitez mettre en place un serveur DNS complet sur votre Raspberry Pi, vous pouvez consulter cet article, mais nous allons garder les choses simples pour l’instant.

Voici comment configurer DNSmasq :

  • Ouvrez le fichier de configuration :
    sudo nano /etc/dnsmasq.conf
  • Collez ces lignes à la fin (CTRL+END vous y amènera, c’est un très long fichier):
    interface=wlan0
    bind-dynamic
    domain-needed
    bogus-priv
    dhcp-range=192.168.42.100,192.168.42.200,255.255.255.0,12h

    Il n’y a rien à changer ici, sauf si vous prévoyez d’utiliser un sous-réseau différent.
    Le mien sera 192.168.42.X, avec 192.168.42.254 pour le Raspberry Pi, et les adresses IP entre 42.100 et 42.200 attribuées par le DHCP. Ajustez ceci en fonction de vos objectifs si nécessaire.
  • Sauvegardez et quittez (CTRL+O, CTRL+X)

Reportez-vous aux commentaires dans le fichier lui-même pour mieux comprendre la signification de chaque option, ou pour ajouter d’autres options si nécessaire pour votre configuration réseau (utilisez CTRL+W pour trouver n’importe quel mot dans le fichier).

Configurer le serveur DHCP

Le dernier fichier de configuration à modifier est le serveur DHCP. Placez-le sur le même sous-réseau :

  • Ouvrez le fichier de configuration :
    sudo nano /etc/dhcpcd.conf
  • Faites défiler jusqu’à la fin du fichier et collez ces lignes :
    nohook wpa_supplicant
    interface wlan0
    static ip_address=192.168.42.10/24
    static routers=192.168.42.1
  • Sauvegardez et quittez

Nous sommes presque prêts pour le premier test.

Activer la redirection IP

Si vous avez plusieurs cartes réseau, le comportement par défaut sous Linux est de les isoler.

Dans notre configuration, cela signifie que les réseaux des interfaces sans fil et câblées ne communiquent pas entre eux. Cela signifie qu’un appareil connecté au point d’accès Wi-Fi ne peut pas atteindre le routeur Internet et encore moins accéder à Internet.

Je suppose que pour la plupart d’entre vous, la communication entre le réseau local et le réseau Wi-Fi doit être activée.
Voici comment le permettre :

  • Ouvrez ce fichier :
    sudo nano /etc/sysctl.conf
  • Trouvez cette ligne (première page) :
    #net.ipv4.ip_forward=1
  • Et décommentez-la, en supprimant le symbole « # » au début de la ligne :
    net.ipv4.ip_forward=1
  • Sauvegardez et quittez

Vous pouvez maintenant redémarrer pour un premier essai :
sudo reboot

Une fois cette opération terminée, vous devriez pouvoir voir votre point d’accès Raspberry Pi dans la liste des réseaux. Vous pouvez tester avec n’importe quel smartphone ou ordinateur.

Dans votre liste de réseaux Wi-Fi, vous devriez voir quelque chose comme ceci (le SSID que j’ai choisi dans mon fichier hostapd.conf) :

Vous pouvez vous y connecter et vérifier que tout fonctionne comme prévu.
Si vous avez gardé la même configuration réseau que moi, vous devriez obtenir une IP sur le sous-réseau 192.168.42.0/24.

Vous n’aurez pas de connexion Internet pour l’instant car nous devons configurer le pare-feu pour qu’il autorise le trafic Internet.

Résolution des problèmes

Si cela ne fonctionne pas, vérifiez l’état de hostapd avec :
sudo systemctl status hostapd
Ou le fichier syslog pour plus de détails, par exemple :
tail -n100 /var/log/syslog
more /var/log/syslog | grep hostapd

Par exemple, si la phrase de passe est trop courte, vous obtiendrez une erreur de ce type :

Ajustez les paramètres en fonction du message d’erreur et réessayez.

Partager l’accès à Internet

Si vous souhaitez autoriser l’accès à Internet pour les appareils connectés au point d’accès, il est possible de transférer le trafic vers le routeur principal, en utilisant le port Ethernet. Vous pouvez soit tout rediriger, soit l’ouvrir uniquement pour des appareils, des destinations ou des protocoles spécifiques (configuration avancée).

Routage de l’ensemble du trafic

La façon la plus simple d’autoriser l’accès à Internet est de taper cette commande, qui indique au pare-feu de tout rediriger vers la passerelle Ethernet :
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Je recommande de procéder ainsi pour un premier essai, afin de s’assurer que tout fonctionne. Vous pourrez modifier cette règle de pare-feu plus tard et la rendre plus stricte, mais seulement si elle fonctionne. Si elle ne fonctionne pas, vous devez d’abord résoudre le problème.

La règle ne reste pas active après un redémarrage, ce qui est très bien pour un premier essai, mais pas optimal pour un fonctionnement permanent.

Si elle fonctionne et que vous voulez continuer ainsi, vous devez installer iptables-persistent avec :
sudo apt install iptables-persistent

Il enregistre automatiquement vos règles actuelles lorsque vous l’installez, mais vous devez exécuter cette commande chaque fois que vous modifiez quelque chose par la suite :
sudo iptables-save | sudo tee /etc/iptables/rules.v4

Je suis maintenant connecté, avec un accès complet à Internet, même après un redémarrage du Raspberry Pi :

Configuration avancée

À partir de là, vous pouvez utiliser iptables pour définir des règles aussi strictes que vous le souhaitez et selon vos besoins. Vous pouvez faire en sorte qu’un appareil ait accès à internet mais pas les autres, que la navigation sur le web soit autorisée (ports 80 et 443) mais pas les e-mails ni l’accès aux appareils locaux (pour un point d’accès invité par exemple).

C’est à vous de définir le niveau de sécurité que vous souhaitez et dont vous avez besoin. Pour un réseau domestique, il est probablement plus facile de tout acheminer (le fait d’avoir un réseau différent pour votre réseau sans fil constitue déjà un niveau de sécurité), mais dans les entreprises, vous devrez probablement mettre en place quelque chose de plus solide.

J’ai déjà un article où je vais un peu plus loin sur la configuration du pare-feu avec des règles avancées, vous pouvez le trouver ici : Comment installer un routeur pare-feu sur Raspberry Pi  ? (Wi-Fi)

Vous avez déjà fait la première partie avec le point d’accès, alors sautez les premières étapes et commencez à lire où j’explique les concepts du pare-feu.

J’ai également d’autres sujets sur la sécurité des réseaux sur ce site web qui pourraient vous intéresser dans ce cas :

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


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

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *