Yohan Rousseau

ÉTUDIANT EN ALTERNANCE EN RÉSEAUX & SYSTÈMES

Création d’un DNS récursif

rasppi

Objectif : S’affranchir des DNS conventionnels et bloquer les nombreuses pubs rencontrées sur les sites

En tout premier lieu, mon Raspberry Pi 2 fonctionnait en tant que relais DNS via Unbound. Et pour bloquer un domaine (publicitaire notamment), je devais le saisir manuellement dans les fichiers de configuration. Toutefois, je me suis intéressé à une solution complète, Pi-Hole pour ne pas la citer, qui permettait de bloquer les domaines publicitaires directement depuis une interface web, ce qui est bien plus agréable et rapide. Le problème étant que Pi-Hole ne fournissait qu’une liste de DNS public « mainstream »… Aux antipodes de ce que je souhaitais jusque là. Je me suis donc intéressé à la fusion de ces deux solutions et la notion de DNS récursif était la solution à mon problème.

Qu’est ce qu’un DNS récursif ?

La différence principal entre un DNS récursif et classique, c’est qu’ici le Raspberry ira directement interroger les serveurs racines sur les domaines de premier niveau (TLD). Le serveur doit au besoin questionner d’autres serveurs de noms si le nom de domaine concerné par la requête n’est pas dans son cache et se trouve dans une zone pour laquelle il n’est pas autoritaire.

Le fichier de configuration de Unbound se présente ainsi (dispo ICI).

Il fonctionne sur le port 5353 car ce n’est pas ce service qui fera office de DNS mais Pi-Hole. Ici, on autorise l’usage de l’IPv4 et des protocoles TCP et UDP mais pas de l’IPv6 (je ne l’avais pas activé chez moi à ce moment).

Le fichier root-hints contient les adresses des différents serveurs DNS racines (il est à télécharger auparavant).

La section private-address renseigne le DNS des adresses privées utilisées sur le réseau.

Dans les paramètres de Pi-Hole (qui requiert le choix d’un DNS public à l’installation), il faudra décocher toutes les cases pour entrer un DNS personnalisé (2 possibles pour IPv4 et IPv6). Si le serveur DNS est sur la même machine, on notera directement l’adresse locale suivie d’un hashtag et le port du service Unbound qui est 5353 dans mon cas.

Ainsi, Pi-Hole fonctionnera quand à lui sur le port 53 et vous offrira sur le port 80 de l’adresse de la machine, une interface web de gestion et de contrôle des domaines bloqués.

pi-hole
Voici le résultat ! Pi-Hole fournit des adlist à télécharger directement depuis l'interface.