Nous allons donc installer et configurer un serveur DNS et pour cela nous allons utiliser le logiciel Bind

Procédons donc tout d'abord à sont installation grâce à yum :

Installation

yum install bind-chroot

Appliquons quelques changements de permissions :

chmod 755 /var/named/
chmod 775 /var/named/chroot/
chmod 775 /var/named/chroot/var/
chmod 775 /var/named/chroot/var/named/
chmod 775 /var/named/chroot/var/run/
chmod 777 /var/named/chroot/var/run/named/

Bind est ici installé en chroot, c'est à dire qu'on a modifié son répertoire racine pour assurer une meilleure sécurité.

Créons donc un lien symbolique pour faire pointer le répertoire classique sur le répertoire chrooté :

cd /var/named/chroot/var/named/
ln -s ../../ chroot

Pour finir l'installation de Bind, nous allons le démarrer au boot de la machine :

chkconfig --levels 235 named on

Voilà Bind est maintenant installé convenablement, nous allons pouvoir configurer lui attribuer une configuration de base.

Configuration

Nous allons ouvrir le fichier /etc/named.conf pour et modifier les lignes comme suit :

allow-recursion { localhost; };
version "SECRET";

Ceci afin d'assurer la sécurité de Bind, nous allons cacher son numéro de version ainsi que n'autoriser les requètes recursives que depuis lui-même ( à modifier en fonction de vos besoins bien sûr ).
Tout le reste devrait être correct, afin de ne plus avoir a modifier ce fichier ( pour éviter les erreurs ) nous allons ajouter cette ligne à la fin de /etc/named.conf

include "/etc/named.conf.local";

Puis nous poursuivrons la configuration des noms de domaine hébergés dans ce fichier.

Déclaration d'un serveur DNS primaire

Editer le fichier /etc/named.conf.local en ajoutant :

zone "votredomaine.com" IN {
type master;
file "/var/named/votredomaine.com.zone";
allow-update { none; };
};

En personnalisant bien sûr avec votre propre nom de domaine.
Il faudra répéter cette opération pour chacun de vos noms de domaine à héberger.

Configuration de votre zone

A chacune de vos zones doit correspondre un fichier dans /etc/named/votredomaine.com.zone
Voici un exemle qui est bien entendu à personnaliser à votre guise :

$ttl 38400
votredomaine.com. IN SOA ns.votredomaine.com. dnsmaster.votredomaine.com. (
2006110801
10800
3600
604800
38400 )

@ IN NS ns.votredomaine.com.
@ IN NS ns2.votredomaine.com.

@ IN MX 10 mail.votredomaine.com.
@ IN MX 20 mail2.votredomaine.com.

@ IN A votreip
www IN A votreip
* IN CNAME www

mail IN A votreip
mail2 IN A votreip
ns IN A votreip
ns2 IN A votreip

Une fois votre zone configurée vous pouvez lancer la commande pour prendre en compte les modifications ( n'oubliez pas d'incrémenter le serial ( ex : 2006110801 = YYMMJJ?? ) qui permet de synchroniser votre serveur DNS primaire à votre serveur DNS secondaire ) :

rndc reload

Mettez aussi votre serveur dans la liste de vos resolver DNS en ajoutant cette liste en haut de votre fichier /etc/resolv.conf

nameserver 127.0.0.1

Voilà tout devrait être ok, il vous suffit maintenant de vérifier que tout marche correctement avec la commande :

dig ANY votredomaine.com

N'hésitez pas à donner votre opinion et autres astuces sur la configuration de serveur DNS ou même d'indiquer la moindre erreurs que vous auriez pu relever :)


Pour allez plus loin voici quelques liens utiles :
Howto en anglais
Documentation REDHAT sur Bind
Service de serveur dns primaire et secondaire gratuit