Dns:configuration bind9 master
De Free-4ever.
Sommaire |
Introduction
Ce document va expliquer la configuration "basique" d'un serveur Bind9 en maître.
Cela s'applique aussi bien à une distribution Linux, testé sur Debian Sarge, que sur FreeBSD, testé en 6.1.
Prérequis
Il faudra avoir installé le paquet bind9 sur une Debian. Les configurations se passeront dans /etc/bind9
Sur FreeBSD, cela sera dans /etc/namedb/. Cela dit, il y a plusieurs cas:
- On utilise le bind compilé au niveau du système.
- On compile un port qui se nomme bind9 en lui mettant la variable WITH_PORT_REPLACES_BASE_BIND9=yes pour qu'il remplace celui du système.
Dans la suite du document, tout sera basé un FreeBSD ou j'ai compilé mon port et je l'ai installé à la place de celui du système.
il faudra donc "protéger" notre bind contre celui du système en cas de "recompilation du monde". Pour cela, ajouter la ligne suivante dans votre fichier make.conf:
NO_BIND=true
Le fichier named.conf
C'est le fichier de configuration principal. Il va nous permettre de définir à qui répond le DNS, de quelles zones il est maître ou esclave, etc...
Mon fichier named.conf bien commenté:
; Bind9 configuration
; Les options de base
options {
; le répertoire de base de bind9, pour stockage des fichiers de zone par exemple
directory "/etc/namedb";
; Le fichier PID
pid-file "/var/run/named/pid";
; le fichier de stats
statistics-file "/var/stats/named.stats";
; Sur quelle interface bind écoute
listen-on {
127.0.0.1;
192.168.1.250;
};
; Sur quelle interface ipv6 bind écoute
listen-on-v6 {
none;
};
; Notre serveur forward directement les requêtes
; quand il n'a pas les réponses dans les zones qui lui sont déclarées
forward only;
; Sur qui il forward, les serveurs du FAI par exemple
forwarders {
212.85.96.47;
212.85.97.48;
};
; Les IPs sources qui ont le droit d'interroger notre serveur:
; Dans ce cas, tout le monde
allow-query {
127.0.0.1;
0.0.0.0/0;
};
; Les IPs sources qui ont le droit de transférer les zones dont notre DNS est maître
allow-transfer {
127.0.0.1;
192.168.1.251;
};
; Les IPs sources qui le droit de faire de la récursion sur notre DNS
; Cela signifie que pour ces IPs, notre serveur DNS ira se renseigner
; si il n'a pas la réponse dans les zones dont il est maître
; dans le cas contraire, il répondre qu'il ne sait pas.
; Ici, il fait de la récursion seulement pour lui-même
allow-recursion {
127.0.0.1;
};
};
; Quelques déclarations de zones "standards"
zone "." {
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};
; RFC 3152
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
type master;
file "master/localhost-v6.rev";
};
; Configuration de notre zone:
; Déclaration de la zone
zone "free-4ever.net" {
; Son type pour ce serveur, ici maître
type master;
; le fichier où les informations sont stockés
file "master/free-4ever.net";
};
; Une zone reverse avec les mêmes paramètres
zone "1.168.192.in-addr.arpa" {
type master;
file "master/1.168.192.in-addr.arpa";
};
Nous allons devoir maintenant créer les fichiers des zones.
Le fichier de zone: free-4ever.net
Le fichier est de la forme suivante:
; Les paramètres de configuration de la zone:
; free-4ever.net: le nom de la zone
; ns.free-4ever.net: le serveur maître de la zone
; administrateur.free-4ever.net: l'adresse email de l'administrateur de la zone... avec un "." à la place du "@"
; 2006113001: le serial qu'il faudra incrementer à chaque modification
; Ensuite, ces sont les paramètres de temps de vie, expiration, etc de la zone
$ORIGIN .
$TTL 3600 ; 1 hour
free-4ever.net IN SOA ns.free-4ever.net. administrateur.free-4ever.net. (
2006113001 ; serial
7200 ; refresh
300 ; retry
604800 ; expire
86400 ; minimum
)
$TTL 86400 ; 1 day
; Le serveur DNS de la zone
NS ns.free-4ever.net.
; Les trois serveurs de mail de la zone
; avec leur poids associé
; le poids le plus faible est le préféré
MX 10 smtp.free-4ever.net.
MX 20 smtp2.free-4ever.net.
; Les entrées DNS pour la zone
$ORIGIN free-4ever.net.
; orthosie qui est une entrée de type "A"
; qui fait donc correspondre un nom à une adresse IP
orthosie A 192.168.1.250
; ns et www qui sont des entrées de type "CNAME", des alias donc
; cela fait donc correspondre ns et www à orthosie
ns CNAME orthosie
www CNAME orthosie
Il y a d'autres entrées mais les plus courantes sont là.
Le fichier de zone: 1.168.192.in-addr.arpa
Le fichier est de la forme suivante:
; Les paramètres de configuration de la zone:
; free-4ever.net: le nom de la zone
; ns.free-4ever.net: le serveur maître de la zone
; administrateur.free-4ever.net: l'adresse email de l'administrateur de la zone... avec un "." à la place du "@"
; 2006113001: le serial qu'il faudra incrementer à chaque modification
; Ensuite, ces sont les paramètres de temps de vie, expiration, etc de la zone
$ORIGIN .
$TTL 3600 ; 1 hour
1.168.192.in-addr.arpa IN SOA ns.free-4ever.net. administrateur.free-4ever.net. (
2006113001 ; serial
7200 ; refresh
300 ; retry
604800 ; expire
86400 ; minimum
)
$TTL 86400 ; 1 day
; Les deux serveurs DNS de la zone
NS ns.free-4ever.net.
; Les trois serveurs de mail de la zone
; avec leur poids associé
; le poids le plus faible est le préféré
MX 10 smtp.free-4ever.net.
MX 20 smtp2.free-4ever.net.
; Les entrées DNS pour la zone
$ORIGIN 1.168.192.in-addr.arpa.
; 250 qui a une entrée de type "PTR"
; qui fait donc correspondre un nom à une adresse IP
250 PTR orthosie.free-4ever.net.
Vous noterez que dans ce fichier, tous les adresses IP sont données à l'envers !
Pour chaque enregistrement "PTR", le nom qui lui est associé doit se terminer par un ".", cela est très très important pour marquer la fin du nom... il n'y a rien à concaténer derrière.
Application des modifications
Il ne reste plus qu'a redémarrer notre daemon pour prendre en compte les modifications:
/etc/rc.d/named restart
Mot de la fin
Voila notre serveur DNS maître qui est fonctionnel.
Nous pourrons maintenant configurer un esclave pour avoir 2 serveurs DNS qui servent la même zone. Pour cela, vous pouvez suivre le document suivant: Configuration Bind9 en slave
Un serveur DNS peut à la fois être maître sur certaines zones et esclave sur d'autres.
Par: Silencer 12 juin 2007 à 11:42 (CEST)

