Menu Fermer

Filtrer la pub sur le web grâce au Raspberry Pi

Un RapberryPi en coopération avec le programme Pi-Hole permet de se protéger contre le Adware (publicités intempestives sur Internet).
C’est une solution intéressante car les RaspberryPi sont bon-marché, Pi-Hole est un logiciel libre (gratuit), la mise en œuvre en est facile et indépendante du système d’exploitation de l’ordinateur à protéger.
J’ai testé cette solution avec Knoppix version 8.2 (dernière version) et Windows 10 version1803.
C’est un plaisir pour les amateurs de RaspberryPi et un exercice instructif pour les autres.
Le principe est simple: Pi-Hole transforme le RaspberryPi en un serveur qui se situe entre le client (l’ordinateur à protéger et le routeur).
Ce serveur comporte une liste des sites Internet dangereux qui lui permet de bloquer les requêtes client destinées à ces sites.
Afin d’éviter de nombreuses captures d’écran, je fais dans la suite référence à la vidéo de démo:

, qui explique bien le principe et est très claire quant à la procédure de mise en œuvre. Pour les germanophones, ce n’est pas un problème. En tout cas, je donne les explications nécessaires pour comprendre la vidéo. Deux remarques cependant, dans l’exemple de la vidéo les adresses ipv6 ne sont pas activées et le client est une distribution Linux.
Je montre donc comment utiliser l’application avec un client Windows et d’autre part, puisque les adresses ipv6 sont activées par défaut dans Windows, le filtrage recherché ne se produirait pas. Si l’on veut juste essayer, il suffit de désactiver les adresses ipv6 dans le client Windows. Ce n’est évidemment pas raisonnable pour un usage prolongé (voir le site suivant: https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127).
On suppose maintenant que l’on part d’un RasperryPi équipé d’une carte SD avec le système d’exploitation Raspian configuré. Il faut de toute façon préparer une telle carte, car l’installation de Pi-Hole peut endommage les applications déjà présentes sur votre carte habituelle (pour les non-experts voir l’annexe 1). On peut configurer une liaison ethernet (câble) ou une liaison Wifi.
La mise en en œuvre comporte deux étapes:
L’installation du programme Pi-Hole sur la carte SD et sa configuration,
La configuration du client (ici Windows 10).

Pour l’installation, taper successivement dans le terminal les commandes:

sudo apt-get update
sudo apt-get upgrade
sudo -i
curl –sSL https://install.pi-hole.net | bash

Lorsque Pi-Hole est téléchargé, confirmer OK le nombre de fois nécessaire (3).

Choisir la connexion avec le routeur (câble ou Wifi). Puis sélectionner le serveur DNS à utiliser; vous pouvez utiliser celui de votre fournisseur d’accès Internet, mais Google est présélectionné et c’est un bon choix; donc confirmer ainsi que le choix des deux adresses Ipv4 et Ipv6. La fenêtre suivante vous donne l’adresse IP de votre RaspberryPi et celle de votre routeur dans le réseau local. Confirmer plusieurs fois, jusqu’à ce l’installation démarre. La fenêtre suivante vous donne les adresses Ipv4 et Ipv6 ainsi que le mot de passe qu’il est prudent de noter avant de confirmer. Si l’adresse Ipv6 n’est pas configurée, il faudra la confirmer manuellement (voir le site indiqué plus haut https://discourse.pihole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127 et l’annexe 2 pour le détail). Confirmer.

À l’invite suivante dans le terminal vous pouvez annuler l’utilisation du mot de passe en tapant:
pihole –a –p.

On peut alors vérifier que l’installation et la configuration de Pi-Hole est correcte en tapant dans le navigateur du client Windows:
« adresse IP du RaspberryPi/admin ».

Il faut maintenant configurer le client Windows 10.
Aller dans Paramètres, puis Réseau et Internet, Modifier les options router, Paramètres Wifi, ouvrir « protocole Internet ipv4 », sélectionner «Utiliser les adresses suivantes du serveur DNS»et renseigner avec l’adresse ipv4 du RaspberryPi (traductions imprécises à partir de l’allemand, donc à interpréter); faire la même chose pour l’adresse ipv6 et valider.
Procéderde la même manière pour les autres ordinateurs du réseau local si nécessaire. On peut aussi agir directement sur les paramètres du routeur.
Tester avec un site sans problème et un site à bloquer (par ex. coinhive.com).
C’est fini.

Annexe 1
C’est sans problème en suivant les conseils des sites :

https://www.raspberrypi.org/learning/software-guide/
https://www.raspberrypi.org/downloads/noobs/

Annexe 2
Si l’adresse ipv6 n’est pas configurée automatiquement, il faut le faire manuellement, en suivant l’une des alternatives proposées par ce site. J’ai choisi la première car on ne touche pas aux réglages du routeur.
On peut faire un diagnostic de l’installation en tapant dans le terminal : pihole –d
On constate que l’adresse ipv6 du RaspeberryPi n’est pas identique à celle inscrite dans setupVars.conf. On peut le vérifier en ouvrant ce fichier (cd /etc/pihole/setupVars.conf, soit à partir de l’interface graphique ou du terminal).
Aller dans le terminal en administrateur (sudo –i), puis dans setupVars.conf (cd /etc/pihole/) et ouvrir setupVars.conf avec nano (nano setupVars.conf), incrire l’adresse ipv6, puis mémoriser avec Control O et fermer avec Control X.
Vérifier que l’adresse a bien été inscrite et taper pihole –g dans le terminal.

C’est fini pour la configuration ipv6.

Autre commande utile : pihole –r pour réinitialiser l’installation de Pihole.

Article écrit par Jean-Michel Cannard publié par Mo