DNS Bind9

Transcription

DNS Bind9
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 distribués permettant de rendre disponible l'espace de noms
hiérarchique permettant de garantir l'unicité d'un nom dans une structure arborescente:
–
La racine permet de “rattacher tout les TLD”, elle est représenté par un .
–
Les TLD (Top Level Domains) correspondent aux domaines de plus haut niveau. Ils sont scindés en deux
catégories:
– 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 différents pays
– fr : france;
– in : inde …
–
Le nom de domaine correspond à l'ensemble des étiquettes des nœud d'une arborescence sauf l'hôte
– exemple : commentcamarche.net
– le FQN (Fully Qualified Domain Name) est unique, il correspond à l'ensemble de toute les étiquette des
nœuds jusqu’à la racine comprise, soit :” www.commentcamarche.net.”
–
L'hôte correspond à un hôte réseau comme par exemple www pour le nom d'un serveur web. Ce nom d'hôte
doit être unique dans son sous-domaine.
Chaque serveur de nom est déclaré dans un serveur de nom de domaine immédiatement supérieur.
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.
Résolution de noms de domaine:
Lorsqu'une application souhaite ce connecter à un hôte connu par son nom de domaine (ex: www.siteduzero.com),
une requête est envoyée au premier serveur de noms (serveur primaire).
Si celui-ci ne possède 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'hôte sur le domaine.
Pourquoi installer un serveur DNS?
-Éviter de tenir à jour la table hosts de chaque poste client d'un réseau.
-Avoir un cache DNS qui accélère la recherche des noms.
-Sur un réseau locale, un serveur DNS permet d'accélérer le trafic sur le réseau 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) : Définit 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): Définit quels serveurs répondent pour cette zone. Cet enregistrement doit pointer vers un
enregistrement de type A. On y définit le serveur maître 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 requêtes DNS et se rappeler de la réponse pour la prochaine requête.
Cette méthode peut être utile pour une connexion internet lente. En mettant les réponses DNS en cache, on augmente
la bande passante et on réduit également le temps de latence.
Serveur maître
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
réseau local fermé).
Serveur esclave
Utilisé en complément à un serveur maître, en servant de copie à la ou les zones configurées sur le serveur principal.
Les serveurs secondaires sont recommandés sur des gros réseau. Ceux-ci assurent la disponibilité de la zone DNS,
même si le serveur maître est hors ligne.
Serveur Hybrides
Combines les configurations présentées.
Serveurs furtifs
C'est la configuration d'un serveur maître ou esclave mais de façon à n'être visible qu'à l'intérieur du domaine. (Pas
interroger depuis Internet)
Serveurs Récursifs / Non récursifs
Par défaut Récursif sous Bind9, ils interrogent tour à tour les serveurs DNS nécessaires jusqu'à obtenir la réponse, et
la transmettre à leur client.
Dans l'autre cas, le serveur DNS délègue la résolution du nom de domaine à un autre serveur DNS.
Bind étant le serveur DNS le plus répandu et le plus reconnu, le tuto portera donc sur bind9.
Pour ce Tuto Nous allons étudier uniquement le fonctionnement d'un serveur Maître.
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 l’hôte.
Schéma du réseau de test pour l'installation:
Vérifications:
Premièrement vérifier le fichier /etc/host.conf
→
order hosts, bind
multi on
La première 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 première ligne est obligatoire pour que le système fonctionne même sans réseau.
Les autres lignes font la correspondance entre nom et IP en l'absence de serveur DNS.
Si le résultat 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 résolution 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 Maître
Les Fichiers de configuration sont présent dans:
/etc/bind/
Procédure à 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 modèle:
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
#Délai avant que le serveur esclave vérifie que le serveur
86400
; Retry
maître répond bien.
2419200
; Expire
604800 )
; Negative cache TTL
#Durée 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 reconnaître
; 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 redémarrer le démon
sudo service bind9 restart
-Vérifier 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 réseau 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 cohérence et de sécurité rajouter un serveur Esclave qui prendra le relais du DNS primaire
en cas de défaillance :
Configuration d'un serveur esclave (...)

Documents pareils

Compte rendu DNS

Compte rendu DNS Copier le fichier db.local afin de s’en servir comme base de travail : cp /etc/bind/db.local /etc/bind/db.domaine.lan Modifier le fichier /etc/bind/db.domaine.lan Afin de rajouter des alias (CNAME ...

Plus en détail

BIND : installer un serveur DNS

BIND : installer un serveur DNS de @, vous auriez très bien pu indiquez bureau.lan. (n'oubliez pas le "." à la fin !!!). Ensuite, on indique IN qui signifie que l'on a affaire à une zone Internet; c'est pour ainsi dire toujours l...

Plus en détail