Pi-Hole, un adblock, mais pour tout le réseau!

Personne n’aime la publicité, surtout sur les internets. Certaines personnes ont développé alors des extensions pour les navigateurs comme Ublock Origin pour contrer la pub qui est souvent mal utilisée sur les sites web (je te regarde Zone911.com).

Mais que faire quand tu es sur ton téléphone intelligent? Ton iPod? Ton Apple TV? Ta boite Android? Ton truc muche qui est connecté sur l’internet? Oui, il existe des applications du type Adblock, mais ce n’est pas très efficace (surtout que des sociétés paient Adblock pour afficher leurs publicités, c’est assez ironique).

J’ai découvert ceci dernièrement : Pi-Hole. C’est un logiciel roulant sous Linux (Oui! Désolé pour ceux qui ne sont pas admirateurs!) qui permet littéralement de bloquer la publicité depuis n’importe quel appareil connecté à internet dans un réseau local. Le principe de blocage se fait à partir de listes d’adresses (noms de domaines et sous-domaines) prédéterminées (mises à jour de façon régulière) en concert avec le service DNS. Pi-Hole ne prend pas beaucoup de ressources (512Mb de RAM, 1Go d’espace disque), car il a été conçu pour être utilisé sur les Raspberry Pi (d’où provient le logo!).

Pour faire simple. Voici comment ça marche en temps normal lorsque l’on veut naviguer sur internet (oui, je sais, c’est plus complexe que ça, mais je fais très simple):

Lorsque l’on tape une adresse web, un nom de domaine exemple google.com, dans un navigateur (Internet Explorer, Chrome, Firefox, Safari etc.). Une requête est envoyée au serveur DNS indiqué dans la configuration réseau pour traduire l’adresse (google.com) en adresse IP (dans ce cas-ci 172.217.13.142) et indique au navigateur quelle route prendre pour se rendre à la destination (serveur de google.com).

Navigateur : Hey salut serveur DNS, quelle est l’adresse IP de google.com?
Serveur DNS : Minute, je te donne ça : 172.217.13.142
Navigateur : Super merci pour l’info, je sais maintenant ou aller pour rejoindre google.com
Navigateur : *se connecte sur le site web et affiche le site web

Maintenant, avec Pi-Hole. C’est un peu le même principe, mais PI-Hole agit comme serveur DNS.

Navigateur : Hey salut serveur DNS (tient, tu es nouveau toi), quelle est l’adresse IP de google.com?
Serveur DNS Pi-Hole: Minute, je regarde dans la liste de site web bloqué si elle y figure. Non c’est beau, l’adresse IP est 172.217.13.142
Navigateur : Super merci pour l’info, je sais maintenant ou aller pour rejoindre google.com
Navigateur : *se connecte sur le site web et affiche le site web

Lorsqu’une adresse (exemple, une fenêtre de publicité) figure dans une des listes (qui peut être modifiable à souhait). Pi-Hole ne fait que rejeter la requête, alors ce qui est affiché à l’écran n’est qu’une fenêtre blanche minime. On s’entend que chaque publicité soit reliée à un domaine ou un sous-domaine. C’est le même principe.

Maintenant? Comment mettre ça en place? Je ne vous dirai pas comment faire, car plusieurs l’on fait avant moi. Mais voici un peu les étapes.

  1. Ça vous prend un serveur Linux! Ubuntu, Centos, Debian, Docker. Peu importe. Dans mon cas. J’ai pris la version la version LTS 16.04 Ubuntu installée comme machine virtuelle. La base à faire est de mettre une IP fixe et de changer le nom de la machine.
  2. Il faut installer Pi-Hole.
  3. Configurer le router de la maison pour dire aux périphériques qui utilise internet (ordinateurs, tablettes, téléphones, chromecast, firetv, etc..) de prendre le serveur DNS (soit l’IP qui a été configuré sur le serveur ). Si ce n’est pas possible de configurer le serveur DNS dans le router, configurer le serveur DNS manuellement. Au pire. Utiliser le serveur DHCP de Pi-Hole. 🙂
  4. Ajouter des listes et ajuste la liste blanche au besoin depuis l’interface web ou en ligne de commande. Exemple, on peut bloquer des sites/pubs pornos, des sites/pubs de malwares, etc.
  5. Profitez du monde de l’internet sans publicité!

Petites notes :

  • Seules les pubs en débutant une vidéo de YouTube ne sont pas bloquées, car elles utilisent le même nom de domaine.(alors si tu bloques youtube.com, tu bloques aussi YouTube…c’est logique)
  • Pi-Hole peut être utile pour les entreprises. Ça peut servir comme bloqueur de sites web et Anti-Malwares (si très bien configuré et surveillé) . Avec une simple machine ayant 512Mb, 250 clients peuvent être connectés sans soucis.
  • Vous pouvez installer et configurer OpenVPN et faire en sorte que votre configuration Pi-Hole vous suit partout.
  • Si vous avez un nom de domaine, vous pouvez configurer une connexion HTTPS au serveur admin en utilisant un certificat SSL de Let’s Encrypt. Dans mon cas, vu que mon fournisseur internet bloque le port 443 en entrée, j’ai dû utiliser la méthode de validation DNS. Comme on dit en bon québécois, c’est beaucoup de taponnage, mais l’important c’est d’apprendre et d’aimer ça!
  • Il est possible de désactiver temporairement Pi-Hole via l’interface web.
  • Plus besoin d’utiliser Adblock ou Ublock Origin!

Voici un peu à quoi ça ressemble (désolé, j’aime bien zone911, mais ils ont trop de pubs!) :

 

N’hésitez pas à me poser des questions sur le sujet! Toujours prêt à vous répondre! 🙂

1 commentaire

  1. Salut Jérémie,
    Si je ne me trompe pas un simple serveur DNS correctement configuré fait la même chose au niveau du black-listage, genre un Unbound ou Bind de ce monde est capable de le faire avec une lecture dynamique des fichiers de blocage.
    A+

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *