Point d'accès et portail captif sur une Raspberry Pi: Transmission d'informations dans un réseau fermé

Tutorial de avatarchiara freneix | Catégories : Outils

Introduction

Le tutoriel est divisé en plusieurs étapes, de sorte à ce que les personnes n'ayant pas l'habitude de prendre ce type de support en main puissent prendre le temps de suivre step by step, en s'aidant des images et des explications!

Les personnes étant déjà familières avec ce support peuvent se concentrer sur les commandes de chaque étape et ainsi aller à leur rythme!

Bon tuto!

Matériaux

  • Une Raspberry Pi avec un module Wifi
  • Une carte MicroSD de 8GB ou plus
  • Un clavier USB de récupération
  • Une souris USB de récupération
  • Un écran avec connexion HDMI de récupération
  • Un cable HDMI
  • Une autre ordinateur avec une connexion internet pour la configuration
  • Source d'alimentation 5V
  • En fonction de l'écran, il se peut que vous ayez besoin d'une source d'alimentation pour l'écran
Meme si une carte SD de 8BG fonctionne pour ce tutoriel, nous vous conseillons de vous orienter vers une carte SD rapide et fiable car les performances de la Raspberry Pi sont influencées par la qualité de la carte SD choisie.

Outils

Étape 1 - Formatage de la carte SD et installation d'un système d’exploitation

La Raspberry Pi utilise une carte SD comme disque dur. Nous allons installer le système d'exploitation dessus, et nous allons choisir Raspberry Pi OS (anciennement Raspbian), optimisée pour la Raspberry Pi et adaptée à la majorité des utilisations.


  • Installer Raspberry-Pi Imager sur l'ordinateur portable dans la version correspondant à votre système d'exploitation (Windows, Mac, Ubuntu).
  • Une fois le logiciel téléchargé, brancher la carte SD à l'ordinateur (vous allez peut être avoir besoin d'un lecteur de carte SD
  • Ouvrir Raspberry-Pi Imager
  • Dans le menu "CHOISIR L'OS", choisir le premier choix soit : "RaspberryPI OS (32-bit), (Recommended)"
  • Dans le menu "CHOISIR LE STOCKAGE" choisir le stockage correspondant à la carte SD
  • Cliquer sur "ECRIRE"
  • Lorsque le processus est fini, débrancher la carte SD de l'ordinateur et passez à la prochaine étape!

Étape 2 - Mise sous tension de la Raspberry Pi

L'on va maintenant se servir de la Raspberry Pi!


  • Insérer la carte SD dans la Raspberry Pi, sans brancher l'alimentation: nous allons faire cela à la fin
  • Brancher le clavier et la souris à la Raspberry (en branchant les cable USB dans un des ports USB de la Raspberry)
  • Brancher l'écran à une prise d'alimentation et le connecter à la Raspberry avec un cable HDMI
  • Brancher la Raspberry Pi à une source d'alimentation (la Raspberry Pi est alimenté avec un Cable Micro-USB)
  • L'écran devrait alors s'allumer (première image ci-contre): votre Raspberry Pi est maintenant sous tension ! Il n'y a pas de bouton marche/arrêt ; votre ordinateur Raspberry Pi s'allume simplement lorsqu'il est branché sur le secteur. La première fois qu'il s'allume, l'assistant de configuration du système d'exploitation Raspberry Pi s'affiche. Celui-ci vous aide à terminer la configuration de votre Raspberry Pi : le connecter à votre réseau Wi-Fi, choisir les paramètres de région et de langue corrects, et ainsi de suite (vous pourrez également modifier tous ces paramètres ultérieurement). L'assistant installe également toutes les mises à jour de bogues et de performances qui sont devenues disponibles depuis la version complète de Raspberry Pi OS que Raspberry Pi Imager a installé sur votre carte microSD.
Si, lorsque vous commencez à utiliser votre Raspberry Pi, vous remarquez un éclair dans le coin supérieur droit de votre écran, cela signifie que votre Raspberry Pi n'est pas suffisamment alimenté. Ce problème est dû à l'utilisation d'une alimentation inadaptée à la tâche, et c'est l'un des problèmes les plus courants rencontrés par les utilisateurs.


Remarques:

  • L'on va travailler depuis le terminal qui est affiché comme l'onglet noir (deuxième image ci contre).
  • Pour écrire une commande, il faut l'écrire après le symbole $ et appuyer sur Enter, pour tester essayer d'écrire : (vous devriez avoir trois paragraphes qui s'affichent, comme la dernière image ci contre)
ifconfig
  • Un commentaire est tout ce qui suit un hashtag # dans le terminal : l'ordinateur ne la considère plus comme une commande mais désormais comme un "simple texte décoratif": on peut donc écrire n'importe quoi sur la meme ligne après un hashtag et ça n'aura pas d'effet! Pour tester, essayer d'écrire et entrer :
#ifconfig



Étape 3 - Configuration du Wi-fi access point : 1/5

On va commencer par configurer l'access point, qui va permettre au téléphone de se connecter à la Raspberry Pi. Cette dernière émettra un Wi-fi auquel les appareils mobiles pourront se connecter.

On commence par télécharger les updates et vérifier que le système est bien mis à jour pour ensuite installer deux logiciels.


  • Dans le terminal, écrire et entrer :

On installe les éventuels updates :

sudo apt update    

On installe les éventuels upgrades :

sudo apt upgrade    

Ça redémarre la Raspberry pour s'assurer que les updates s'activent :

sudo reboot
  • Installation de dnsmasq et hostapd: (dans le terminal écrire (et entrer)) :

Installation de Hostapd :

sudo apt install hostapd   

On s'assure le bon fonctionnement de Hostapd:

sudo systemctl unmask hostapd  
sudo systemctl enable hostapd    
sudo apt install hostapd
La commande suivante: "sudo nano _nom_du_fichier" permet l'écriture des fichiers stocké dans la raspberry pi.
Dans le terminal, écrire:

On renomme le fichier de configuration de base et on va travailler sur un nouveau:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig 

Création d'un nouveau fichier :

sudo nano /etc/dnsmasq.conf
  • Lorsque le fichier s'est ouvert, écrire les lignes suivantes :
interface=wlan0  # Listening interface
         
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h # Pool of IP addresses served via DHCP
  
 domain=wlan # Local wireless DNS domain   

 address=/#/192.168.4.1 #redirect all domains (the #) to the address 192.168.4.1 (the server on the pi)                 

Cliquer ensuite sur les touches [Control+O] puis [Enter] pour enregistrer, ensuite [Control+X] pour quitter.



Étape 4 - Configuration du Wi-fi access point : 2/5

Dans le terminal, écrire :

Modifications du fichier dnsmasq:

sudo nano /etc/default/dnsmasq
  • Dans le fichier qui s'est ouvert, écrire:

On s'assure que dnsmasq n’interfère pas avec les requêtes DNS locales faites à partir du Pi :

# do not overwrite /etc/resolv.conf so that local DNS still goes through


DNSMASQ_EXCEPT=lo

Cliquer ensuite sur les touches [Control+O] puis [Enter] pour enregistrer, ensuite [Control+X] pour quitter.

- Dans le terminal, écrire:

Modifications du

sudo nano /etc/dhcpcd.conf


- Dans le fichier qui s'est ouvert, écrire:

#interface wlan0

#   static ip_address=192.168.4.1/24

#   nohook resolv.conf, wpa_supplicant


Cliquer sur Control+O pour enregistrer et Control+X pour quitter


Remarques:

Le dernier on a écrit tout en comm car........

Étape 5 - Configuration du Wi-fi access point : 2/5

- Dans le terminal écrire:


sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

sudo nano /etc/dnsmasq.conf


- Dans le fichier qui s'ouvert, écrire:


interface=wlan0 # Listening interface

dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

                # Pool of IP addresses served via DHCP

#domain=wlan     # Local wireless DNS domain

#redirect all domains (the #) to the address 192.168.4.1 (the server on the pi)

address=/#/192.168.4.1

                # Alias for this router


- Cliquer sur Control+O pour enregistrer et Control+X pour quitter

- Dans le terminal, écrire :

sudo nano /etc/default/dnsmasq


- Dans le fichier qui s'est ouvert, écrire:

# do not overwrite /etc/resolv.conf so that local DNS still goes through

DNSMASQ_EXCEPT=lo


- Cliquer sur Control+O pour enregistrer et Control+X pour quitter

- Dans le terminal, écrire:

sudo nano /etc/dhcpcd.conf


- Dans le fichier qui s'est ouvert, écrire:

#interface wlan0

#   static ip_address=192.168.4.1/24

#   nohook resolv.conf, wpa_supplicant


Cliquer sur Control+O pour enregistrer et Control+X pour quitter


Remarques:

Le dernier on a écrit tout en comm car........

Étape 6 - Configuration du Wi-fi access point : 3/5

Dans le terminal, écrire:

sudo nano /etc/hostapd/hostapd.conf


Dans la fichier qui s'est ouvert, écrire:

interface=wlan0 driver=nl80211 ssid=Noms du wifi hw_mode=g channel=7 wmm_enabled=0 macaddr_acl=0 auth_algs=1 ignore_broadcast_ssid=0

# Remove the '#' in front of below lines to set a password 'Password' # wpa=2 # wpa_passphrase=Password # wpa_key_mgmt=WPA-PSK # wpa_pairwise=TKIP # rsn_pairwise=CCMP


- Dans la ligne "ssid = ___" mettre le nom du Wi-fi que l'on souhaite à la place de "Noms du Wifi"

-decommenter ligne par ligne en supprimant les hashtags devant chaque ligne si l'on veut mettre un mot de passe !

- Cliquer control+O et controle+X

- Dans le terminal écrire:


sudo nano /etc/default/hostapd


- dans le fichier qui s'est ouvert , écrire à la toute fin:


DAEMON_CONF="/etc/hostapd/hostapd.conf"


- Cliquer control+O et controle+X


Étape 7 - Configuration du Wi-fi access point : 4/5

Enfin, démarrez le système service de points d’accès hostapd et le serveur DHCP et DNS dnsmasq:

- Dans le terminal, écrire:


sudo systemctl unmask hostapd

sudo systemctl enable hostapd

sudo systemctl start hostapd

sudo systemctl restart dnsmasq

Étape 8 - Configuration du Wi-fi access point : 5/5

Checker le bon fonctionnement du Point d'accès Wi-fi:


- Dans le terminal taper :

sudo nano /etc/dhcpcd.conf


- Dans le fichier qui s'est ouvert, décommenter les trois dernières lignes en supprimant les hashtags devant

- sauvegarder et quitter

- Dans le terminal, écrire:


sudo reboot


- Au allumage une icône avec deux flèches bleus devrait s'allumer, et vous devriez être en mesure de pouvoir vous connecter au Wi-fi depuis votre téléphone!


Importante remarque et suite de l'étape:


Lorsque la point d'accès est activé la raspberry pi n'est pas connectée à internet, pour la suite du tuto l'on a encore besoin de télécharger un logiciel, nous allons donc désactiver le point d'accès pour l'instant et le réactiver plus tard:

pour cela commenter avec des hashtags les trois ligne d'avant!


Étape 9 - Implementation du portail captif 1/2

- Dans le terminal, écrire:

sudo apt install git libmicrohttpd-dev build-essential


- Dans le terminal écrire:


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

cd ~/nodogsplash

make

sudo make install


- Dans le terminal écrire:

sudo nano /etc/nodogsplash/nodogsplash.conf


- Dans le fichier qui s'est ouvert, écrire:


GatewayInterface wlan0

GatewayAddress 192.168.4.1

MaxClients 250

AuthIdleTimeout 480


- enregistrer et quitter

- dans le terminal, écrire:

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

modifier le truc en copiant collant

sudo reboot

Étape 10 - Implementation du portail captif 2/2

- Refaite l'étape de enlever les hashtags des trois dernières lignes dans :

en tapant de la terminal :


sudo nano /etc/dhcpcd.conf


->enlever les hashtags

- enregistrer et quitter

-dans le terminal:

sudo reboot


- dans le terminal:

sudo nodogsplash

Commentaires

Draft