Documentation pour transformer votre Orange Pi en un bloqueur de pub avec Pi-Hole
Dans un monde où la publicité en ligne est omniprésente et souvent intrusive, nous sommes constamment bombardés de bannières, de pop-ups et de vidéos publicitaires sur presque tous les sites web que nous visitons. Depuis des années, les utilisateurs subissent cette pression constante, et ces publicités consomment à la fois notre temps et nos données. C’est pourquoi, aujourd’hui, je vous propose une solution simple et efficace pour bloquer ces publicités chez vous, Pi-hole.
Pi-hole est un serveur DNS open source et auto-hébergé qui permet de bloquer les publicités, les trackers et autres contenus indésirables sur tous les appareils connectés à votre réseau. En quelques minutes, vous pouvez installer Pi-hole sur votre Orange Pi chez vous, et ainsi profiter d’une expérience de navigation plus fluide, sans publicités gênantes. De plus, Pi-hole est compatible avec tous les appareils de votre maison, ordinateurs, téléphones, tablettes, télévisions connectées, etc.
L’un des principaux avantages de Pi-hole est qu’il permet non seulement de bloquer les publicités dans vos navigateurs, mais également dans vos applications mobiles et vos services de streaming, offrant ainsi une navigation plus rapide et une meilleure sécurité. En installant Pi-hole, vous reprenez le contrôle de votre expérience en ligne, sans avoir à dépendre de solutions payantes ou de services tiers pour vous débarrasser des publicités.
Mise en place de Pi-Hole
Avant de commencer ce tutoriel, vous aurez besoin d’avoir déjà configurer votre Orange Pi !
Une fois connecté à votre Orange Pi à votre orangepi.
Installation de Docker
Nous allons mettre en place Pi-Hole avec Docker. C’est pourquoi nous devons d’abord installer Docker.
Configurer le dépôt apt de Docker
Pour que Docker puisse être géré par votre gestionnaire de paquets, vous devez utiliser le dépôt officiel apt. Pour cela, vous devez d’abord installer les dépendances nécessaires et ajouter la clé GPG de Docker :
apt update
apt install ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.ascVous pouvez maintenant ajouter le dépôt à vos sources apt :
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
apt updateInstallation de Docker
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginMise en place de Pi-Hole
Pour organiser notre Pi-Hole, nous allons créer un dossier dans /etc. Pour cela, exécutez la commande suivante :
mkdir /etc/piholeVous pouvez aller dans le dossier Pi-Hole. Pour cela, exécutez la commande suivante :
cd /etc/piholePour mettre en place Pi-Hole, je vous invite à utiliser ce docker-compose :
services:
pihole:
container_name: pi-hole
image: pihole/pihole:latest
hostname: pi-hole
restart: unless-stopped
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80"
- "443:443"
environment:
TZ: 'Europe/Paris'
WEBPASSWORD: 'VOTRE_MOT_DE_PASSE'
FTLCONF_LOCAL_IPV4: 'VOTRE_IP'
PIHOLE_DNS_: '8.8.8.8;1.1.1.1'
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'Vous pouvez donc créer un fichier dans /etc/pihole nommé docker-compose.yml en utilisant la commande suivante :
nano docker-compose.ymlUne fois la commande exécutée, vous serez dans le fichier. Copiez le contenu du docker-compose.yml ci-dessus, puis appuyez sur CTRL + X et validez avec Y pour enregistrer les modifications.
Pour démarrer pihole, exécutez simplement :
docker compose up -dUne fois cela fait, c’est très rapide : il vous suffit de vous connecter à l’adresse IP de votre serveur Docker, sur le port 80. Par exemple : https://192.168.1.20/admin/login
Si vous souhaitez utiliser uniquement le HTTPS, vous pouvez retirer la ligne - “80:80” dans la section ports: du fichier docker-compose afin de désactiver le HTTP.
Configuration
Login
Vous voilà donc maintenant sur la page de connexion. Vous pouvez vous identifier avec le mot de passe que vous avez ajouté dans le docker-compose.

Vous voilà maintenant connecté.
Problème de login
Il peut arriver d’avoir oublié son mot de passe ou que celui-ci ne fonctionne plus. Je vais vous montrer comment le remplacer facilement.
Pour cela, il vous suffit de vous connecter à votre Orange Pi et de récupérer l’ID de votre conteneur Docker. C’est très simple : exécutez la commande suivante :
docker ps
Sur l’image ci-dessus, vous pouvez voir l’ID de votre docker. Par exemple, celui-ci :
eac7f8cc75eeVous allez donc compléter cette commande avec votre ID :
docker exec -it VOTRE_ID /bin/bashUne fois cette commande exécutée, vous serez dans le conteneur Docker.
Vous pouvez donc exécuter cette commande pour lancer le changement de votre mot de passe :
pihole setpassword
Voilà, vous avez changé votre mot de passe. Vous pouvez essayer de vous reconnecter de nouveau, cela devrait fonctionner.
Vous voilà maintenant connecté.
Ajout d’un poste
Pour que Pi-hole fonctionne correctement, il doit être le serveur DNS principal de vos machines. Pour cela, deux solutions existent :
- Configurer manuellement le DNS sur chaque PC que vous souhaitez intégrer.
- Modifier le DNS de votre box afin qu’elle utilise votre Pi-hole.
Pour ceux qui utilisent leur propre serveur DHCP, pensez également à mettre à jour le DNS distribué par votre DHCP.
Attention, si vous le changez chez Orange, cela peut faire dysfonctionner vos boîtiers TV.
Vous pouvez voir le nombre de machines connectées ici :

Autorisation au multi-réseau
Étant donné qu’il s’agit d’une installation via Docker, votre Pi-hole se trouve techniquement sur un autre réseau que le vôtre. Vous devez donc effectuer une modification, sinon votre Pi-hole n’autorisera pas vos machines à faire des requêtes DNS dessus.
Pour cela, allez dans Settings puis DNS. Vous arriverez ensuite sur cette page :

Vous devez donc activer le mode expert afin d’avoir le paramétrage souhaité.
Une fois le mode expert activé, vous verrez les paramètres par défaut marqués Recommended settings : Allow only local requests. Il faudra ensuite passer sur Potentially dangerous options : Respond only on interface eth0.
N’oubliez pas de sauvegarder en cliquant sur Save & Apply.
Ajout d’un groupe
Pi-hole permet de créer des groupes, ce qui est pratique pour appliquer des niveaux de sécurité différents selon les postes ou clients, en fonction des besoins. Par exemple, vous pouvez avoir un ordinateur pour un adulte et une tablette pour un enfant.
Pour créer un groupe, vous devez vous rendre dans Groups.

Par défaut, il n’y a qu’un seul groupe, appelé Default. Pour l’exemple, nous allons ajouter deux groupes : un groupe appelé Max et un groupe appelé Min.
Pour cela, allez en haut de la page et, dans Name, saisissez le nom de votre groupe. Ensuite, vous pouvez ajouter un commentaire :
Vous pouvez voir la liste de tous vos groupes.
Maintenant que vous avez créé vos groupes, vous allez voir comment les affecter à vos clients.
Si vous n’avez pas encore de client, créez-en un en accédant à la section Clients :
Vous pouvez l’ajouter en cliquant simplement sur « Add a new client » en haut de la page, en sélectionnant une IP correspondant au client souhaité et en ajoutant un commentaire. Je vous conseille d’indiquer la personne ou l’appareil concerné
Comme vous le voyez sur la photo ci-dessus, il y a la section « Group Assignment ». Vous pouvez cliquer dessus pour assigner les groupes que vous souhaitez.

Pas d’inquiétude, vous pouvez toujours modifier l’affectation des groupes de vos clients une fois ceux-ci créés.

Ajout d’une listes
Pi-hole fonctionne avec des listes de blocage que vous pouvez trouver facilement ou créer vous-même. Pour en ajouter de nouvelles, vous pouvez vous rendre dans la section « Lists ».
Pour en ajouter, rien de plus simple : il suffit de saisir l’URL de la liste, d’ajouter un commentaire si vous le souhaitez, et voilà, votre liste de blocage est mise à jour.
Juste avant, nous avons évoqué les groupes. Par exemple, il est possible d’affecter cette liste uniquement à notre groupe « Max » en sélectionnant le groupe « Max » dans la section « Group Assignment »
Typiquement, cela peut donner ceci :
Une fois vos choix faits, vous pouvez décider s’il s’agit d’une liste à bloquer en cliquant sur « Add Blocklist », ou d’une liste autorisée en sélectionnant « Add Allowlist ».
Une fois votre choix fait, vous pouvez vous rendre dans Tools —> Update Gravity afin de mettre à jour les listes et d’appliquer les listes que vous avez ajoutées
Cliquez ensuite sur « Update » pour mettre à jour.
Vous voilà à jour !
Voici ci-dessous un exemple de liste si vous souhaitez créer la vôtre. Elle doit être au format .txt pour fonctionner.
# EXEMPLE DE COMMENTAIRE
0.0.0.0 google.com
0.0.0.0 exemple.fr
0.0.0.0 exemple-2.fr
0.0.0.0 1exemple.frAjout enregistrement dns local
Ce qui est également intéressant avec Pi-hole, c’est qu’il permet de créer des enregistrements locaux, ce qui peut être très utile si vous réalisez des projets en local.
Pour créer un enregistrement local, il vous suffit d’aller dans Settings —> Local DNS Records
Vous pouvez donc créer votre enregistrement. Pour l’exemple, je vais en créer un moi.lan avec mon IP.
Cliquez sur le bouton « + » vert pour ajouter votre enregistrement.
Vous pouvez faire un test de ping de votre enregistrement, et cela fonctionnera. Votre enregistrement est donc créé.

Statistiques
Pi-hole intègre une excellente section statistique. Nous allons examiner ensemble une partie de ces statistiques.
Les statistiques de base se trouvent dans le dashboard, avec des informations simples mais utiles.
Les informations que vous y trouverez sont le total des requêtes sur les dernières 24 heures, le nombre de requêtes bloquées, le pourcentage de requêtes bloquées par rapport au total, ainsi que le nombre de domaines présents dans toutes les listes.
Ensuite, en bas, vous trouverez un graphique montrant les requêtes effectuées sur les 24 dernières heures, ainsi que l’activité de vos clients. Cela peut vous aider à identifier qui est le plus actif ou si un client présente un comportement suspect (par exemple, trop de requêtes vers certains domaines douteux). Vous verrez également le type de requêtes et les serveurs utilisés, ainsi que si elles proviennent de la liste de blocage ou du cache.

Vous pouvez voir les dernières requêtes effectuées, par exemple, en allant dans le Query Log.
Vous pouvez ensuite ajouter des filtres de recherche (par exemple : choix du client, domaine, type de requête, statut de la requête, etc.)

DHCP
Pi-hole permet de remplacer complètement votre DHCP, car il intègre une fonctionnalité DHCP. Par défaut, celle-ci est désactivée, mais vous pouvez l’activer si vous le souhaitez.
Pour cela, vous pouvez aller dans Settings —> DHCP :
Je vous conseille d’activer le mode expert afin de bénéficier du plus grand nombre de fonctionnalités possible.
Ensuite, vous pouvez configurer votre plage IP, votre passerelle de sortie et la durée du bail DHCP. Voici un exemple de configuration :

Je déconseille d’utiliser Pi-hole comme serveur DHCP si vous n’avez pas de bonnes notions de DHCP, car il s’agit d’une configuration sensible pour le bon fonctionnement de votre réseau local.