Pi-hole comme serveur DNS

J'entend depuis un moment parler de Pi-hole -- un petit serveur DNS (voir DHCP) qui a vocation à bloquer la pub au niveau de tout un réseau. Et le mois dernier, sebsauvage a sauté le pas. Bref, ça éveillait ma curiosité
Hier, j'ai dû resynchroniser de zéro un ordi avec mon Nextcloud (hébergé chez moi). Mais en passant par son nom de domaine, ça tapait sur l'IP publique (donc celle de ma box), et je me retrouvais avec un débit bridé à 580 Ko/s.
Frustré, j'ai débloqué ça en ajoutant une entrée à mon /etc/hosts pour que le domaine du Nextcloud soit lié à son IP privée. Là, je montais à 10 Mo/s. Mieux !
J'ai alors réalisé qu'il était dommage de faire ça pour un seul ordi, et qu'il me faudrait un DNS local permettant entre autre d'éviter l'IP publique quand l'IP privée suffisait. C'était le bon moment pour un Pi-hole.
Config Docker simple
Plutôt que de brancher une nouvelle machine (même petite comme un Raspberry), j'ai préféré intégrer ça à mon serveur hébergeant la plupart de mes services sous Docker.
À ce sujet, la doc de Pi-hole fournit un docker-compose.yml de base déjà bien fonctionnel. Je n'ai eu qu'à commenter les lignes qui ne me concernent pas et à adapter les ports de l'interface web (mais en gardant le port 53 pour le DNS) et le mot de passe de l'interface web.
Config via l'interface d'admin
Une fois lancé, l'accès à l'interface d'admin m'a juste servi à configurer : - le serveur DNS upstream (qui sert de source à ce serveur Pi-hole) : j'ai choisis dnsforge.de - ajouter mes sous-domaine de mon serveur local en tant que "Private DNS hostname" - ajouter la liste de blocage fournie par Seb Sauvage comme liste source pour les blocages effectués par le Pi-hole
Config de la box
Il ne me restait plus qu'à indiquer à ma box de ne plus fournir via DHCP son propre serveur DNS en premier, mais de pointer sur l'IP locale du serveur hébergeant le Pi-hole.
J'ai tout de même gardé le DNS de la box en DNS secondaire au cas où mon serveur serait indisponible.
Keep blocking ads and surf on!