Skip to main content

[Debian] Serveur DNS

Introduction

Un serveur DNS permet la résolution de noms de domaine en adresse IP et inversement sur un réseau.

Dans ce tutoriel nous utiliserons la solution Bind9 sur une Debian 11.11 ayant comme adresse IP 10.100.0.86.

Le domaine configuré sera elie.local.

image.png

Installation

  • Installer le paquet de bind :
apt update && apt install -y bind9 

  • Au cas où un fichier vous souhaiteriez restaurer les fichiers de configuration par défaut, je vous recommande de faire une sauvegarde de ces différents fichiers :

cp /etc/bind/named.conf /etc/bind/named.conf.bak
cp /etc/bind/named.conf.options /etc/bind/named.conf.options.bak
cp /etc/bind/named.conf.local /etc/bind/named.conf.local.bak

Configuration

  • Éditez le fichier /etc/bind/named.conf.local pour configurer la zone DNS et ajoutez-y ce contenu (à adapter) :
// Configuration DNS
zone "elie.local" IN {
type master;
file "db.elie.local";
allow-update { none; };
};

// Configuration Reverse DNS sur un réseau 10.100.0.X
zone "0.100.10.in-addr.arpa" IN {
type master;
file "rev.elie.local";
allow-update { none; };
};

Ajout des entrées DNS

À chaque fois que vous voudrez ajouter une entrée DNS, il faudra écrire l'entrée le fichier de configuration DNS et dans le fichier de configuration du reverse DNS.

  • Pour commencer, déplacez-vous dans le répertoire  /var/cache/bind/ et créez votre fichier de configuration des enrtées DNS, ici c'est le fichier db.elie.local et ajoutez le contenu suivant (à adapter) :
$TTL 86400
@ IN SOA debian-dns.elie.local. root.elie.local. (
2022111401
1w
1d
4w
1w )
@ IN NS debian-dns.elie.local.
debian-dns IN A 10.100.0.86

; SET DNS RECORDS
mail IN A 10.100.0.200
debian-client-1 IN A 10.100.0.201

Ici, le serveur DNS ayant pour adresse IP 10.100.0.86 aura le nom debian-dns.elie.local qui est enregistré comme entrée de type A.

On peut voir en dessous qu'un serveur de messagerie et un poste client sont aussi enregistrés dans la base sous leurs noms respectifs (à vous de mettre vos propres entrées).

  • Ensuite, toujours dans le répertoire /var/cache/bind/ il faut créer le fichier de configuration du reverse DNS, ici rev.elie.local :
$TTL 86400
@ IN SOA debian-dns.elie.local. root.elie.local. (
2022111401
1w
1d
4w
1w )
@ IN NS debian-dns.elie.local.
86 IN PTR debian-dns.elie.local

; SET DNS RECORDS
200 IN PTR mail.elie.local
201 IN PTR debian-client-1.elie.local

On s'aperçoit que le contenu est similaire à la configuration du DNS avec un différence majeure au niveau des entrées DNS qui sont de type PTR et où on indique la valeur du dernier octet de l'adresse IP pointant vers le nom correspondant.

Par exemple on reconnait l'entrée du serveur de messagerie "200 IN PTR mail.elie.local" où 200 correspond au dernier octet de son adresse c'est à dire 10.100.0.200.

Modification des droits des fichiers

Afin que Bind puisse exploiter vos fichiers de configuration, les bons droits doivent être mis dessus :

chgrp bind /var/cache/bin/*
chmod 664 /var/cache/bind/*

Modification de /etc/resolv.conf

Il faut indiquer au serveur que le serveur DNS correspond désormais à lui-même dans le fichier /etc/resolv.conf :

echo "nameserver 10.100.0.86" > /etc/resolv.conf