l’Almanet doLys Gnu/Linux – Open Source – Entreprises › Forums › L’almanet doLys Open Source › Tuto: Installer Pi-hole et Unbound avec Docker ; gérer les publicités et les requêtes DNS de manière efficace.
- This topic is empty.
-
AuteurArticles
-
septembre 7, 2024 à 11:02 am #12633nam1962Keymaster
Introduction
Je vais vous montrer ici comment mettre en place Pi-hole, un serveur DNS qui bloque les publicités, en utilisant Docker, tout en configurant Unbound comme résolveur DNS local. Cette configuration vous permettra de naviguer sur Internet sans être dérangé par les publicités indésirables.
Mais ce n’est pas tout ! En contrôlant votre propre infrastructure DNS, vous devenez souverain de vos données. Vous évitez ainsi plusieurs types de menaces courantes :
– Les indiscrétions : Vos requêtes DNS sont souvent interceptées et analysées par des tiers. Avec votre propre serveur, vous gardez le contrôle de ces informations sensibles.
– Les DNS menteurs : les FAI sont sous contrôle des administrations et censurent, redirigent, surveillent les requêtes. Votre serveur DNS personnel préserve l’intégrité de vos connexions.
– Les scripts indiscrets : De nombreux sites web chargent des scripts aux actions diverses et jamais utiles pour vous. Pi-hole peut bloquer ces scripts, renforçant ainsi votre confidentialité en ligne.Cette configuration donne donc un triple avantage : elle bloque les publicités, améliore votre sécurité et renforce votre souveraineté numérique.
Ce tutoriel vous permettra aussi de découvrir Docker et les conteneurs, une technologie de virtualisation légère qui simplifie grandement le déploiement d’applications et… le jour où vous vous amusez à avoir un serveur autohébergé, vous permettra de proposer le service à tous vos appareils connectés.
Prérequis
Avant de commencer, assurez-vous d’avoir :
– Un système Manjaro ou Debian à jour.
– Docker et Docker Compose installés.
– Accès à un terminal avec des privilèges sudo.Étape 1 : Installer Docker et Docker Compose
Si vous n’avez pas encore installé Docker et Docker Compose, voici comment procéder :
Pour Manjaro
Ouvrez votre terminal et exécutez les commandes suivantes :
sudo pacman -S docker docker-compose sudo systemctl start docker sudo systemctl enable docker
Pour Debian
Pour Debian, utilisez ces commandes :
sudo apt update sudo apt install docker-ce docker-compose sudo systemctl start docker sudo systemctl enable docker
Étape 2 : Créer la structure de répertoires
Je vais créer un répertoire pour mon projet et y ajouter les fichiers nécessaires :
mkdir -p ~/docker/pihole cd ~/docker/pihole
Étape 3 : Créer le fichier docker-compose.yml
Dans le répertoire ~/docker/pihole, je crée un fichier docker-compose.yml :
services: pihole: container_name: pihole image: pihole/pihole:latest network_mode: host env_file: -.env volumes: - './etc-pihole:/etc/pihole' - './etc-dnsmasq.d:/etc/dnsmasq.d' - './adlists.list:/etc/pihole/adlists.list' cap_add: - NET_ADMIN restart: unless-stopped deploy: resources: limits: cpus: '0.5' memory: 512M reservations: cpus: '0.2' memory: 256M
Étape 4 : Créer le fichier .env
Je vais maintenant créer un fichier .env pour stocker mes variables d’environnement (remplacez truc123 par votre mot de passe à vous ! ):
WEBPASSWORD=truc123 TZ=Europe/Paris PIHOLE_DNS_=127.0.0.1#5335
Étape 5 : Installer Unbound
Unbound n’est pas en Docker, il vient des paquets officiels. Pour l’installer, j’exécute la commande suivante :
Pour Manjaro
sudo pacman -S unbound
Pour Debian
sudo apt install unbound
Étape 6 : Configurer Unbound
Je vais maintenant configurer Unbound. J’ouvre le fichier de configuration d’Unbound :
sudo nano /etc/unbound/unbound.conf
J’ajoute ou modifie les lignes suivantes pour configurer Unbound :
server: interface: 0.0.0.0 port: 5335 do-ip4: yes do-ip6: yes do-udp: yes do-tcp: yes access-control: 127.0.0.0/8 allow access-control: ::1/128 allow access-control: 172.24.0.0/16 allow # Docker network access-control: 192.168.0.0/16 allow # Common home network range access-control: 10.0.0.0/8 allow # For potential VPN or other verbosity: 1 num-threads: 2 outgoing-range: 8192 msg-cache-size: 200m rrset-cache-size: 400m cache-min-ttl: 30 cache-max-ttl: 86400 do-not-query-localhost: no hide-identity: yes hide-version: yes harden-glue: yes harden-dnssec-stripped: yes use-caps-for-id: yes qname-minimisation: yes minimal-responses: yes forward-zone: name: "pi.hole" forward-addr: 127.0.0.1@53 forward-zone: name: "." forward-tls-upstream: yes # DNS non censuré, évitant la surveillance des 14 yeux forward-addr: 91.239.100.100#anycast.uncensoreddns.org # UncensoredDNS forward-addr: 89.233.43.71#unicast.uncensoreddns.org # UncensoredDNS # OpenNIC, un projet qui offre des serveurs DNS alternatifs forward-addr: 185.121.177.177#ns1.any.dns.opennic.glue # OpenNIC forward-addr: 161.97.219.84#ns2.any.dns.opennic.glue # OpenNIC # FDN, un fournisseur de DNS français respectueux de la vie privée forward-addr: 80.67.169.12#dns.fdn.fr # FDN forward-addr: 80.67.169.40#dns.fdn.fr # FDN # AdGuard DNS, un service DNS qui bloque les publicités forward-addr: 94.140.14.14#dns.adguard.com # AdGuard DNS forward-addr: 94.140.15.15#dns.adguard.com # AdGuard DNS
Étape 7 : Démarrer le conteneur Pi-hole
Maintenant que tout est configuré, je vais démarrer le conteneur Pi-hole. Je m’assure d’être dans le répertoire de Pi-hole, puis j’exécute :
cd ~/docker/pihole sudo docker-compose up -d
La commande
docker-compose up -d
va :
1. Construire l’image si nécessaire
2. Créer et démarrer le conteneur
3. Le faire tourner en arrière-plan (-d signifie detached mode)Bien que nous ayons utilisé docker-compose, cela ne lance qu’un seul conteneur dans notre cas, car notre fichier docker-compose.yml définit uniquement un service nommé « pihole ».
Il est important de noter que :
– Nous utilisons docker-compose même pour un seul conteneur car cela facilite la gestion future si nous devions ajouter d’autres services.
– docker-compos` gère automatiquement les volumes, les ports, et autres paramètres définis dans le fichier docker-compose.yml.
– La consommation de ressources (RAM et CPU) est extrêmement faible, ce qui rend cette configuration idéale pour les systèmes modestes ou les ordinateurs portables.Étape 8 : Vérification de l’installation
Pour vérifier que tout fonctionne correctement, j’ouvre mon navigateur et je vais à l’adresse
http://localhost:80
. Je devrais voir l’interface de Pi-hole. Je me connecte avec le mot de passe que j’ai défini dans le fichier .env.
Étape 9 : Configuration de votre routeur
Pour que tous mes appareils utilisent Pi-hole pour les requêtes DNS, je configure mon routeur pour utiliser l’adresse IP de mon serveur comme serveur DNS principal.
Conclusion
Voilà, j’ai maintenant un système Pi-hole fonctionnant avec Unbound, prêt à bloquer les publicités et à gérer mes requêtes DNS de manière efficace. N’hésitez pas à explorer les différentes options de configuration pour adapter le système à vos besoins. Si vous avez des questions ou des problèmes, consultez la documentation officielle de Pi-hole et Unbound pour des conseils supplémentaires.
Ce tutoriel vous a permis de découvrir Docker et les conteneurs, une technologie puissante pour déployer facilement des applications. J’espère que vous avez apprécié l’expérience et que vous pourrez réutiliser ces compétences pour d’autres projets.
Commandes utiles
– Pour arrêter les conteneurs :
sudo docker-compose down
– Pour voir les logs de Pi-hole :
sudo docker logs pihole
– Pour mettre à jour les images :
sudo docker-compose pull
J’espère que ce tutoriel vous a été utile. N’hésitez pas à partager vos expériences et vos questions dans les commentaires!
Notes supplémentaires :
– Documentation officielle de Pi-hole : https://docs.pi-hole.net/
– Documentation officielle d’Unbound : https://www.nlnetlabs.nl/documentation/unbound/Un jeune site que j'aime bien, la ferrari du T-shirt ...bio en plus : GoudronBlanc
-
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.