Pi-hole est un sinkhole DNS qui bloque publicités et traqueurs pour tous les appareils de votre réseau à la fois, pas seulement dans un navigateur. Il intercepte les requêtes DNS de vos appareils avant le chargement d’une page, vérifie chaque domaine demandé face à des listes de blocage, et refuse de résoudre ceux qui correspondent : l’appareil n’obtient jamais d’adresse où aller chercher la publicité. Malgré son nom, Pi-hole n’a pas besoin d’un Raspberry Pi : il tourne sur n’importe quelle machine Linux allumée en permanence, mini PC, NAS ou hôte Docker. La faible consommation du Pi explique simplement pourquoi le nom est resté.
D’où vient Pi-hole
Le développeur Jacob Salmela a créé Pi-hole en 2014 comme alternative open source à AdTrap, un boîtier commercial de blocage de publicités, en le faisant tourner sur un Raspberry Pi surtout parce que c’était le matériel bon marché et toujours allumé qu’il avait sous la main. Pi-hole 2.0 est arrivé en 2015, et dès 2017 le projet a déposé « Pi-hole » comme marque aux États-Unis. Il est toujours développé par une petite équipe majoritairement bénévole, financée par les dons et via GitHub Sponsors.
Licence : Pi-hole Core est distribué sous licence EUPL-1.2 (European Union Public License), confirmée directement depuis le fichier LICENSE du dépôt GitHub pi-hole/pi-hole, et non déduite d’un simple badge. L’EUPL est une licence copyleft de la même famille que la GPL, avec laquelle son texte la déclare compatible. Pour une installation personnelle non modifiée, ses obligations de partage ne s’appliquent pas : elles se déclenchent seulement si vous redistribuez le logiciel à des tiers.
En bref : Site officiel pi-hole.net · GitHub pi-hole/pi-hole, 59 800+ étoiles · Version actuelle v6.4.3 · Image Docker pihole/pihole
Comment le sinkhole DNS bloque vraiment les publicités
Chaque appareil de votre réseau demande déjà à un serveur DNS « quelle est l’adresse IP de ce domaine ? » avant de charger quoi que ce soit. Pointez cette requête vers Pi-hole plutôt que vers le résolveur de votre FAI, et son moteur FTLDNS, un daemon qui encapsule un dnsmasq modifié, vérifie chaque requête face à vos listes de blocage avant de répondre. Une correspondance renvoie une réponse en cul-de-sac ; tout ce qui n’est sur aucune liste part vers votre résolveur amont configuré, Cloudflare, Google, Quad9 ou votre FAI, puis reste en cache pour la prochaine fois.
Comme cela se passe au niveau du réseau plutôt que dans un navigateur, ça atteint des appareils qu’un bloqueur classique ne peut pas toucher : télés connectées, consoles de jeu, gadgets IoT. Encore faut-il pointer les appareils vers Pi-hole, via le DHCP du routeur pour tout le réseau d’un coup, ou manuellement appareil par appareil. Pi-hole peut aussi faire tourner son propre serveur DHCP si le routeur ne permet pas de forcer le DNS, mais cela lui confie alors aussi la responsabilité des adresses IP, pas seulement des domaines.
Installer Pi-hole avec Docker
Docker est la façon la plus rapide de faire tourner Pi-hole, et le projet maintient sa propre image. Un fichier compose minimal :
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
environment:
TZ: 'Europe/Paris'
FTLCONF_webserver_api_password: 'changez-ce-mot-de-passe'
volumes:
- './etc-pihole:/etc/pihole'
restart: unless-stopped
docker compose up -d
Réglez TZ sur votre propre fuseau horaire et choisissez un vrai mot de passe : un mot de passe non défini est remplacé par un mot de passe aléatoire enfoui dans les logs du conteneur. Vous voulez aussi le DHCP ? Ajoutez "67:67/udp" à la liste des ports et cap_add: NET_ADMIN, comme l’indique la documentation Docker de Pi-hole.
Vous préférez une installation bare metal ? L’installeur en une ligne de Pi-hole (curl -sSL https://install.pi-hole.net | bash) est le chemin rapide officiel, même si le README du projet reconnaît que rediriger directement vers bash fait débat puisqu’on ne peut pas lire le script au préalable, et documente plutôt le clonage du dépôt suivi d’un lancement manuel de basic-install.sh.
Matériel : Pi-hole est vraiment léger. La documentation officielle indique 512 Mo de RAM et 2 Go de stockage libre comme minimum, 4 Go recommandés, sur du matériel x86_64, ARM (v6 à v8) ou RISC-V. Un Raspberry Pi Zero 2 W ou n’importe quel Pi 3/4/5 le fait tourner sans effort, et il se contente tout aussi bien de partager un NAS ou un mini PC qui fait déjà autre chose. Pas de GPU, pas de base de données, pas de stack multi-conteneurs. Notre guide auto-hébergement pour débutants détaille les compromis matériels.
Cette simplicité explique pourquoi Pi-hole est classé en difficulté Facile, pas Medium : l’installation de base tient en un seul conteneur, et la seule vraie étape de configuration consiste à pointer son routeur vers lui. Ce qui se complique reste optionnel. Prendre en charge le DHCP protège automatiquement tous les appareils, mais fait aussi de Pi-hole un point unique de défaillance pour la distribution des adresses IP, pas seulement pour le DNS : une panne coupe alors toute la connexion, pas juste le blocage des publicités. Viser le zéro interruption va plus loin, vers un second Pi-hole synchronisé avec keepalived et Gravity Sync, mais rien de tout cela n’est nécessaire pour en tirer une vraie valeur dès le premier jour.
N’exposez jamais le port 53 à l’internet public. Pi-hole, comme n’importe quel résolveur DNS, est une cible classique pour les attaques par amplification et réflexion DNS : un attaquant usurpe l’adresse IP d’une victime, envoie une petite requête à tous les résolveurs ouverts qu’il trouve, et chacun répond par un paquet bien plus volumineux vers la victime. Ce type d’abus reste l’une des plus grandes catégories de trafic DDoS sur internet, et la documentation de Pi-hole précise elle-même qu’il est « conçu pour fonctionner à l’intérieur d’un réseau local ». Gardez Pi-hole sur votre LAN, et passez par un VPN ou un réseau maillé comme Tailscale pour l’administration à distance. Même remarque pour Vaultwarden et Nextcloud ; notre guide d’accès distant à Jellyfin détaille cette configuration.
Pi-hole : avantages et inconvénients
- Bloque publicités et traqueurs pour tous les appareils du réseau à la fois, y compris télés connectées, consoles et objets IoT qui ne peuvent pas installer d’extension navigateur
- Gratuit et open source sous licence EUPL-1.2, porté par une équipe bénévole restreinte mais active
- Vraiment léger : 512 Mo de RAM et un seul conteneur suffisent pour une protection réelle
- Le journal des requêtes et le tableau de bord intégrés montrent précisément ce que votre réseau contacte
- Ne bloque que ce que le DNS peut voir : les publicités servies depuis le même domaine que le contenu lui-même, certaines pubs YouTube et in-app par exemple, passent quand même
- Une panne ou un redémarrage coupe le DNS pour tous les appareils qui en dépendent, sauf repli prévu à l’avance
- La protection réelle dépend du bon relais DNS par votre routeur, ou de Pi-hole faisant tourner le DHCP
- Ne propose pas de DNS chiffré nativement ; obtenir du DoH ou du DoT demande d’ajouter une brique supplémentaire
Les alternatives à connaître
AdGuard Home est le concurrent direct le plus proche de Pi-hole : même travail de fond, blocage de publicités et de traqueurs au niveau DNS pour tout un réseau, depuis un seul binaire. La différence pratique tient au support natif de DNS-over-HTTPS, DNS-over-TLS et DNS-over-QUIC, là où Pi-hole reste concentré sur le sinkhole et les listes de blocage, et a besoin d’une brique en plus comme cloudflared ou unbound pour du DNS amont chiffré. Les deux peuvent en option faire tourner le DHCP. AdGuard Home a droit à son propre test complet, pas à un simple tableau comparatif ici.
NextDNS reprend la même idée sous forme de service cloud, sans matériel requis. Technitium DNS Server est une autre option auto-hébergée qui se fait une place chez ceux qui veulent un contrôle plus direct sur leur serveur DNS, puisqu’il fait tourner un résolveur récursif complet au lieu de simplement relayer des requêtes filtrées.
Pour plus d’outils de sécurité pour votre homelab, parcourez notre archive Réseau & Sécurité.
FAQ
Est-ce que Pi-hole bloque toutes les publicités ?
Non. Il ne bloque que ce qu’il peut voir et résoudre au niveau DNS, donc les publicités servies depuis le même domaine que le contenu lui-même, certaines pubs YouTube et in-app étant l’exemple classique, passent quand même : bloquer ce domaine casserait l’application entière. Un bloqueur côté navigateur comme uBlock Origin garde toute sa place aux côtés de Pi-hole pour ce dernier kilomètre.
Est-ce que Pi-hole est légal ?
Oui. C’est un logiciel de filtrage au niveau DNS qui tourne sur du matériel qui vous appartient, fonctionnellement proche de la modification d’un fichier hosts ou de l’utilisation de n’importe quel autre bloqueur de publicités, simplement appliqué à l’échelle du réseau.