Filtrer les requêtes DNS apporte plusieurs avantages :

  • Sécurité : maîtriser via des listes, l’ensemble des noms de domaines à éviter
  • Confidentialité : ne pas passer par le(s) serveur(s) DNS du fournisseur d’accès, qui enregistrent notre activité
  • Rapidité : ne pas charger les publicités (~20% du flux DNS total) et se concentrer sur le contenu utile.

Instanciation d’un DNS localement

En se basant sur un fichier compose du projet PiHole[0], on dispose d’une interface graphique pour paramétrer le filtrage des requêtes DNS.

version: "3"

services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    # ports:
    #  - "53:53/tcp"
    #  - "53:53/udp"
    #  - "67:67/udp"
    #  - "80:80/tcp"
    environment:
      TZ: "Europe/Paris"
      WEBPASSWORD: "password"
      INTERFACE: "en0"
    volumes:
      - "./etc-pihole/:/etc/pihole/"
      - "./etc-dnsmasq.d/:/etc/dnsmasq.d/"
    # Recommended but not required (DHCP needs NET_ADMIN)
    #   https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
    # as I do not use the dhcp server feature, I comment it
    # cap_add:
    #  - NET_ADMIN
    restart: unless-stopped

Et on appelle $ docker-compose up pour lancer le tout.

⚠️ Note : ce mode opératoire n’est pas dédié pour un environnement de production.


Resources :

[0] https://github.com/pi-hole/docker-pi-hole/

[1] https://docs.pi-hole.net/