Objectif
Déployer Pi-hole, un serveur DNS avec filtrage des publicités et trackers au niveau réseau. Protège l'ensemble des appareils du réseau sans configuration individuelle.
Prérequis
- Serveur Debian 11 / Ubuntu ou Raspberry Pi
- Adresse IP fixe recommandée
- Minimum 512 Mo de RAM
- Accès root ou sudo
- Connexion Internet
Procédure Complète
Étape 1 : Configuration IP fixe (recommandé)
nano /etc/network/interfaces
Configuration exemple :
auto eth0 iface eth0 inet static address 192.168.1.200 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 1.1.1.1 8.8.8.8
Redémarrer le réseau :
systemctl restart networking
Étape 2 : Installation automatique de Pi-hole
curl -sSL https://install.pi-hole.net | bash
Étape 3 : Configuration durant l'installation
Choix de l'interface réseau
- Sélectionner l'interface principale (ex: eth0, ens33)
Choix du fournisseur DNS en amont
- Google : 8.8.8.8 / 8.8.4.4
- Cloudflare : 1.1.1.1 / 1.0.0.1 (recommandé pour confidentialité)
- Quad9 : 9.9.9.9
- OpenDNS : 208.67.222.222 / 208.67.220.220
Listes de blocage
- Laisser les listes par défaut cochées (StevenBlack, MalwareDomains)
Protocoles
- IPv4 : Oui
- IPv6 : Oui (si votre réseau supporte IPv6)
Adresse IP statique
- Confirmer l'adresse IP affichée
- Confirmer la gateway
Interface web d'administration
- Installer l'interface web : Oui
- Installer le serveur web lighttpd : Oui
Logs des requêtes
- Activer les logs : Oui
- Niveau de confidentialité : Show everything (ou niveau souhaité)
Étape 4 : Accès à l'interface web
Accéder via navigateur :
http://192.168.1.200/admin
Se connecter avec le mot de passe fourni à la fin de l'installation
Étape 5 : Changement du mot de passe admin
pihole -a -p
Saisir le nouveau mot de passe deux fois
Étape 6 : Configuration des clients réseau
Option A : Configuration DHCP du routeur (recommandé)
Modifier le serveur DNS primaire du routeur pour pointer vers Pi-hole :
- DNS primaire : 192.168.1.200 (IP de Pi-hole)
- DNS secondaire : 1.1.1.1 (facultatif, en secours)
Tous les appareils du réseau utiliseront automatiquement Pi-hole
Option B : Configuration manuelle par poste
Windows :
- Panneau de configuration → Réseau → Propriétés de la carte
- IPv4 → Propriétés → DNS préféré : 192.168.1.200
Linux :
nano /etc/resolv.conf
nameserver 192.168.1.200
nameserver 1.1.1.1
Vérifications
Test de résolution DNS
nslookup google.com 192.168.1.200
Doit retourner l'adresse IP de Google
Test de blocage
Tester avec un domaine publicitaire connu :
nslookup ads.google.com 192.168.1.200
Doit retourner 0.0.0.0 ou l'IP de Pi-hole (domaine bloqué)
Test depuis navigateur
Accéder à un site avec publicités → les publicités doivent être bloquées
Vérifier dans le dashboard Pi-hole que les requêtes apparaissent
Configuration avancée
Ajout de listes de blocage supplémentaires
Interface web → Group Management → Adlists
Listes recommandées :
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts https://v.firebog.net/hosts/Easylist.txt https://v.firebog.net/hosts/AdguardDNS.txt
Mettre à jour les listes :
pihole -g
Whitelist (débloquer un domaine)
Interface web → Whitelist → Add
Ou en ligne de commande :
pihole -w exemple.com
Blacklist (bloquer un domaine spécifique)
pihole -b mauvaissite.com
Activation du serveur DHCP Pi-hole
Settings → DHCP → DHCP Server enabled
- Désactiver le DHCP du routeur avant !
- Définir la plage d'adresses (ex: 192.168.1.50 à 192.168.1.250)
- Gateway : 192.168.1.1 (routeur)
Commandes utiles
# Mise à jour de Pi-hole pihole -up # Mise à jour des listes de blocage pihole -g # Statistiques pihole -c # Statut du service pihole status # Redémarrer Pi-hole pihole restartdns # Logs en temps réel pihole -t # Vider le cache DNS pihole restartdns reload
Sécurité et Limites
Avantages
- Blocage des publicités au niveau réseau (tous les appareils)
- Protection contre les trackers et malwares
- Amélioration des performances réseau
- Économie de bande passante
- Dashboard de statistiques détaillé
- Pas de configuration par appareil
Limites
- SPOF (Single Point of Failure) : si Pi-hole tombe, plus de DNS
- Ne bloque pas les publicités YouTube (intégrées dans les vidéos)
- Peut casser certains sites (faux positifs) → utiliser whitelist
- N'est pas un antivirus (bloque seulement via DNS)
- Les appareils peuvent contourner avec DNS manuel (8.8.8.8)
Recommandations
- Configurer un DNS secondaire (secours si Pi-hole hors ligne)
- Sauvegardes régulières de la configuration :
pihole -a -t
- Monitoring avec Uptime Kuma, Zabbix, etc.
- Haute disponibilité : déployer 2 instances Pi-hole
Points Clés pour l'Oral BTS
- Pi-hole : serveur DNS avec filtrage de domaines malveillants/publicitaires
- DNS sinkhole : technique de blocage par résolution DNS vers 0.0.0.0
- Avantages : protection réseau complète, pas de config par poste
- Architecture : dnsmasq + lighttpd + interface PHP
- Listes de blocage : bases de domaines malveillants (StevenBlack, Firebog)
- Limite : ne protège pas contre malwares déjà présents
- Alternative : AdGuard Home, NextDNS