Pi-Hole : bloquer toutes les pubs internet sur votre réseau

Il existe de nombreux logiciels et plugins pour bloquer les pubs, mais si vous voulez les mettre en place sur tous vos objets connectés au web vous aurez besoin soit de trouver ces programmes pour chacun de vos périphériques, soit d’une alternative. C’est là qu’intervient Pi-Hole en effectuant un filtrage directement entre votre box et votre Raspberry.

Pi-Hole va assurer le rôle de serveur DNS grâce à Dnsmasq et des fichiers texte contenant des domaines bloqués pointant vers 0.0.0.0 (une adresse non routable). En sorte c’est un bon vieux DNS menteur. Plutôt que d’utiliser votre box/routeur comme DNS il faudra que toutes vos machines pointent vers Pi-Hole pour la résolution IP.
Cela permet même de bloquer les publicités là où c’est normalement pas possible (console de jeu, camera IP connectée au cloud, etc).

Dans mon cas, la mise en place a été extrêmement simple car je disposais déjà d’un Raspberry sur mon réseau … Mais des tutos d’installation sont disponibles un peu partout sur le net. De plus, Pi-Hole peut s’installer de manière générale sur les distributions basées sur Debian : Raspbian,  Kali, Ubuntu, etc…

Je vais traiter du cas Raspberry ici mais les commandes sont les mêmes pour les autres distributions …

Prérequis :

  • Raspbian installé sur votre Raspberry Pi
  • Avoir votre Raspberry connecté au réseau local
  • Avoir une IP fixe sur le Raspberry
  • Connaître l’IP de sa box

Installation :

L’installation est simplissime car il suffit de se connecter en SSH sur le raspberry et de simplement lancer la commande suivante :

Le script d’installation se lance et vous devez répondre à quelques questions.

on me demande de choisir un fournisseur DNS dans une liste de fournisseurs de DNS publics, j’ai sélectionné OpenDNS :

Les questions suivantes sont basiques ….

 

Bien noter le password donné à la fin de l’installation qui vous permettra de vous connecter sur l’interface d’admin !

 

Voilà ! Pi-Hole est désormais actifs sur votre réseau … Il suffit de se connecter sur l’URL : http://Ip_du_Raspberry/admin pour obtenir un beau dashboard :

Configuration Pi-Hole

Les commandes :

 

# pihole –help
::: Control all Pi-hole specific functions
:::
::: Usage: pihole [options]
:::        Add -h after -w (whitelist), -b (blacklist), -c (chronometer), or -a (admin) for more information on usage
:::
::: Options:
:::  -w, whitelist            Whitelist domain(s)
:::  -b, blacklist            Blacklist domain(s) (exact match)
:::  -wild, wildcard          Blacklist whole domain(s) (wildcard)
:::  -d, debug                Start a debugging session
:::                             Automated debugging can be enabled with ‘-a’.
:::                             ‘pihole -d -a’
:::  -f, flush                Flush the ‘pihole.log’ file
:::  -t, tail                 Output the last lines of the ‘pihole.log’ file. Lines are appended as the file grows
:::  -up, updatePihole        Update Pi-hole components
:::  -r, reconfigure          Reconfigure or Repair Pi-hole
:::  -g, updateGravity        Update the list of ad-serving domains
:::  -c, chronometer          Calculates stats and displays to an LCD
:::  -h, help                 Show this help dialog
:::  -v, version              Show installed versions of Pi-hole and Web-Admin
:::  -q, query                Query the adlists for a specific domain
:::                             ‘pihole -q domain -exact’ shows exact matches only
:::  -l, logging              Enable or Disable logging (pass ‘on’ or ‘off’)
:::  -a, admin                Admin webpage options
:::  uninstall                Uninstall Pi-hole from your system! 🙁
:::  status                   Display if Pi-hole is Enabled or Disabled
:::  enable                   Enable Pi-hole DNS Blocking
:::  disable                  Disable Pi-hole DNS Blocking
:::                             Blocking can also be disabled only temporarily, e.g.,
:::                             ‘pihole disable 5m’ – will disable blocking for 5 minutes
:::  restartdns               Restart dnsmasq
:::  checkout                 Check out different branches

Changer le mot de passe

Se connecter en ssh et utiliser la commande :

Mettre à jour Pi-Hole

Se connecter en ssh et utiliser la commande :

ex:

Afin d’être à jour en permanence le mieux est de passer cette commande dans un cron

on créé un script dans le répertoire /etc/cron.daily ( script trouvé ici : https://pastebin.com/ZDhgQ2be )

« pihole -g » permet de mettre à jour les listes

« pihole -up » permet de mettre à jour Pi-Hole

 

On ajoute les droits d’execution au script avec un :

 

Et notre pi-Hole se mettra à jour tous les jours …

 

Configuration sur le réseau

Une fois cela fait, il ne reste plus qu’à configurer vos appareils pour qu’il puisse utiliser le Pi-Hole en tant que serveur DNS sinon l’intérêt est plus que limité 😆 .

Pour cela plusieurs méthodes en fonction de la configuration de votre réseau.

Pour ma part toutes les adresses IP de mon réseau sont fournies par un serveur DHCP sur Synology et si j’ai besoin d’adresse fixe je configure ce même DHCP pour une réservation d’adresse avec l’adresse MAC. Donc il me suffit de modifier la configuration DHCP de mon serveur pour qu’il utilise le Raspberry Pi-Hole en tant que serveur DNS primaire, et hop ! le tour est joué ! Tous mes appareils ( PC, NAS, Tablette, smartphone, etc … )  feront des requêtes DNS sur le Pi-Hole 😎

Le principe est le même dans le cas d’une box ( Livebox, Freebox, etc … ). Il faut se rendre sur la configuration du serveur DHCP et remplacer le serveur DNS par l’adresse du Pi-Hole.

Paramétrage des DNS sans passer par une box ou serveur DHCP :

Sous Linux :

  • Settings > Network Connections
  • Sélectionnez la connexion puis Edit
  • Sélectionnez IPv4 Settings ou IPv6 Settings selon ce que vous utilisez
  • Si la méthode utilisée est « Automatic (DHCP) », ouvrez le menu et sélectionnez « Automatic (DHCP) addresses only ».
  • Remplacez les adresses par l’IP du Raspberry Pi-Hole
  • Sauvegardez

Sous Windows :

  • Clic droit sur le bouton démarrer > Panneau de configuration
  • Réseaux Internet > Centre réseaux et partage
  • Panneau latéral gauche > Modifier les paramètres de la carte
  • Sélectionnez votre connexion
  • Clic droit > Propriétés
  • Double clic sur Protocol Internet Version 4 (TCP/IPv4) ou Protocol Internet Version 6 (TCP/IPv6) selon ce que vous utilisez
  • Sélectionnez Utiliser l’adresse de serveur DNS suivante
  • Rentrez l’IP du Raspberry Pi-Hole
  • Redémarrez votre connexion ou ordinateur

 Sous Mac OS X :

  • Apple > Préférences Système > Réseau
  • Sélectionnez votre connexion
  • Avancé > Serveur DNS
  • Remplacez l’adresse par l’IP du Raspberry Pi-Hole
  • Appliquer

 

Conclusion

Pi-Hole est une solution gratuite et très facile à mettre en place. Bien sûr ce n’est pas l’arme ultime car certaines publicités continuent de passer mais dans la grande majorité elles sont effectivement bien bloquées.

{lang: 'fr'}

Vous pouvez suivre les réponses sur ce post sur le flux RSS 2.0.

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">