Table des matières

, , , ,

Pi-Hole: installation via Docker

Notes d'installation via docker de l'application pi-hole.

Spécificité du SE Ubuntu

Les versions récentes d'Ubuntu (versions 17.10 et supérieures) intègrent systemd-resolved configuré par défaut pour agir comme cache DNS. Il écoute sur le port 53 et empêche Pi-Hole de fonctionner.

Pour désactiver le cache DNS local, modifier le fichier de configuration /etc/systemd/resolved.conf:

sudo sed -r -i.bak 's/#?DNSStubListener=yes/DNSStubListener=no/g' /etc/systemd/resolved.conf

Cette modification n'affecte pas les paramétrages des serveurs de noms qui pointent encore vers le cache DNS local systemd-resolver. Modifier le lien symbolique /etc/resolv.conf en le faisant pointer vers /run/systemd/resolve/resolv.conf qui est automatiquement mis à jour pour suivre le netplan

# La configuration de la résolution de noms s'appuie sur le cache DNS
ls -la /etc/resolv.conf 
lrwxrwxrwx 1 root root 39 oct.  22  2020 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
 
# mise à jour de la configuration pour que la résolution de noms soit
# définie via l'interface réseau
rm /etc/resolv.conf && ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Relancer systemd-resolved

systemctl restart systemd-resolved.service

Une fois le service redémarré, la nouvelle configuration est prise en compte, le cache DNS local n'est plus actif, le port 53 est libre.

Installation

Modifier le fichier /etc/hosts et tester la résolution:

resolvectl query pihole.labinfo.mairie.local

Le fichier docker-compose initial a été modifié pour que le conteneur fonctionne derrière traefik.

# vérifie la syntaxe
docker-compose config
 
# lance le service
docker-compose up --detach pihole

Références