Comment transformer votre Raspberry Pi en un point d'accès Wi-Fi de portail captif

Wifi Captive Portal Raspberry Pi Raspap

Peut-être êtes-vous un propriétaire de magasin qui offre un Wi-Fi gratuit à tous vos clients ; peut-être avez-vous un public captif et prévoyez de vendre l’accès à votre réseau Wi-Fi, ou peut-être voulez-vous donner à vos invités un rappel amical sur l’étiquette d’utilisation de votre réseau domestique ? Vous apprendrez ici comment transformer votre Raspberry Pi en un point d’accès Wi-Fi de portail captif.

À lire aussi : Comment installer Windows 11 sur un Raspberry Pi 4

Pourquoi ai-je besoin d’un portail captif ?

Si vous avez déjà essayé d’accéder à un réseau Wi-Fi apparemment ouvert dans un café, un restaurant, un hôtel ou une salle de sport, seulement pour être accueilli par un écran de connexion qui refuse de vous laisser passer avant d’entrer certaines informations (généralement votre adresse e-mail), alors vous êtes déjà familier avec les portails captifs !

Un portail captif est une page web qui s’ouvre automatiquement dans le navigateur par défaut de l’utilisateur ou qui se charge lorsqu’il tente de visiter une page web. L’utilisateur devra généralement compléter une action avant de pouvoir quitter le portail captif.

Bien qu’ils soient couramment utilisés par les entreprises, les portails captifs peuvent également être un ajout utile à votre réseau domestique. Par exemple, vous pouvez créer un réseau séparé pour vos enfants, complet avec des contrôles parentaux et un portail captif qui rappelle gentiment à vos enfants que vous leur faites confiance pour utiliser le web de manière responsable – juste au cas où ils seraient assez férus de technologie pour savoir comment fonctionne un VPN.

À lire aussi : Comment programmer un Arduino avec un Raspberry Pi

Ce dont vous aurez besoin

Pour compléter ce tutoriel, vous aurez besoin de :

  • Raspberry Pi exécutant Raspberry Pi OS
  • Câble d’alimentation compatible avec votre Raspberry Pi
  • Clavier externe et moyen de le connecter à votre Raspberry Pi
  • Câble HDMI ou micro HDMI, selon votre modèle de Raspberry Pi
  • Moniteur externe
  • Câble Ethernet. Comme vous transformez votre Raspberry Pi en point d’accès sans fil, vous devrez vous connecter via Ethernet au lieu du Wi-Fi. Cela signifie également qu’il ne fonctionnera pas avec Raspberry Pi 2 ou Raspberry Pi Zero car ils manquent soit d’un port Ethernet, soit d’une carte sans fil.

Commencer : mettez à jour votre Raspberry Pi

Connectez votre clavier externe, votre moniteur et votre câble Ethernet, puis branchez votre Pi à une source d’alimentation. Une fois qu’il a démarré, ouvrez un terminal et tapez la commande suivante pour le mettre à jour :

sudo apt update && sudo apt -y upgrade

Redémarrez votre Raspberry Pi en exécutant la commande suivante :

sudo reboot

Une fois que votre Raspberry Pi redémarre, tout sera à jour.

Configurer le point d’accès sans fil pour Raspberry Pi

Il existe plusieurs façons de transformer votre Raspberry Pi en point d’accès pleinement fonctionnel, mais dans ce tutoriel, nous utiliserons RaspAP, car il est facile à configurer.

Pour installer le logiciel RaspAP, ouvrez une fenêtre de Terminal et exécutez la commande suivante :

curl -sL https://install.raspap.com | bash

Vous pouvez rapidement et facilement créer un point d'accès Wi-Fi, avec RaspAP

Ensuite, redémarrez votre Raspberry Pi en utilisant la commande suivante :

reboot

Une fois que votre Raspberry Pi est de nouveau opérationnel, votre point d’accès Wi-Fi sera configuré avec les paramètres suivants :

  • Adresse IP : 10.3.141.1
  • Nom d’utilisateur : admin
  • Mot de passe : secret
  • Plage DHCP : 10.3.141.50 à 10.3.141.255
  • SSID : raspi-webgui
  • Mot de passe Wi-Fi : ChangeMe

Pour mettre votre point d’accès à l’épreuve, saisissez simplement n’importe quel appareil doté du Wi-Fi et vérifiez ses paramètres réseau. Vous devriez voir l’option de vous connecter à un nouveau réseau “raspi-webgui”.

Ouvrez les paramètres réseau de n'importe quel appareil compatible Wi-Fi, et vous devriez voir qu'un nouveau réseau a apparu !

Connectez-vous à ce réseau, et vous serez invité à entrer un mot de passe. Le mot de passe par défaut de RaspAP est “ChangeMe”, alors tapez-le dans la boîte de configuration du réseau, cliquez sur “Connecter” et vous serez connecté à votre nouveau point d’accès Raspberry Pi !

Sécurisez votre point d’accès Wi-Fi

Avant d’aller plus loin, remplacez “ChangeMe” par quelque chose de plus sécurisé, via l’interface web de RaspAP :

  1. Lancez votre navigateur web, si vous ne l’avez pas déjà fait.

  2. Dans la barre d’adresse, entrez l’adresse suivante : 10.3.141.1.

Lorsque vous y serez invité, entrez le nom d’utilisateur “admin” et le mot de passe “secret.” Vous devriez maintenant voir l’interface principale de RaspAP.

La console web de RaspAP affiche des informations sur votre trafic web.

  1. Dans le menu à gauche, sélectionnez “Hotspot -> Sécurité.”

Il est recommandé de changer votre mot de passe pour quelque chose de plus sécurisé que le défaut connu publiquement !

  1. Trouvez la section “PSK” et entrez le mot de passe que vous souhaitez utiliser pour votre point d’accès Wi-Fi - assurez-vous que c’est quelque chose de sécurisé !

  2. Cliquez sur “Enregistrer les paramètres.”

Créer un portail captif avec Nodogsplash

Maintenant que votre point d’accès est opérationnel, vous êtes prêt à le sécuriser avec un portail captif.

Le portail captif sera construit en utilisant la solution de portail captif Nodogsplash, mais d’abord, vous devez installer le paquet libmicrohttpd-dev, car cela contient du code que vous utiliserez pour compiler Nodogsplash.

Sur votre Raspberry Pi, exécutez la commande suivante :

sudo apt install git libmicrohttpd-dev

Une fois que vous avez le paquet libmicrohttpd-dev, vous pouvez cloner le dépôt qui contient tout le code de Nodogsplash :

cd ~  
git clone https://github.com/nodogsplash/nodogsplash.git

Une fois que Raspbian a fini de cloner ce code, vous êtes prêt à compiler et à installer le logiciel Nodogsplash :

cd ~/nodogsplash  
make  
sudo make install

Nodogsplash est maintenant installé sur votre Raspberry Pi.

Configurez votre portail captif

Ensuite, vous devez diriger Nodogsplash vers l’adresse Gateway, qui est l’interface du routeur connectée au réseau local. RaspAP utilise par défaut 10.3.141.1, vous devez donc modifier le fichier de configuration de Nodogsplash pour qu’il écoute sur cette adresse.

Pour modifier l’adresse Gateway, ouvrez le fichier de configuration de Nodogsplash :

sudo nano /etc/nodogsplash/nodogsplash.conf

Ajoutez ce qui suit :

GatewayInterface wlan0  
GatewayAddress 10.3.141.1  
MaxClients 250  
AuthIdleTimeout 480

Une fois que vous avez apporté ces modifications, enregistrez votre fichier en appuyant sur Ctrl + O, suivi de Ctrl + X.

Démarrez votre portail captif en exécutant la commande suivante :

sudo nodogsplash

Votre portail captif est maintenant en ligne. Pour le tester, essayez de vous connecter à votre point d’accès Wi-Fi.

Si vous vous connectez à votre point d'accès Wi-Fi, vous devriez voir le portail captif par défaut de Nodogsplash.

Vous devriez maintenant être accueilli par le portail captif par défaut de Nodogsplash.

Assurez-vous que votre portail est toujours en ligne

Maintenant que vous avez vérifié que le portail captif fonctionne correctement, vous devez vous assurer que Nodogsplash démarre automatiquement au démarrage.

Configurez Nodogsplash pour qu’il se lance automatiquement en modifiant votre fichier “rc.local”. Dans le Terminal de Raspberry Pi, exécutez la commande suivante :

sudo nano /etc/rc.local

Trouvez la ligne suivante :

exit 0

Directement au-dessus, ajoutez ce qui suit :

nodogsplash

Enregistrez vos modifications en appuyant sur Ctrl + O, suivi de Ctrl + X.

Comment personnaliser votre portail captif

À ce stade, vous avez un point d’accès Wi-Fi qui est protégé par un portail captif. Cependant, vous utilisez toujours la page par défaut de Nodogsplash, donc dans cette dernière section, voyons comment vous pouvez accéder au code qui contrôle votre page de portail captif et faire quelques modifications simples.

Pour personnaliser la page par défaut de Nodogsplash, vous devez ouvrir le fichier “splash.html” :

sudo nano /etc/nodogsplash/htdocs/splash.html

Vous pouvez maintenant ajouter des images et du texte à votre portail et supprimer le contenu existant. Par exemple, dans l’image ci-dessous, le texte affiché dans le cadre du portail captif est en train d’être modifié.

Vous pouvez personnaliser votre portail captif, en modifiant le fichier splash.html.

Lorsque vous êtes satisfait des modifications que vous avez apportées, enregistrez vos changements en appuyant sur Ctrl + O, suivi de Ctrl + X.

Essayez de vous reconnecter à votre point d’accès Wi-Fi, et vous devriez voir votre portail captif remanié.

La prochaine fois que vous essayez de vous connecter à votre réseau Wi-Fi, vous verrez votre écran de portail personnalisé.

Notez qu’en fonction de votre système d’exploitation et de votre navigateur web, vous devrez peut-être vider le cache de votre navigateur pour voir le portail captif mis à jour.

En plus d’un point d’accès Wi-Fi, vous pouvez également transformer votre Raspberry Pi en bloqueur de publicité ou en serveur web personnel.

Comment utilisez-vous votre portail captif nouvellement créé ? Pour accueillir les gens sur votre réseau domestique, établir des règles de base, ou comme un outil pour aider à promouvoir votre entreprise ? Faites-le nous savoir dans les commentaires ci-dessous !