Pi-Hole, ou comment bloquer toutes les publicités chez soi

Vous connaissez certainement tous AdBlock ou UBlock, ces extensions de navigateur qu'on peut installer pour bloquer les publicités lors de notre navigation sur internet, qui sont parfois envahissantes ou sans aucun rapport avec le site sur lequel on se trouve.

AdBlock

Malheureusement, ces extensions ne peuvent être ajoutées que sur les navigateurs de nos PC. Les mobiles, les applications (aussi bien sur mobile que sur PC) ne sont, elles, pas concernées par le blocage de pub de ces extensions, et cela peut quand même nous donner une mauvaise expérience d'utilisation d'un service.

Et c'est là qu'entre en scène Pi-Hole !

Pi-Hole

Pour le présenter brièvement, Pi-Hole est un logiciel open-source (avec les sources disponibles sur github) qui se glisse entre Internet et TOUS vos périphériques sur votre réseau local, et qui permet de filtrer les requêtes DNS grâce à des listes pré-établies de domaines bloqués (comme le fait AdBlock). Cela permet donc même de bloquer les publicités là où ce n’est normalement pas possible (consoles de jeu, caméra IP connectées au cloud du fabricant, applications mobiles, etc).

L'installation

Pi-Hole peut être installé sur n'importe quel matériel, du moment qu'il accepte une des distributions Linux suivantes : Debian, Ubuntu, Fedora, CentOS ou encore Raspbian. Il ne demande que peu de ressources (environ 52 MB d'espace disque et 512 MB de RAM) et peut donc être installé sur un Raspberry (toute version, le Pi 1 ou le Pi Zero peuvent convenir) ou une machine virtuelle. En effet, pour résumer, Pi-Hole ne fait que rediriger les requêtes des serveurs publicitaires vers une page blanche.

De mon côté, j'ai préféré utiliser un Raspberry Pi Zero W qui traînait dans un tiroir, et vous verrez que c'est suffisant. A l'issue de mon test et si cela me paraît concluant, le Pi Zero sera probablement remplacé par un Raspberry Pi classique, histoire qu'il soit branché en filaire, ce qui est mieux pour un service réseau.

Pour commencer, gravez la dernière version de Raspbian Lite sur la carte microSD.
Un petit coup de sudo raspi-config pour activer le SSH et configurer la langue et le wifi, tout en n’oubliant pas de modifier le password de l’utilisateur pi, et on peut démarrer :

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

Il faut ensuite répondre à quelques questions, notamment sur la configuration réseau (il faut une adresse IP fixe obligatoirement), les logs, ... Le mieux est de laisser les choix par défaut pour le moment. Pour le choix du résolveur DNS, plusieurs vous sont proposés, dont ceux de Google (les plus connus), ceux d'OpenDNS (non-menteur), et Quad9 (le petit nouveau, public et surtout accessible de manière sécurisée et sans log). J'ai fait le choix de Quad9 (à prononcer "Quoi de neuf").

A la fin de l'installation, on retrouve un résumé, avec notamment l'adresse IP à utiliser en tant que serveur DNS dans la configuration de ses périphériques, ou encore le mot de passe de l'interface d'administration, joignable sur l'URL http://pi.hole/admin.

Interface d'administration Pi-Hole

Vous avez maintenant le choix de configurer manuellement sur chacun de vos PC, smartphone, ... le serveur DNS à utiliser, en indiquant simplement l'adresse IP du serveur ou Raspberry sur lequel vous l'avez installé.

Sur Windows, il vous suffit d'aller dans le Panneau de configuration, puis Réseau et Internet, Centre Réseau et partage, et choisir de Modifier les paramètres de la carte.
Il vous suffit ensuite de faire un clic droit sur la carte réseau, et d'aller modifier les propriétés pour renseigner l'adresse IP de votre résolveur DNS local.
Sélectionner « Protocole Internet Version 4 (TCP/IPv4) » et cliquez sur Propriétés.
Choisir d' « utiliser l'adresse de serveur DNS suivante »
Sauvegarder et quitter, et c'est tout !

Sauf que là, on a configuré seulement notre PC !

Une manière plus rapide de le propager est de le configurer au niveau du routeur ou de la box internet quand c'est possible, ce qui vous permettra d'en fait profiter plus facilement tous les périphériques connectés à votre réseau local, solution à préférer quand on le peut ! (si ce n'est pas le cas, c'est peut-être l'occasion de passer sur un vrai routeur, comme le TP-Link Archer C7 ou le Asus RT-AC68)

A partir de ce moment, j'ai désactivé AdBlock sur mon navigateur, et ai configuré l'adresse IP du Raspberry hébergeant Pi-Hole en tant que serveur DNS à utiliser. Je verrais bien à l'usage la différence et l'efficacité ou non de Pi-Hole.

Sinon, oui, certains sites utilisent les publicités pour se financer ! Et avec l'avènement d'internet, la multiplication des sources d'information, on peut comprendre que pour continuer d'exister, pour payer leurs salariés, pour payer les serveurs et autres services leur permettant de fonctionner, ces sites DOIVENT se financer, et la publicité est un des moyens permettant d'y arriver. Il est bien évidemment possible de dresser une liste blanche des sites pour lesquels on autorise les publicités, parce qu'on souhaite les soutenir, tout comme vous aurez la possibilité d'ajouter des URLs de sites à bloquer complètement.

En complément de bloquer les publicités, Pi-Hole permet également de loguer tout ce qui transite par lui, et donc vous pourrez vérifier ce que font vos enfants sur Internet, ou leur bloquer certains sites que vous juges inadaptés !

Je reviendrais d'ici quelques jours / semaines pour agrémenter cet article de mon expérience et vous partager mon avis sur cette solution.

Guillaume

Ingénieur dans l'informatique passionné par la domotique, les nouvelles technologies, le Web et toutes les innovations dont ce dernier regorge.

Paris