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

 
Line 3: Line 3:
 
|Main_Picture_annotation={"version":"3.5.0","objects":[{"type":"image","version":"3.5.0","originX":"left","originY":"top","left":-83,"top":-35,"width":1280,"height":853,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.57,"scaleY":0.57,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://wiki.lowtechlab.org/images/8/8c/Point_d_acc_s_et_portail_captif_sur_une_Raspberry_Pi-_Transmission_d_informations_dans_un_r_seau_ferm_2023-08-12_16.02.05.jpg","filters":[]}],"height":450.50847457627117,"width":600}
 
|Main_Picture_annotation={"version":"3.5.0","objects":[{"type":"image","version":"3.5.0","originX":"left","originY":"top","left":-83,"top":-35,"width":1280,"height":853,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.57,"scaleY":0.57,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://wiki.lowtechlab.org/images/8/8c/Point_d_acc_s_et_portail_captif_sur_une_Raspberry_Pi-_Transmission_d_informations_dans_un_r_seau_ferm_2023-08-12_16.02.05.jpg","filters":[]}],"height":450.50847457627117,"width":600}
 
|Licences=Attribution (CC BY)
 
|Licences=Attribution (CC BY)
|Description=<translate>Créer un point d'accès et portail captif sur une Raspberry Pi: transmission d'informations dans un réseau fermé</translate>
+
|Description=<translate>Créer un intranet (transmission d'informations dans un réseau fermé) via un point d'accès et portail captif sur une Raspberry Pi</translate>
 
|Area=Tools
 
|Area=Tools
 
|Type=Tutorial
 
|Type=Tutorial
Line 449: Line 449:
 
}}
 
}}
 
{{Notes
 
{{Notes
|Notes=<translate></translate>
+
|Notes=<translate>Document rédigé par Chiara Freneix</translate>
 
}}
 
}}
 
{{PageLang
 
{{PageLang

Latest revision as of 19:31, 5 November 2023

Tutorial de avatarchiara freneix | Categories : Tools

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!

Materials

  • 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.

Tools

Step 1 - Conseils

Pendant ce tutoriel il y a de grandes chances qu'il y ai une erreur inattendue qui ne figure pas su le tutoriel: pas de panique ! Le code d'un ordinateur est précis à l'espace et à la lettre près, et il nous arrive souvent de faire des fautes d'inattentions !


J'ai listé ici des petites remarques et tips suites à des erreurs qui me sont survenues!


  • Globalement, lorsqu'il y a une erreur ou une manipulation à faire, votre ordinateur vous le fait savoir! C'est important de bien lire ce qu'il s'affiche à l'écran lors d'erreurs et autres.
  • Le fautes plus récurrentes sont les fautes de frappe: il est fortement conseillé de prendre le temps de relire les commande et/ou les modifications apportées aux documents en cas d'erreurs. Une lettre manquante et ça ne fonctionne plus!
  • Hésitez pas à taper dans la barre de recherche de votre navigateur le message relatif à l'erreur / la commande que vous chercher à réaliser en précisant que vous êtes en train d'utiliser une raspberry pi: beaucoup de blog sont là pour vous aider!
  • Dans les documents que vous allez modifier via le terminal, faite bien attention à ne pas laisser de blancs avant la première lettre de la ligne, sinon le compilateur (soit la machine qui exécute votre code) ne vas pas être contente et ne vas donc pas faire fonctionner correctement la raspberry pi
  • Lorsqu'il y a une erreur, taper les commandes indiqué pour avoir plus de détails: il y a souvent écris le noms du fichier et la ligne ou se trouve l'erreur.

Step 2 - 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!

Step 3 - 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



Step 4 - Configuration du Wi-fi access point : 1/4

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    
Hésitez pas à taper la commande "sudo apt autoremove" dans le terminal si l'ordinateur vous invite à le faire : ça va enlever des fichiers non nécéssaire au bon fonctionnement de la Raspberry pi


Ç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 dnsmasq
La commande suivante: "sudo nano _nom_du_fichier" permet l'écriture des fichiers stocké dans la raspberry pi.

Il arrive que lorsque vous tapez la commande "install hostapd" il affiche une erreur. C'est que le programme a déjà installer, taper les commandes suivantes dans le terminal :

sudo unmask hostapd

sudo install hostapd

après cette derniere commande la raspberry devrait vous afficher un message comme quoi c'est déjà installer.


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.



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

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 fichier dhcpcd.conf

sudo nano /etc/dhcpcd.conf
  • Dans le fichier qui s'est ouvert, écrire à la toute fin:

On fait en sorte que l'adresse IP du serveur sur le réseau Wi-fi soit statique est fixe à 192.168.4.1

Il est possible d'allouer une autre adresse IP statique, d'autres modifications dans la suite de ce tutoriel seront nécessaires.

#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:

Les dernière modifications ont été écrite en commentaire (chaque ligne commence par un "#", car si une certaine manipulation n'est pas faite au préalable, lorsque l'on assigne une adresse IP fixe au raspberry Pi l'on a plus accès à internet or nous en avons encore besoin!

Step 6 - Configuration du Wi-fi access point : 3/4

  • 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
  • Remarque :

- 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 pour enregistrer et quitter!


  • 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 pour enregistrer et quitter
  • 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

Puis cliquer Entrer pour ainsi executer la commande, ensuite écrire toujours dans le terminal:

sudo systemctl enable hostapd

Puis cliquer Entrer pour ainsi executer la commande, ensuite écrire toujours dans le terminal:

sudo systemctl start hostapd

Puis cliquer Entrer pour ainsi executer la commande, ensuite écrire toujours dans le terminal:

sudo systemctl restart dnsmasq

Step 7 - Configuration du Wi-fi access point : 4/4

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, ce qui correspond à ces trois lignes : #interface wlan0 #static ip_address=192.168.4.1/24 #nohook resolv.conf, wpa_supplicant
  • Sauvegarder et quitter
  • Dans le terminal, écrire:
sudo reboot
  • Au rallumage 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:

-- DESACTIVATION HOTSPOT--


  • Dans le terminal écrire:
sudo nano /etc/dhcpcd.conf

ajouter des hashtags # devant les lignes où vous les avez enlever précedament, soit devant les trois dernières lignes:

interface wlan0

static ip_address=192.168.4.1/24

nohook resolv.conf, wpa_supplicant

  • Après avoir enregistré et quitté, dans le terminal écrire :


sudo service dnsmasq stop


sudo service hostapd stop


sudo systemctl daemon-reload


sudo systemctl restart dhcpcd


sudo reboot
  • Normalement, l'icône Wi-fi est revenue en haut à droite à la place des deux flèches bleues!


Step 8 - Implementation du portail captif 1/2

  • Dans le terminal, écrire et entrer:
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 à la toute fin:

GatewayInterface wlan0


GatewayAddress 192.168.4.1


MaxClients 250


AuthIdleTimeout 480
  • Enregistrer et quitter

Step 9 - Implementation du portail captif 2/2

  • On active l'hotspot wi-fi en re-éxecutant l'étape d'enlever les hashtags des trois dernières lignes dans

sudo nano /etc/dhcpcd.conf
  • enlever les hashtags devant les trois lignes suivantes qui se trouvent à la fin de votre fichier:

#interface wlan0

#static ip_address=192.168.4.1/24

#nohook resolv.conf, wpa_supplicant


  • enregistrer et quitter, dans le terminal écrire :


sudo systemctl daemon-reload


sudo systemctl restart dhcpcd


sudo service dnsmasq start


sudo service hostapd restart
  • Dans le terminal écrire :
sudo nodogsplash

Le portail captif est activé ! Testez dès maintenant son fonctionnement !


Remarque: Pour modifier l'apparence de votre portail captif, dans le terminal écrire :

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


Et ensuite, après avoir fait les modifications que vous voulez, avoir enregistrer et quitter, dans le terminal taper :

sudo reboot

Step 10 - Personnalisation du portail captif et désactivation

Vous venez de tester le portail captif avec comme apparence le modèle de base de "nodogsplash"


Vous pouvez modifier la page html à votre guise pour lui donner l'apparence que vous voulez !


Pour vous reconnecter à l'internet il suffit de suivre les commande dans l'étape 7 (Configuration du Wi-fi access point : 4/4) à partir de "--DESACTIVATION HOTSPOT-- jusqu'à la fin de l'étape.


Ici un très bon site ou apprendre comment écrire une page en html: https://www.w3schools.com/html/html_intro.asp

Notes and references

Document rédigé par Chiara Freneix

Comments

Draft