Installation / Configuration Bind9


Le : Dimanche 11 Septembre 2005 Configuration Serveur DNS (Bind9 )


Prenons le cas d'un serveur dont son nom est serveur libre.com, si celui-ci héberge un serveur DNS on pourra attribuer à chaque machine un nom de type nom_machine@libre.com. D'autre part on attribuera facilement un nom à chaque service (ex : pour un accés au serveur ftp au lieu de mettre l'ip dans le client ftp on mettra le nom ftp.libre.com). Dans un environnement Unix, la question ne se pose pas vraiment ; le seul logiciel généraliste un tant soit peu répandu est BIND. Il en existe quelques autres, mais BIND est le seul qui soit à la fois "terminé'' (c'est-à-dire utilisable en production) et raisonnablement complet. La configuration donnée ici est valable pour BIND 9, dernière version disponible afin d'eviter les trous de sécurité qui sont régulièrement corrigés (ex : Over Dns).

Tout d'abord le premier fichier à configurer est named.conf, celui-ci contient la liste de tous les domaines déclarés. Il se compose de plusieurs champs que l'on appelle "zones", une zone est soit de type master, c'est à dire maître sur son domaine réseau, ou secondaire. Dans la configuration qui suit chaque zone sera considérée commme primaire. Dans ce fichier de configuration, nous déclarons aussi la résolution ip => nom et nom => ip ( Dns et Reverse-Dns )



Configuration named.conf


zone "localhost" { Déclaration de la zone localhot ( Boucle locale )
type master; Maitre de sa zone
file "/etc/bind/db.local"; Chemin où est stoké le fichier de configuration de la zone DNS
};

zone "127.in-addr.arpa" { Déclaration Reverse-dns du localhost
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" { Déclaration du dns du masque réseau
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" { Déclaration du reverse-dns du masque réseau
type master;
file "/etc/bind/db.255";
};

zone "libre.com" { Déclaration du domaine libre.com
type master;
file "/etc/bind/libre.com";
};

zone "30.168.192.in-addr.arpa" { Déclaration du reverse-dns du domaine libre.com
type master;
file "/etc/bind/db.192.168.30";
};


Nous ne détaillerons pas toute la configuration des fichiers mais néanmoins, nous pouvons nous arrêter sur les fichiers permettant la déclaration des noms de machines et services.

Le premier fichier /etc/bind/libre.com se compose comme ceci, il permet d'attribuer un nom à une IP :


$TTL 864000

@ IN SOA dns.libre.com. root.libre.com. // Adresse mail de l'administrateur

(
2000042701 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN NS dns.libre.com. // Nom du serveur Dns

@ IN MX 10 dns.libre.com. // Champ MX qui définit les noms


serveur IN A 192.168.30.1 // On attribue le nom serveur à l'ip 192.168.30.1
secretaire IN A 192.168.30.2 // De même pour les autres machines

comptable IN A 192.168.30.3
commercial IN A 192.168.30.4
admin IN A 192.168.30.5


www IN CNAME serveur.libre.com. // Adresse www.libre.com

ssh IN CNAME serveur.libre.com. // Pour serveur ssh
pop IN CNAME serveur.libre.com. // Pour seveur pop3
smtp IN CNAME serveur.libre.com. // Pour le serveur smtp Postfix

smtps IN CNAME serveur.libre.com // Serveur smtp SSL

pops IN CNAME serveur.libre.com. // Serveur pop SSL

imap IN CNAME serveur.libre.com // Serveur courier imap
ftp IN CNAME serveur.libre.com.
webmail IN CNAME serveur.libre.com.

stats IN CNAME serveur.libre.com.

easy IN CNAME serveur.libre.com.
administration IN CNAME serveur.libre.com.

web IN CNAME serveur.libre.com.

oscommerce IN CNAME serveur.libre.com.


Le champ CNAME (Canonical NAME) sert à donner plusieurs noms à la même machine en l'occurence ici serveur.libre.com. Par conséquent, www est un alias du champ NS sur serveur.libre.com

Les alias webmail, stats, easy et autres ont été créés dans le but de simplifier les urls pour rendre l'interface ergonomique et les accès plus faciles.


Le 2ème fichier, lui, permet d'attribuer un ip à un nom ce quel l'on appelle reverse-dns :


$TTL 86400

@ IN SOA dns.libre.com. root.libre.com. (
2000042702 ; serial
0 ; refresh
0 ; retry
0 ; expire
0 ; default_ttl
)
@ IN NS dns.libre.com.

1 IN PTR serveur.libre.com.
2 IN PTR secretaire.libre.com.
3 IN PTR comptable.libre.com.
4 IN PTR commercial.libre.com.
5 IN PTR admin.libre.com
.


Ce fichier de configuration spécifie au serveur la résolution Adresse ip = Nom machine, ceci est nécéssaire car les adresses du réseau ici sont fixes, et pour les communications entre les postes cette résolution est obligatoire pour le serveur.




by TaLi