Sujet : Bind sous FreeBSD.

Préambule.
Beaucoups de nos clients nous on demandé comment configurer un serveur dns sur leur serveur dedié. Nous partirons donc sur une configuration dedié standart comme ceux que nous livrons chez nous a nos clients.Tout d'abord, il faut savoir que dans la majorité des cas, nous livrons un serveur sous FreeBSD 4.X sur nos serveurs. Par defaut sur ce systeme, ISC bind est installé, mais il faut faire quelques modifications, afin que ce serveur puisse gerer vos domaines (zones).

Prérequis.:
Un serveur avec freebsd 4.X fraichement installé.

1 Bind, et ses fichiers de configurations.


Le repertoire ou se situe les fichiers de configuration est dans /etc/namedb/

A l'interieur il y a :
su-2.05b# cd /etc/namedb/
su-2.05b# ls
PROTO.localhost-v6.rev localhost.rev named.conf named.root
PROTO.localhost.rev localhost-v6.rev make-localhost
su-2.05b# ls -l

Le fichier interessant dans notre cas est named.conf, c'est celui qui fournira definira les zones à utiliser.

Voici une configuration qui fonctionnne bien pour un serveur dedié.

#couper ici #

options {
directory "/etc/namedb";
listen-on port 53 { 127.0.0.1;195.225.204.17; };
transfer-source 195.225.204.17;
version "";
allow-query {any;};
};
logging {
channel replace_syslog{
file "/var/log/named.log" versions 3 size 1000k;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category default {replace_syslog; default_debug;};
};

zone "." {
type hint;
file "named.root";
};

zone "0.0.127.in-addr.arpa" {
notify no;
type master;
file "localhost.rev";
allow-transfer {none;};
};

#couper ici

Maintenant nous allons commenter ce début de fichier.

options {

#on definit les options que on va utiliser au demarrage de BIND

directory "/etc/namedb";

#ce repertoire est le repertoire ou se situent les zones.
listen-on port 53 {127.0.0.1;195.225.204..17;}; #bind ecoutera sur localhost et sur l''ip 195.225.204.17 (à modifier selon vos ip)
transfer-source 195.225.204.17; #dans le cas ou plusieurs ip sont sur le même serveurs, bind utilisera cette ip pour effectuer un #AXFR (transfert de zone)
version ""; #ici on met une version nulle, evite aux gens de savoir sur quelle version vous tournez
allow-query {any;}; #on autorise tout le monde a interroger vos dns
}; #fin des options.

 

Ensuite vient une partie des plus importantes, Celle que vous ne devez pas manquer, celle qui vous donnera l'information si il ya un probleme. Celle qui enregistre les erreurs.

logging {
channel replace_syslog{
file "/var/log/named.log" versions 3 size 1000k;
severity info; #un type d'info
print-category yes;
print-severity yes;
print-time yes;
};
category default {replace_syslog; default_debug;};
};

Enfin vient la definition des zones dns.

zone "." {
type hint;
file "named.root";
};

La zone "." est la zone racine, celle avec qui tout a commencé et tout finira (non ce n'est pas la matrice) . Elle n'a juste que pour but de connaitre nos chers dns "root servers". Elle est utilisé si votre dns fait dns cache.
La zone "0.0.127.in-addr.arpa" est relativement utile. Pour ceux qui ont des .fr ... En effet le zonecheck effectué par l'afnic verifie si 127.0.0.1 à bien un reverse, si il n'existe pas, alors le zonecheck vous blame.


L'oeil agueri du *nixien aura remarqué la présence de fichier comme localhost.rev et named.root, c'est eux a proprement parler qui stocke l'information, ce sont des fichiers de zones.

A chaque zone, son fichier.

Après avoir vu comment definir chaque zone. Nous allons devoir les remplir d'informations.

Prenons par exemple le domaine venigo.fr
cat /etc/namedb/venigo.fr.db

#couper ici ;-)
$TTL 86400
@ IN SOA ns1.venigo.net. hostmaster.venigo.net. ( 2004091406 10800 3600 604800 38400 )

IN NS ns1.venigo.net.
IN NS ns2.venigo.net.
IN A 195.225.204.18
IN MX 10 mx1.venigo.net.
IN MX 15 mx2.venigo.net.

#couper ici

Alors la quesque l'on a:

Au depart on definit le Time to live, durée de vie de la zone en secondes. ici une journée.

ensuite le SOA.( qui contient le numero de la serie de la zone)

Puis les enregistrements NS. de notre coté on a 2 dns qui sont ns1.venigo.net et ns2.venigo.net

On veut que par exemple l'adresse http://venigo.fr pointe vers 195.225.204.18 donc on defini un A comme ici
Puis on definit nos Mail eXchanger ou serveurs de mails. ici mx1.venigo.net et mx2.venigo.net

Vous souhaitez rajouter par exemple www a votre domaine.
vous mettez alors
www IN A 195.225.204.18

Voila.
Vous avez vu comment configurer un serveur BIND sous FreeBSD.

 

Cette documentation à été realisé le 2 Novembre 2004, par Jean-Dominique Baylac, administrateur réseau chez Venigo Internet Services www.venigo.fr