Il existe de nombreuses raisons de configurer un Raspberry Pi comme un NAS : son coût, sa faible consommation, sa compacité, sa portabilité, sa configuration facile. On en parle en détail aujourd'hui.
C'est une réalisation intéressante dans un cadre privé. Elle est peut-être ambitieuse, mais permet un bon apprentissage très utile.
Je vous propose de vous détailler cela en deux articles.
1. Présentation du projet.
Le Raspberry Pi est un nano-ordinateur mono carte à processeur ARM.
Cet ordinateur, de la taille d'une carte de crédit, est destiné à encourager l'apprentissage de la programmation informatique. Alors allons-y.
Que va-t-on faire avec ce mini-ordinateur ?
Installer à petit prix une espèce de petit serveur de stockage en réseau.
Disposer d’un micro-ordinateur qui consomme peu d’énergie et que l’on peut laisser tourner sans problème.
Disposer d’un peu de mémoire. Ce sera une carte micro SD (pour l’OS) et par exemple une clé USB (pour le stockage).
Bien sûr, installer un OS adapté, ce sera Raspbian (version de Linux adapté de Debian).
Avoir la possibilité de partager des fichiers avec ce micro-ordinateur, l’intégrer à son réseau local. Ce sera avec Samba.
Utiliser ce micro-ordinateur pour contrôler facilement les DNS utilisés dans le réseau local (contrôler la pub entre autres). Ce sera avec Pi-Hole qui jouera en plus le rôle de serveur d’adresse locale.
Utiliser un VPN pour se connecter depuis Internet au réseau local. Ce sera avec le serveur Pi-VPN.
Nous allons voir cette réalisation pas à pas.
Je ne suis pas du tout un spécialiste de Linux ni des réseaux. J’essaie simplement de montrer et de partager ce que j’ai pu réaliser en piochant un peu de doc.
2. Matériel.
Ce que j’utilise :
Raspberry Pi modèle 3B+
Alimentation 2,5 A, avec interrupteur (c’est mieux)
Boîtier plastique (ici transparent) + radiateurs + ventilateur
Mémoire micro SD classe 10 capacité 32 Go (16 Go suffiraient)
Clé USB 32 Go pour stocker les données (ou tester)
Temporairement pour l’installation et un usage local : écran (connexion Hdmi), souris (Usb), clavier (Usb).
On peut trouver le matériel nécessaire pour environ 80 €
Ports et connexions disponibles :
Prise réseau Ethernet RJ45, module Wifi (dont je ne me servirai pas ici)
Plusieurs ports USB2, prise alimentation micro USB, connecteurs série
Prise écran Hdmi
3. Installation de l’OS Raspbian Stretch.
Un RPi (Raspberry Pi) est un vrai ordinateur malgré sa petite taille. Il a donc besoin de logiciels pour fonctionner, et en particulier d’un système, OS.
Nous allons installer ce système sur la carte micro SD. Ceci se passe sur PC.
Formatez la carte micro SD sur PC, aucune donnée ne sera gardée (facultativement on peut utiliser l’outil SD Card Formater).
- Téléchargez la dernière version, complète avec interface graphique, de l’OS Raspbian Stretch en cliquant sur la capture ci-dessous :
Mise en place de l’OS sur la carte micro SD.
- Le téléchargement donne un fichier xx.zip, image compressée de l’OS :
En fait nous allons voir qu’il est inutile de décompresser au préalable l’image xx.img de l’OS. Elle est directement récupérée dans le fichier xx.zip.
- Le fichier image est à installer facilement sur la carte MicroSD à l’aide de l’outil portable Balena Etcher sur PC Windows ou Linux, à télécharger en cliquant sur la capture ci-dessous :
- Ici sur Linux après décompression on peut lancer directement le fichier xx.appimage, idem sur Windows si on choisit « portable » on obtient un fichier xx.exe directement exécutable.
On peut aussi utiliser l’image allégée de la version Raspbian Stretch Lite, sans interface graphique et sans logiciels, plutôt réservé à des personnes expérimentées.
On peut également utiliser d’autres outils pour installer l’image récupérée (par exemple Win32DiskImager).
Avec le fichier image et le logiciel Etcher on installe l’OS sur la micro SD connectée au PC.
- En 3 clics, très facilement.
- Au bout de quelques minutes :
- Contenu de la micro SD :
On peut voir sous Linux les 2 partitions créées. Sous Windows on ne voit que la partition Boot, formatée en fat 32, l’autre est formatée en ext 4 que Windows ne reconnaît pas. Ces partitions n’occupent pas tout l’espace disponible, on pourra ultérieurement et facultativement étendre ces partitions (par exemple avec Gparted) mais c’est en principe automatique.
On peut éjecter la micro SD et passer à l’étape suivante.
4. Demarrage du RPi.
Je ne décrirai pas le montage et les branchements ultra simples.
Dans un premier temps nous brancherons une souris, un clavier, un écran, le câble réseau.
Il convient maintenant de mettre la carte micro SD en place et de démarrer le RPi.
Je ne sais pas faire de copie écran pendant cette installation sur le RPi, je prendrai quelques photos (un peu floues) de l’écran.
L’installation agrandit la place utilisable à toute la micro SD, c’est automatique au démarrage.
Avec l’interface graphique on n’a pas besoin de mot de passe pour démarrer.
- Quelques images de l’installation assez intuitive.
- Après le pays et la langue on rentre et on confirme le mot de passe (pas trop long et facile à taper dans l’immédiat pour faciliter les tests).
- Ici je ne change rien.
- Comme je n’utiliserai pas le Wifi je clique sur Skip.
- C’est mieux de mettre à jour tout de suite, donc Next.
- Le système est à jour. Ça y est nous sommes dans l’interface graphique de Raspbian.
***
5. Interface graphique Raspbian.
Bien sûr, elle est visible et manipulable avec du matériel adapté branché directement sur le RPi (écran, souris, clavier).
Cette interface démarre sans MDP sur le RPi en direct.
Quelques logiciels sont installés (VLC, LibreOffice…), on peut en installer d’autres, par exemple Gparted.
On peut lancer l’outil de configuration à partir de Préférences.
6. Réseau local.
Il est nécessaire d’attribuer au RPi une adresse locale IP fixe, (j’ai choisi 192.168.1.130 par exemple).
Ceci est d’ailleurs recommandé pour tout matériel connecté habituellement à son réseau local.
Il y a certainement plusieurs façons d’attribuer une adresse IP locale fixe, mais je pense qu’en configurant son routeur Box c’est assez facile.
Nous aborderons un peu le paramétrage du routeur Box plus loin. Je vous y renvoie.
Je rappelle ici que tout matériel connecté à son réseau local a soit une adresse fixe, soit une adresse IP locale variable donné par le serveur DHCP du réseau local, en principe le routeur Box. Une fourchette d’adresses locales distribuées doit être définie.
Les adeptes de Linux préféreront peut-être lancer dans un terminal du RPi la commande :
sudo ifconfig eth0 up <adresseIPlocale_RPi>
7. Connection SSH au RPi (Raspbian).
SSH (pour Secure SHell) désigne à la fois un logiciel et un protocole de communications informatiques. Ce protocole possède par ailleurs la particularité d’être entièrement chiffré (sécurisé).
SSH permet de se connecter à distance sur une machine en utilisant un compte utilisateur de la dite machine. Ce mode de connexion me paraît indispensable.
Cette connexion n’est pas graphique. Elle est possible dans le réseau local depuis un PC Linux en ouvrant un terminal ou depuis un PC Windows avec l’outil PuTTY.
Elle est implémentée dans Rapsbian, mais il faut l’activer au départ. On va le faire directement dans l’interface graphique du RPi.
- Préférences > Configuration > Interfaces :
Ensuite je montre la manip sur PC Linux et sur PC Windows.
Dans un terminal d’un PC Linux du réseau local, on peut lancer la connexion SSH avec ssh <utilisateur>@<adresseIPlocale_RPi>
L’utilisateur est ici pi, tant qu’on ne l’a pas changé. Mettre ensuite le mot de passe que l’on a rentré dans la configuration de départ de Raspbian.
- Sur l’image on voit aussi l’adresse IP locale du PC utilisé et la commande tapée (accès à la configuration).
Si on a sur le PC un texte (par exemple celui d’une commande) on peut le recopier dans le terminal par « CTRL+Maj+V », équivalent du « CTRL+V ».
Sur un PC Windows du réseau local c’est à peine plus compliqué la première fois, après c’est plus facile.
- Il faut télécharger l’outil PuTTY en cliquant ci-dessous :
- On lance l’installation tout à fait classique et on obtient la fenêtre suivante où l’on remplit l’IP locale du RPi et si l’on veut on fait Save pour la mémoriser.
Donc on obtient une fenêtre comme un terminal Linux où l’on tape l’utilisateur est ici pi, tant qu’on ne l’a pas changé.
Mettre ensuite le mot de passe que l’on a rentré dans la configuration de départ de Raspbian (invisible).
- On voit ici aussi l’adresse IP locale du PC utilisé.
En SSH on est sur un PC que l’on connaît et qui est facile d’accès tout en commandant le RPi, sans interface graphique, sans écran, sans souris, sans clavier.
On peut par exemple comme sur un terminal Linux :
configurer Raspbian (de la même façon que ci-dessus)
sudo raspi-config
mettre à jour Raspbian
sudo apt update && sudo apt upgrade
nettoyer son système et libérer de l’espace disque
sudo apt autoremove
sudo apt autoclean
sudo apt clean
modifier le mot de passe
passwd
ouvrir un fichier dans l’éditeur de texte
nano example.txt
redémarrer le RPi
sudo shutdown -r now ( r pour reboot)
arrêter le RPi
sudo shutdown -h now (h pour halt)
sortir du SSH
exit
et puisque on y est Touche HAUT↑ pour afficher la dernière commande entrée
Dans ce qui suit « terminal RPi » désigne indifféremment
« terminal de l’interface graphique du Rpi »
« terminal du PC Linux connecté en SSH au RPi »
« fenêtre du PC Windows connecté en SSH au RPi à l’aide de PuTTY »
8. Stockage des données Branchement Configuration.
Le système du RPi étant installé sur une carte SD, la mémoire de stockage est, de ce fait, relativement limitée.
Nous allons donc ajouter un espace supplémentaire en y intégrant notre clé connectée en USB de 32 Go (ou si nécessaire un disque dur, autoalimenté ou pas selon sa consommation électrique) que l’on branche sur un port USB du Raspberry.
- Identification.
La première chose à faire c’est d’obtenir le nom qui a été attribué au matériel que nous venons de connecter.
Dans un terminal RPi on tape la commande :
dmesg
Ou peut-être mieux
sudo fdisk -l
- Regardez sous Device Boot.
Le nom attribué à notre clé USB est sda1 ou /dev/sda1
Ensuite chaque périphérique branché sera incrémenté comme suit : « sdb1 », « sdc1 », le chiffre correspondant au numéro de partition sur le périphérique. C’est ici le système Linux.
- Formatage.
Le périphérique doit être formaté avec un système de fichier Linux (en principe ext4).
Au préalable il doit être démonté (désactivé).
(Le fait qu’il ait été monté automatiquement par Raspbian lors de la connexion nous empêche de modifier les droits de consultation et modification du disque. À voir)
Nous allons utiliser les commandes suivantes dans un terminal RPi pour démonter puis formater la mémoire
umount /dev/sda1
sudo mkfs.ext4 /dev/sda1
On crée par ailleurs un répertoire d’accueil (du montage) dans lequel apparaîtront les données de notre clé USB, ici MONNAS dans /home/partage/. Nous sommes dans Linux.
Le répertoire partage est facultatif, les répertoires partage et MONNAS peuvent être librement nommés, ils peuvent aussi se trouver ailleurs que dans /home, par exemple dans /media.
sudo mkdir /home/partage
- sudo mkdir /home/partage/MONNAS
- Montage.
Maintenant il faut remonter la clé USB dans ce répertoire.
Nous allons utiliser la commande suivante, toujours dans un terminal RPi.
sudo mount /dev/sda1 /home/partage/MONNAS
- On peut vérifier le résultat dans l’interface graphique, facultatif, comme ceci :
- Droits d’accès.
Les droits d’accès sont un point délicat, mais fondamental comme sur tout système informatique.
On donne à tout le monde les droits d’écritures sur la clé USB, donc sur MONNAS avec la commande :
sudo chmod 777 -R /home/partage/MONNAS
On peut aussi connaître les droits dans l’interface graphique (clic droit, Propriétés onglet Droits).
Ensuite nous allons créer, dans le dossier MONNAS, 3 dossiers auquels on donnera des usages et donc des autorisations différentes.
Perso accès avec ID/MDP (identification)
Media accès sans identification (anonyme) mais en lecture seule, modifiable juste par nous administrateur
Public accès public (pas d’identification) en lecture, écriture, modification
On crée ces 3 dossiers simplement en utilisant l’interface graphique ou un terminal RPi.
sudo mkdir /home/partage/MONNAS/Public
sudo mkdir /home/partage/MONNAS/Media
sudo mkdir /home/partage/MONNAS/Perso
-
Montage au démarrage.
Comme nous n’avons pas envie d’utiliser la commande mount à chaque démarrage, nous allons l’automatiser.
On va éditer le fichier « fstab » avec précautions dans l’éditeur de Linux nano : sudo nano /etc/fstab
En fin de ce fichier on écrit la ligne suivante (attention aux noms du périphérique et du dossier dans lequel il doit être monté) :
/dev/sda1 /home/partage/MONNAS auto noatime,nofail 0 0
Commandes dans l’éditeur nano :
Pour sauvegarder les modifications faites “Ctrl + O”
On valide par « ENTER » sur le nom du fichier.
Pour quitter l’éditeur faites “Ctrl + X”.
On redémarre le Raspberry en tapant dans un terminal de RPi : sudo shutdown -r now
Il ne manque plus que Samba pour utiliser notre stockage en réseau.
Là on peut se servir du RPi comme d’un ordinateur (petit) avec quelques programmes intéressants.
Voilà, c'est la fin de la première partie.
La suivante arrivera prochainement.
Ginbi2.
Lien sponsorisé
***
Les autres articles de Ginbi2
SOSPC c'est plus de 2000 articles,
Rejoignez la Communauté à partir de 2 € par mois !
Plus d'infos sur les avantages en cliquant ICI.
Christophe, Administrateur