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