Вы находитесь на странице: 1из 7

Bind 9 Serveur DNS

LIEN IMPORTANTS:
http://coagul.org/drupal/node/140/
http://doc.ubuntu-fr.org/bind9
http://www.commentcamarche.net/contents/internet/dns.php3
Service TCP/IP permettant la correspondance entre un nom de domaine et une adresse IP:
Structure du System DNS:
Un system DNS est compos de plusieurs serveurs distribus permettant de rendre disponible l'espace de noms
hirarchique permettant de garantir l'unicit d'un nom dans une structure arborescente:

La racine permet de rattacher tout les TLD, elle est reprsent par un .

Les TLD (Top Level Domains) correspondent aux domaines de plus haut niveau. Ils sont scinds en deux
catgories:
Les gTLD (generic TLD) proposant une classification selon le secteur d'activit comme:
.com : pour commercial;
.edu : pour les organismes ducatifs;
.org : pour les entreprises but non lucratifs ...

Les ccTLD (Country code TLD) correspondant aux diffrents pays


fr : france;
in : inde

Le nom de domaine correspond l'ensemble des tiquettes des nud d'une arborescence sauf l'hte
exemple : commentcamarche.net
le FQN (Fully Qualified Domain Name) est unique, il correspond l'ensemble de toute les tiquette des
nuds jusqu la racine comprise, soit : www.commentcamarche.net.

L'hte correspond un hte rseau comme par exemple www pour le nom d'un serveur web. Ce nom d'hte
doit tre unique dans son sous-domaine.

Chaque serveur de nom est dclar dans un serveur de nom de domaine immdiatement suprieur.
Chaque entit est responsable de la gestion de son nom de domaine.
Il existe normalement un serveur secondaire pour chaque domaine qui prend le relais en cas de panne.

Rsolution de noms de domaine:


Lorsqu'une application souhaite ce connecter un hte connu par son nom de domaine (ex: www.siteduzero.com),
une requte est envoye au premier serveur de noms (serveur primaire).
Si celui-ci ne possde pas l'enregistrement dans son cache,il va interroger un serveur racine,
le serveur racine renvoie une liste de serveurs de noms faisant autorit sur le domaine demand,
Le serveur primaire va pouvoir ensuite interroger et retourner l'enregistrement correspondant l'hte sur le domaine.

Pourquoi installer un serveur DNS?


-viter de tenir jour la table hosts de chaque poste client d'un rseau.
-Avoir un cache DNS qui acclre la recherche des noms.
-Sur un rseau locale, un serveur DNS permet d'acclrer le trafic sur le rseau car de nombreux services ont besoin
d'un serveur DNS bien configur pour fonctionner (WEB, POP, SMTP, )
Types d'enregistrement:
-Type A (Address) : fait correspondre une adresse IP un nom de machine;
www IN
A
192.168.1.1
-Type CNAME (Alias): cr un alias depuis un enregistrement de type A;
mail IN
A
www
-Type MX (Mail Exchange) : Dfinit vers quel serveur de la zone un e mail destination du domaine doit tre
envoy, et avec quelle priorit. Il doit pointer vers un enregistrement de type A. (Il peut y avoir plusieurs
enregistrements MX s'il existe plusieurs serveurs de messagerie sur le domaine)
IN
MX 10
mail.polodomain.lan.
mail IN
A
192.168.1.1
-Type NS (Name Server): Dfinit quels serveurs rpondent pour cette zone. Cet enregistrement doit pointer vers un
enregistrement de type A. On y dfinit le serveur matre et les esclaves (pas les furtifs).
IN
NS
ns.polodomain.lan.
[]
ns
IN
A
192.168.1.1
-SOA : (Start Of Authotity): indique le serveur de nom ayant autorit sur la zone, ainsi que l'adresse mail du contact
technique (dont @ est remplac par un .)
-PTR : un pointeur vers une autre partie de l'espace de noms de domaines.

Type d'utilisation du serveur Bind


Serveur cache
Dans cette configuration, BIND9 va effectuer les requtes DNS et se rappeler de la rponse pour la prochaine requte.
Cette mthode peut tre utile pour une connexion internet lente. En mettant les rponses DNS en cache, on augmente
la bande passante et on rduit galement le temps de latence.
Serveur matre
Utilis pour contenir les enregistrements DNS d'un nom de domaine enregistr. Un ensemble d'enregistrements DNS
pour un nom de domaine est appel une zone. (Le nom de domaine peut tre imaginaire si on est dans le cas d'un
rseau local ferm).
Serveur esclave
Utilis en complment un serveur matre, en servant de copie la ou les zones configures sur le serveur principal.
Les serveurs secondaires sont recommands sur des gros rseau. Ceux-ci assurent la disponibilit de la zone DNS,
mme si le serveur matre est hors ligne.
Serveur Hybrides
Combines les configurations prsentes.
Serveurs furtifs
C'est la configuration d'un serveur matre ou esclave mais de faon n'tre visible qu' l'intrieur du domaine. (Pas
interroger depuis Internet)
Serveurs Rcursifs / Non rcursifs
Par dfaut Rcursif sous Bind9, ils interrogent tour tour les serveurs DNS ncessaires jusqu' obtenir la rponse, et
la transmettre leur client.
Dans l'autre cas, le serveur DNS dlgue la rsolution du nom de domaine un autre serveur DNS.

Bind tant le serveur DNS le plus rpandu et le plus reconnu, le tuto portera donc sur bind9.
Pour ce Tuto Nous allons tudier uniquement le fonctionnement d'un serveur Matre.
Avant propos:
Le nom de domaine polo-domain.lan est titre d'exemple et peut tre remplac par n'importe quel autre nom.
Les nom venant avant le nom de domaine : exemple ns.polo-domain.lan correspond au nom de lhte.

Schma du rseau de test pour l'installation:

Vrifications:
Premirement vrifier le fichier /etc/host.conf

order hosts, bind


multi on
La premire ligne indique au system de commencer la recherche DNS en regardant la table hosts et ensuite si il n'y a
pas de correspondance, interroger le serveur DNS Bind.
La table /etc/hosts

127.0.0.1
192.168.1.2

localhost
ns.polo-domain.lan

La premire ligne est obligatoire pour que le systme fonctionne mme sans rseau.
Les autres lignes font la correspondance entre nom et IP en l'absence de serveur DNS.
Si le rsultat n'est pas trouv dans la table hosts, alors il recherchera le serveur DNS indiqu dans le fichier
/etc/resolv.conf

domain polo-domain.lan
#Nom du domaine.
search polo-domain.lan
#Nom ajouter lors de la rsolution de nom
nameserver 192.168.1.2
#(Ip du DNS primaire)
#nameserver X.X.X.X
(Ip du DNS secondaire)

Installation du serveur:
# apt-get install bind9
Installation d'outils et de documentation pratique:
#apt-get install dnsutils bind9-doc
Configuration Serveur Matre
Les Fichiers de configuration sont prsent dans:
/etc/bind/
Procdure faire pour chaque nouvelle zone:
-Ajouter une nouvelle zone dans le fichier: named.conf.local
zone polo-domain.lan {
type master;
file /etc/bind/db.polo-domain.lan;
};

#Indique le nom du domaine


#Indique le type serveur de Bind
#fichier de correspondance Ip/Noms

zone 0.168.192.in-addr.arpa {
type master;
file /etc/bind/db.192;
notify no;
};
-Copier le fichier d'une zone existante comme modle:
cp /etc/bind/db.local /etc/bind/db.polo-domain.lan
diter le nouveau fichier pour la zone db.polo-domain.lan
$TTL 604800
@
IN
SOA ns.polo-domain.lan. admin.polo-domain.lan. (
2011121502 ; Serial
#A changer chaque modifications ! (Date US + 01) ...
604800
; Refresh
#Dlai avant que le serveur esclave vrifie que le serveur
86400
; Retry
matre rpond bien.
2419200
; Expire
604800 )
; Negative cache TTL
#Dure de vie minimum du cache
;
@
ns
dhcp

IN
IN
IN

NS
A
A

ns.polo-domain.lan.
192.168.1.2
192.168.1.3

; permet au serveur de se reconnatre


; idem
; Nom correspondant au serveur dhcp

-Copier le fichier db.127 db.192


diter le fichier db.192
$TTL 604800
@
IN
SOA ns.polo-domain.lan. admin.polo-domain.lan. (
2011121502 ; Serial
604800
; Refresh
86400
; Retry
2419200
; Expire
604800 )
; Negative cache TTL
;
@
IN
NS
ns.
2
IN
PTR ns.polo-domain.lan.
; #1er Chiffre remplacer par le dernier Octet de l'IP du
; serveur

- Il faut maintenant redmarrer le dmon


sudo service bind9 restart
-Vrifier les logs si besoin:
tail -50 /var/log/syslog
Effectuer des Tests:
-ping ns
-named-checkzone polo-domain.lan /etc/bind/db.polo-domain.lan
-named-checkzone polo-domain.lan /etc/bind/db.192
-host ns
-host 192.168.1.2
-nslookup ns
-nslookup 192.168.1.2
-dig 0.168.192.in-addr.arpa. AXFR
-dig ns.polo-domain.lan
-dig -x 192.168.1.2

--ANNEXE-Il ne faut pas oublier de bien configurer l'interface rseau du DNS dans /etc/network/interface
dition du DHCP :
Il ne faut pas oublier de renseigner les lignes suivantes dans le serveur DHCP : (/etc/dhcp/dhcpd.conf)
option domain-name-servers 192.168.1.2 ;
option domain-name polo-domain.lan ;
De plus il faut pour plus de cohrence et de scurit rajouter un serveur Esclave qui prendra le relais du DNS primaire
en cas de dfaillance :
Configuration d'un serveur esclave (...)