Pi-hole, le bloqueur de pubs via DNS

Marche sur tous types d'appareils !

La publicité sur Internet

Je ne vais pas en écrire des pavés, mais il y a plein de raisons pour bloquer la publicité sur Internet. D’une part parce que les sites n’ont aucune idée de ce qui s’affiche sur leurs pages et on dénombre pas mal de cas de malvertising. D’autre part, les publicités sont extrêmement lourdes et grignotent votre bande passante et votre forfait. Enfin, tout ce beau monde vous traque avec cookies et autres, alors qu’on a rien demandé. Comment faire pour éviter tout ça ?

Pi-hole, bloqueur de domaines

Logo Pihole

C’est là qu’intervient Pi-hole. Pi-hole est un résolveur DNS qui va bloquer certains domaines. De manière général, un résolveur DNS fonctionne de la manière suivante : quand on demande à accéder à www.duckduckgo.com, le résolveur va faire correspondre cette entrée texte à une adresse IP (176.34.155.23 en l’occurrence). Pi-hole va faire la même chose, sauf qu’il va bloquer tous les domaines publicitaires. Ainsi, lorsque l’on cherche à accéder à api.vungle.com (service de publicités vidéos), et bien Pi-hole répond que le site web est introuvable.

De nombreuses extensions existent pour bloquer la pub sur votre navigateur (AdGuard par exemple). Cependant cela ne bloque la pub que sur le navigateur, et le bloqueur peut être détecté. D’autre part, l’add-on doit avoir accès à l’intégralité de la page, ce qui n’est jamais totalement rassurant. Pi-hole a l’avantage de pouvoir bloquer la publicité sur toutes les applications et sur le réseau complet, et d’être open-source.

Installation

Pour utiliser Pi-hole chez vous, il vous faut un petit ordinateur - de préférence un Raspberry Pi, avec une carte SD d’au moins 8Go - pour faire tourner le service Pi-hole. J’ai utilisé mon Raspberry Pi B de première génération, qui prenait un peu la poussière. Ci-après, une installation pas-à-pas est décrite avec un Raspberry Pi et une Freebox.

Étape 1 : Installation de Raspbian

Commencez par télécharger le système d’exploitation Raspbian Strech, ainsi que l’utilitaire Etcher. Une fois téléchargés, insérez votre carte SD dans votre ordinateur et flashez votre carte SD à l’aide d’Etcher en choisissant comme fichier source le .zip de Raspbian.

Une fois cette étape terminée, insérez la carte SD dans le Raspberry Pi et branchez ce dernier. Suivez simplement les dernières étapes d’installation qui s’affichent. Prévoyez un peu de temps pour que le système se mette à jour.

Étape 2 : Installation de Pi-hole

Une fois Raspbian prêt, il est temps d’installer Pi-hole. Ouvrez un terminal, puis tapez la commande curl -sSL https://install.pi-hole.net | bash. L’installation de Pi-hole va se lancer.

Normalement, la seule partie où vous avez besoin de changer quelque chose est la partie Choix DNS :

Écran de choix des DNS

Écran de choix du DNS

Personnellement j’utilise Quad9 qui fonctionne bien.

À la fin de l’installation, n’oubliez pas de noter l’adresse IP de votre Raspberry Pi, ainsi que le mot de passe pour l’interface web.

Écran de fin

Écran de fin de l’installation

Étape 3 : Mise à jour de la Freebox

Désormais, il faut mettre à jour quelques options sur la Freebox. La première étape est de spécifier que le Raspberry Pi doit toujours avoir la même adresse IP. Si jamais votre Freebox redémarre, il faut être sûr que l’adresse du Pi ne change pas. Pour cela, allez dans votre espace Freebox OS, puis Paramètres de la Freebox > DHCP. Dans l’onglet Baux actifs, trouvez votre Pi puis clic-droit > Ajouter un bail statique. Désormais, votre Pi aura toujours la même adresse IP.

Enfin, toujours dans cette fenêtre, dans l’onglet Serveur DHCP, rentrez comme adresse Serveur DNS 1 l’adresse IP de votre Pi, et ne mettez rien dans les autres (important, sinon Pi-hole ne fonctionne pas !).

Étape 4 : Reboot général

Pour être sur que les changements s’appliquent, redémarrez la box, le Raspberry Pi et vos appareils.

Bonus : Vérifier sous Windows que le DNS est celui de Pi-hole

Si vous utilisez Windows, vous pouvez vérifier que le DNS utilisé est bien celui de Pi-hole en entrant la commande suivante : ipconfig /all et en vérifiant l’adresse du DNS :

Vérification DNS

Vérification DNS

Étape 5 : Naviguez sans publicité

Si tout s’est bien passé, vous pouvez désormais naviguez sans publicité dès que vous êtes connecté à votre réseau local.

Bilan après quelques semaines d’utilisation

Après deux semaines d’utilisations, je suis plutôt content de Pi-hole. Aucun soucis à remonter au niveau du Raspberry Pi, pas de soucis au niveau des DNS, etc. Ça ne remplace cependant pas complètement un AdBlock : certaines publicités peuvent encore passer (notamment sur YouTube), si jamais ces publicités sont hébergés par un domaine valide (par exemple les publicités YT sont hébergées directement sur YT). Un des gros avantages de Pi-hole est qu’il est indétectable par les sites que vous visitez. Ainsi, quand on me demande de désactiver mon AdBlock, je peux le faire sans soucis sachant que Pi-hole continue à tout bloquer. Enfin, ça fonctionne aussi pour mon téléphone lorsqu’il est sur le WiFi de ma box. La prochaine étape est d’avoir la fibre pour pouvoir router tout mon trafic à travers mon Pi-hole, où que je sois !