[RASPBERRY PI-1] MES USAGES
Actuellement j'utilise un Raspberry Pi headless signifiant qu'il fonctionne sans écran, ni clavier, ni souris branchés directement dessus. J'ai enfin fait le premier pas vers ce qu'on appelle carte de développement, et dans mon intranet, il servira à 2 principales fonctionnalités : Filtrage DNS et unité de stockage connecté à mon réseau.
📚 Sommaire
1. Pi-Hole — filtrage DNS
Mon objectif est de filtrer le trafic internet, afin de diminuer l'usage de ma bande passante par des éléments intrusifs (publicités, trackers, télémétrie, scripts d'analyse, beacons de tracking, domaines de malvertising) et découvrir un peu ce qui se passe avec les logs au niveau des URLs visitées.
Et donc j'améliore ma vision sur ce monde invisible !
Dans le contexte actuel de la gouvernance des données, où la vie privée est une question centrale (RGPD, LPD…), ce système offre deux bénéfices meta :
La confidentialité : Protèger less habitudes de navigation.
L’économie de données : Réduit la consommation d’internet — Écologique&Économique.
Nécessite les connaissances suivantes :
Comprendre l'UI WEB de Pi-Hole, savoir ce qu'est un DNS, notions de DHCP, gestion des listes de blocage (blocklists), lecture des graphiques de requêtes DNS, base de regex pour le filtrage avancé, bases de Docker (conteneur, image, volume, mapping de port, docker-compose).
Docs & logiciel utilisé :
- Accès web UI :
http://<ip-du-pi>/admin - Pi-Hole docs : https://pi-hole.net/
- Image Docker officielle : https://hub.docker.com/r/pihole/pihole
Lignes de commande bash par SSH (Pi-Hole en Docker)
Vérifier que le conteneur tourne :
docker ps: lister les conteneurs en cours (vérifier quepiholetourne).
Logs & diagnostic :
docker logs -f pihole: suivre les logs du conteneur en temps réel (équivalent dutail -f).docker exec pihole pihole -t: lancer le mode debug / diagnostic.
Ports & réseau :
cat docker-compose.yml | grep -A5 ports: source de vérité — voir le mapping de ports côté hôte (c'est là que se définit sur quel port tu accèdes depuis ton navigateur).docker port pihole: alternative dynamique — voir les ports effectivement publiés par le conteneur (ex.80/tcp -> 0.0.0.0:80).docker inspect pihole --format '{{.NetworkSettings.IPAddress}}': récupérer l'IP interne du conteneur.
Cycle de vie du conteneur :
docker restart pihole: redémarrer le conteneur (équivalent dusystemctl restart).docker compose -f /chemin/vers/docker-compose.yml up -d: (re)démarrer via compose.
2. Le deuxième usage, est la création d'un stockage connecté au réseau (NAS) :
Je souhaite rendre accessibles depuis mon réseau local 4 disques durs externes, et les gérer via mon navigateur web.
Pour cela, j’utilise un hub USB alimenté avec des interrupteurs par port : chaque disque peut être allumé ou éteint manuellement, c’est une solution simple et économique pour contrôler l’alimentation en fonction de mes besoins. Le hub sera connecté au Raspberry PI via un connecteur USB 3.
Et puisqu’ils sont connectés au réseau, je peux aussi les utiliser depuis n’importe quel appareil : ordinateur, netbook, smartphone… sans avoir à me déplacer ou à reconnecter physiquement les disques ! Pratique !!
Hardware :
4 disques durs externes , 1 hub USB alimenté par secteur, et Multiprise ergonomique : pour une gestion aisée du câblage, tout en restant organisé.
Nécessite les connaissances suivantes :
Cable management, SSH, Gestion utilisateur, File System (EXT4, NTFS, FAT), Partage SMB
Docs & logiciel utilisé :
OVM wiki : https://ovm.apache.org/wiki/index.html
Acces web ui : http://<ip-du-pi>:8080 (OpenMediaVault, hostname pi-genz.local)
Ligne de commande bash par ssh recommandées :
sudo mount -a: remonter tous les disques déclarés dans/etc/fstab(utile après rebranchage à chaud d'un HD).lsblk: lister les disques et partitions connectés (vérifier qu'un HD est bien reconnu).blkid: récupérer les UUID des partitions (pour alimenter/etc/fstabde façon stable).sudo nano /etc/fstab: éditer le montage automatique au boot (optionnofailrecommandée pour ne pas bloquer le boot si un disque est absent).df -h: voir l'espace utilisé/disponible sur chaque point de montage.sudo systemctl restart smbd nmbd: redémarrer le partage SMB après un changement de config.sudo omv-firstaid: outil de maintenance OMV (réinitialiser mot de passe web, réseau, etc.).testparm -s: valider la syntaxe de la config Samba.
Astuces et Automatisation :
Un des soucis, que j'ai observé, est la perte ou l'écrasement des configurations. Lorsque j'e redémarre le système, j'aimerais que tout fonctionne comme sur des roulettes. Chaque partage doit être utilisable sans interruption ou intervention d'un administrateur.
Donc on a une "automatisation" complète, au boot les services sont relancés.
Concrètement, Pi-Hole et OMV sont déclarés comme services systemd :
pihole-FTL.servicegère le filtrage DNS en arrière-plan,openmediavault-enginedlance l’interface de gestion du NAS., ...
Ces services démarrent automatiquement quand le Raspberry Pi boot, sans intervention manuelle. Les disques sont montés via /etc/fstab avec l'option nofail : si un disque est absent au boot, le Pi démarre quand même et le monte dès qu'il est rebranché (avec un sudo mount -a).
Résultat : Par exemple, en cas d'une simple coupure/retour de courant, le système se remet en service tout seul.
Port confusion 80 vs 8080 — pourquoi cette répartition ?
Quand on héberge plusieurs solution web, il faut faire attention à l'utilisation des ports. Par convention, le port 80 est le port HTTP standard (http://x.x.x.x sans préciser de port utilise le port 80).
Hors, j'ai deux applications sur le port 80 (Pi Hole, et OVM), et la solution de base c'est d'utiliser un port différent et libre pour l'autre application, ici le port 8080.
Pourquoi ? PArceque Pi-Hole utilise lighttpd sur le 80 pour servir sa page d'admin (/admin) et sa page de blocage — c'est l'usage "principal" du Pi sur le web.
OMV, lui, dans mon développement est arrivé en second, je n'avais pas prévu de l'installer : comme le port 80 était déjà pris par lighttpd, OMV a été configuré sur le port 8080 (port alternatif classique). C'est pour ça qu'on y accède avec :8080 explicite dans l'URL.
Si on inversait (OMV sur 80, Pi-Hole sur 8080), il faudrait taper http://x.x.x.x:8080/admin pour Pi-Hole, ce qui pour moi serait moins pratique au quotidien. Garder Pi-Hole sur 80 corrrespond à une URL plus courte pour l'outil que je consulte actuellement le plus souvent.
OMV n’est pas configuré pour utiliser HTTPS auto-signé (port 443 par défaut). Par contre, Pi-hole utilise déjà HTTPS sur ce port — et c’est tout simplement configuré via un fichier YML dans son environnement Docker.
Estimation de la consommation électrique
À retrouver sur /ici/article/estimation-consommation-raspberry-pi-nas
S'il en faut une, voici une conclusion
Mon Raspberry Pi, bien que physiquement petit (~5 cm × 3 cm), devient aujourd'hui un centre de contrôle sur mon réseau domestique :
Le Pi‑Hole agit comme la première ligne de défense contre le bruit publicitaire et donne aux utilisateurs une transparence totale.
Le NAS OVM, quant à lui, transforme quatre disques externes en partage SMB instantané, accessible depuis n'importe quel appareil du LAN. Le hub USB avec interrupteur par port permet en plus de couper l'alimentation des disques inutilisés, une économie d'énergie et d'usure mécanique sur les HD qui ne servent pas 24h/24.
Ces deux projets sont complémentaires : ils montrent que même un petit ordinateur peut offrir une solution complète (sécurité + stockage) sans recourir à des serveurs coûteux.
Bref, cela m'a permis d'apprendre l'usage de la ligne de commande, de consollider mes connaissances, et d'avoir un outil pratique au sein de mon intranet.
Tout cela repose sur de l'open-source (Wikipedia), et permet d'apprendre : le réseau, le filesystem, le partage, l'automatisation.