PiHole (bloqueur de pubs) ¶
Pour avoir un bloqueur de pubs, trackers, sites malveillants… à l'échelle de son réseau, et un résolveur DNS intégré.
Tuto suivi : https://github.com/mpgirro/docker-pihole-unbound
Commandes à exécuter :
sudo mkdir -p /opt/stacks/pihole
cd /opt/stacks/pihole
sudo nano compose.yaml
sudo ufw allow 53 comment pihole
docker compose up -d
Mon fichier compose.yaml
---
services:
pihole-unbound:
container_name: pihole-unbound
image: mpgirro/pihole-unbound:latest
hostname: ${HOSTNAME}
domainname: ${DOMAIN_NAME}
ports:
#- 443:443/tcp
- 53:53/tcp
- 53:53/udp
- ${PIHOLE_WEBPORT:-80}:80/tcp #Allows use of different port to access pihole web interface when other docker containers use port 80
# - 5335:5335/tcp # Uncomment to enable unbound access on local server
# - 22/tcp # Uncomment to enable SSH
environment:
- FTLCONF_LOCAL_IPV4=${FTLCONF_LOCAL_IPV4}
- TZ=${TZ:-UTC}
- FTLCONF_webserver_api_password=${WEBPASSWORD}
- FTLCONF_webserver_interface_theme=${WEBTHEME:-default-light}
#- REV_SERVER=${REV_SERVER:-false}
#- REV_SERVER_TARGET=${REV_SERVER_TARGET}
#- REV_SERVER_DOMAIN=${REV_SERVER_DOMAIN}
#- REV_SERVER_CIDR=${REV_SERVER_CIDR}
- FTLCONF_dns_revServers=${REV_SERVER:-false},${REV_SERVER_CIDR},${REV_SERVER_TARGET},${REV_SERVER_DOMAIN}
- FTLCONF_dns_upstreams=127.0.0.1#5335
- FTLCONF_dns_dnssec="true"
- FTLCONF_dns_listeningMode=single
- FTLCONF_webserver_port=${WEB_PORT}
volumes:
- etc_pihole-unbound:/etc/pihole:rw
- etc_pihole_dnsmasq-unbound:/etc/dnsmasq.d:rw
restart: unless-stopped
volumes:
etc_pihole-unbound:
etc_pihole_dnsmasq-unbound:
Mon fichier .env :
FTLCONF_LOCAL_IPV4=192.168.0.43
TZ=Europe/Paris
WEBPASSWORD=motdepasse
REV_SERVER=true
REV_SERVER_DOMAIN=local
REV_SERVER_TARGET=192.168.0.1
REV_SERVER_CIDR=192.168.0.0/24
HOSTNAME=pihole
DOMAIN_NAME=pihole.local
PIHOLE_WEBPORT=8086
WEBTHEME=default-light
WEB_PORT=80
Mettre à jour sa box pour la forcer à utiliser le DNS du PiHole ¶
J'ai une freebox, et je dois aller dans Paramètres de la Freebox > DHCP et remplacer le serveur DNS 1 (normalement 192.168.0.254 par défaut) par l'IP du PiHole. Et surtout laisser les autres serveurs DNS vides.
Ajouter des listes de domaines à bloquer ¶
Très bon article qui liste les principales blocklists : https://avoidthehack.com/best-pihole-blocklists
Pour ma part j'utilise : https://github.com/hagezi/dns-blocklists
Et j'ai créé des groupes dans le PiHole pour que certaines listes ne s'appliquent qu'à certains appareils.
Par exemple je ne veux pas de blocage pour mon PC du boulot quand je suis en télétravail, et je veux un blocage minimal pour certains appareils, et aggressif pour d'autres.