Le protocole DNS (Domain Name System) est un protocole de résolution de noms. Il permet d’associer un nom de domaine à un enregistrement, tel qu’une adresse IP.

Version utilisée :

Unbound 1.6.0

Système d’exploitation :

Debian 9.4.0 64 bits

 

Introduction au DNS

Le protocole DNS, comme expliqué précédemment, permet d’associer un nom de domaine à un enregistrement. Pour résoudre un nom, un client s’adresse à un serveur récursif 1 (ou resolver) qui s’adressera à son tour aux serveurs faisant autorité 2 sur leur domaine. Voici un schéma expliquant comme s’effectue la résolution d’un nom de domaine, ici  pour obtenir l’adresse IPv6 de www.debian.org :

(schéma inspiré de ceux de l’article Wikipédia sur DNS et de Stéphane Bortzmeyer utilisé lors de sa conférence)

Afin d’en savoir davantage sur DNS, je vous conseille l’article Wikipédia sur le DNS ainsi que la conférence de Stéphane Bortzmeyer.

 

Installation

Pour créer un serveur récursif, nous allons utiliser Unbound. Pour l’installer, tapez la commande suivante :

sudo aptitude install unbound

 

Il faut ensuite configurer Unbound. Pour cela, modifiez le fichier de configuration grâce à la commande suivante :

sudo nano /etc/unbound/unbound.conf

Modifiez ensuite ce fichier en fonction de votre configuration réseau et de vos besoins. N’hésitez pas à vous référer à la documentation officielle en cas de besoin (lien disponible en bas de l’article). Dans mon cas, voici ma configuration :

 

Il faut maintenant créer et attribuer les droits au dossier et au fichier de journalisation des évènements grâce aux 3 commandes suivantes :

sudo mkdir /var/log/unbound
sudo touch /var/log/unbound/unbound.log
sudo chown -R unbound:unbound /var/log/unbound

 

Démarrez maintenant le service Unbound, et vérifiez son bon fonctionnement :

sudo service unbound start
sudo service unbound status

 

En cas d’erreur, consultez le fichier de logs du système. Il est possible que vous ayez fait une erreur dans le fichier de configuration unbound.conf

 

N’oubliez pas de modifier l’adresse de votre serveur DNS par l’adresse de la machine hébergeant votre service :

sudo nano /etc/resolv.conf

 

Et voilà, notre serveur récursif est normalement opérationnel ! Quelques outils pour vérifier son bon fonctionnement : dig et ping.

Pour installer dig, s’il n’est pas déjà installé sur votre machine :

aptitude install dnsutils

 

Vérifiez ensuite le fonctionnement du résolveur :

dig A www.debian.org
ping www.debian.org

On peut voir ici grâce à la commande dig que notre serveur récursif est opérationnel et qu’il a bien été utilisé afin de résoudre le nom de domaine www.debian.org

Enfin, la commande ping confirme le précédent résultat, notre machine peut bien accéder à www.debian.org en IPv4.

 

1. Serveur récursif : Serveur ne sachant que contacter les serveurs faisant autorité et qui possède un cache afin de stocker les correspondances déjà connues.

2. Serveur faisant autorité : Serveur connaissant un ou plusieurs domaines.

 

Lien utiles

Documentation d’Unbound Conférence de Stéphane Bortzmeyer Page Wikipédia DNS Tutoriel Unbound par Quentin Demoulière

 

 

 

 

Commentaires