Installer Pi-hole
Rien d'exotique ici, mais le port 53 est presque toujours déjà utilisé, à vérifier avant que le conteneur refuse de démarrer.
- 1
Libérer le port 53 d'abord
La plupart des bureaux Linux font tourner systemd-resolved, qui écoute déjà sur le port 53 et entrera en conflit avec l'écouteur DNS de Pi-hole. Désactiver son stub listener (sans désactiver le reste de systemd-resolved) libère le port.
sudo sed -i 's/#DNSStubListener=yes/DNSStubListener=no/' /etc/systemd/resolved.conf sudo systemctl restart systemd-resolved - 2
Lancer le conteneur
Il a besoin du TCP et de l'UDP sur le port 53 pour le DNS, plus un port pour l'interface web.
services: pihole: image: pihole/pihole:latest container_name: pihole restart: unless-stopped environment: - TZ=America/Toronto - WEBPASSWORD=change-ceci ports: - "53:53/tcp" - "53:53/udp" - "8080:80" volumes: - ./etc-pihole:/etc/pihole - ./etc-dnsmasq.d:/etc/dnsmasq.d - 3
Pointer le routeur vers lui
Dans les paramètres DHCP du routeur, régler le serveur DNS vers l'adresse IP de cette machine plutôt que celle du fournisseur internet. Chaque appareil qui reçoit une adresse par DHCP le récupère automatiquement, sans configuration individuelle.
- 4
Ajouter des listes de blocage
L'interface web (port 8080 ci-dessus) inclut une seule liste par défaut; Group Management → Adlists permet d'ajouter d'autres listes maintenues par la communauté pour une couverture plus large.
Pour aller plus loin
- Documentation de Pi-hole
Référence complète pour l'installation et le dépannage, incluant le conflit avec DNSStubListener couvert ci-dessus.
- Pi-hole sur GitHub
Code source et documentation de l'image Docker officielle.