Notes d'installation via docker de l'application pi-hole.
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.
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