Tuto: Installer Pi-hole et Unbound avec Docker ; gérer les publicités et les requêtes DNS de manière efficace.

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.
Affichage de 1 message (sur 1 au total)
  • Auteur
    Articles
  • #12633
    nam1962nam1962
    Keymaster

    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

Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.