Comprendre le bitcoin, l'intelligence artificielle, faire un site web... En 3 minutes en vidéo!

Installer et configurer un serveur DNS avec Bind 9

Tutoriaux > Internet & Réseaux > Installer et configurer un serveur DNS avec Bind 9

Installer et configurer un serveur DNS avec Bind 9
Explications pratiques sur la configuration d'un serveur de noms DNS avec Bind, pour gérer vous-même votre nom de domaine et les noms de vos serveurs facilement.

Introduction

Avant de commencer ce tutoriel, vous devez avoir quelques notions concernant la résolution de noms sur internet et le système DNS.Sourire

Si vous n'êtes pas familier avec DNS, vous pouvez consulter notre tutoriel sur DNS et la résolution de noms sur Internet.

Installation de Bind9

Debian / Ubuntu


Pour les distributions de type Debian (paquets *.deb), exécutez la commande ci-dessous (dans votre terminal):

sudo apt-get install bind9


Red Hat


Pour les distributions basées sur RedHat (paquets *.rpm), tapez ceci dans votre terminal:

sudo yum install named


Environnement de test


Pour ce tuto, j'ai pris l'exemple d'un serveur maître d'adresse 1.2.3.253 et un serveur esclave d'adresse 1.2.3.252 gérant une zone appelée exemple.com, qui contient plusieurs machines possédant des adresses IP dans le réseau 1.2.3.0/24

Configuration de Bind

Sous Debian/Ubuntu, tous les fichiers sont placés dans /etc/bind/. Dans le cas de RedHat/CentOS/Fedora, le fichier de configuration principal (nommé named.conf) est placé dans /etc/, et les fichiers de zone (qui contiennent toutes les informations relatives aux domaines gérés) sont placés dans /var/named/.

Cette seconde configuration étant la plus répandue, c'est celle que j'utiliserai ici.

named.conf

Tout d'abord, explorons un peu le fichier named.conf:


#Les options generales du serveur
options {
directory "/var/named"; #Repertoire ou sont situes les fichiers de zone
dump-file "/var/named/data/cache_dump.db"; #Emplacement du fichier de sauvegarde
statistics-file "/var/named/data/named_stats.txt"; #Fichier ou seront placees les statistiques d'utilisation du serveur DNS

#Definir si le serveur ecoute en IPv6 ou pas
listen-on-v6 {
none;
};
allow-recursion { 1.2.3.0/24; }; #On autorise les requetes recursives uniquement en provenance des clients locaux
};

#Zone racine
zone "." IN {
type hint;
file "named.ca";
};

#Zone sur laquelle on a autorite
zone "exemple.com" IN {
type master; #On est le serveur maitre
file "exemple.com.hosts"
also-notify {
1.2.3.252;
};
};

#Zone inverse
zone "3.2.1.in-addr.arpa" IN {
type master;
file "3.2.1.rev";
also-notify {
1.2.3.252;
};
};


Les paramètres:


  • type: Il définit quel rôle joue le serveur sur la zone. Il peut prendre les valeurs master (serveur maître de la zone), slave (serveur esclave), hint (définition de la zone racine), delegation-only (pour déléguer un sous-domaine à un autre serveur) et forward, pour spécifier à quel serveur transmettre la requête en cas de non résolution)

  • also-notify: Définit les serveurs esclaves de la zone, pour pouvoir leur transmettre les informations régulièrement


Les fichiers de zone

Fichier : exemple.com.hosts:



$TTL 86400
$ORIGIN exemple.com
@ IN SOA ns1.exemple.com. root.exemple.com. (

2010071401 ; serial
21600 ; refresh after 6 hours
3600 ; retry after 1 hour
604800 ; expires after 1 week
86400 ) ; minimum TTL 1 day
)



IN NS ns1.exemple.com.
IN NS ns2.exemple.com.

ns1 IN A 1.2.3.253
ns2 IN A 1.2.3.252

www IN A 1.2.3.4
ftp IN CNAME www


Examinons ligne par ligneSourire


  • $TTL est le temps (en secondes) pendant lequel l'information sera gardée en cache par le client qui interrogera ce serveur (ici 1 jour). Une fois ce temps écoulé, l'information sera redemandée au serveur.

  • $ORIGIN est l'adresse du domaine. Elle sera rajoutée automatiquement après les noms ne se terminant pas par un point (Exemple: www IN A 1.2.3.4 sera compris comme www.exemple.com. IN A 1.2.3.4). Pour désigner le domaine, on utilise ensuite l'arobase @.

  • La ligne suivante est l'enregistrement SOA (décrit ci-dessus). Il définit le serveur primaire (ns1.exemple.com) et l'adresse mail du contact technique ([email protected]), ainsi que quelques paramètres de temps.


Citation

Mais pourquoi l'adresse mail ne contient pas d'arobase ?


Parce que l'arobase désigne exemple.com. Si on écrivait [email protected], le serveur comprendrait root.exemple.com.exemple.com, alors qu'avec un point, il remplace lui-même par un véritable @.Sourire

Les lignes entre parenthèses définissent des données particulières:


  • Serial est le numéro de version du fichier. Le serveur esclave le compare avec celui qu'il possède, et utilise le plus récent des deux.

  • Refresh est le temps que le serveur doit attendre avant recharger sa configuration depuis le serveur maître.

  • Retry est le temps à attendre avant de recontacter le maître si le premier contact (après expiration du temps de refresh) a échoué

  • Le paramètre Expires définit le temps de non réponse du serveur primaire après lequel les informations sont considérées comme invalides

  • Le dernier paramètre, TTL (Time To Live) précise la durée par défaut pendant laquelle un serveur pourra garder l'information en cache.


Les valeurs indiquées dans cet exemple sont les valeurs par défaut spécifiées dans les fichiers d'exemple de Bind.

Les enregistrements (Resource Records)


Les enregistrements suivants décrivent les serveurs de noms qui gèrent la zone (NS), les adresses des machines de la zone (A), et un nom canonique (CNAME).

À noter qu'il est possible de spécifier pour chaque enregistrement un TTL spécifique, en l'écrivant de cette manière:

www		IN	A	3600		1.2.3.4


Encore une fois, si vous souhaitez plus d'informations sur les types d'enregistrement possibles et le fonctionnement de DNS, consultez notre tutoriel sur le système DNS et la résolution de noms sur l'InternetSourire

Et pour la résolution inverse ?


Les fichiers de zone utilisés pour la résolution inverse sont sensiblement les mêmes que celui présenté ci-dessus, à la différence près qu'il contiennent uniquement des enregistrements de type NS et PTR.Cool

Pour toute rectification ou pour demander de compléter le tuto sur certains points, n'hésitez pas à m'envoyer un MP ! Cool

Pour poser des questions à propos de ce tutoriel, rendez-vous sur le forum Internet & Réseaux.Content

Par ju2cho7 , Le 06 Novembre 2010 à 12h20
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.

Retour à Internet & Réseaux

Ajouter un commentaire

Suite a un fort volume de spam, les commentaires d'invités sont pour le moment désactivés. Vous devez vous inscrire ou vous identifier pour pouvoir commenter cet article, ou demander du support.

Lectures recommandées

Commentaires sur cet article

Aucun commentaire pour le moment.

Tutoriaux > Internet & Réseaux > Installer et configurer un serveur DNS avec Bind 9