Domain Name Service (DNS)

Transcription

Domain Name Service (DNS)
Domain Name Service (DNS)
n
FOSSOUO Xavier (AUF)
n
[email protected]
PLAN
n
n
n
n
n
n
n
n
Introduction
Nommage avec /etc/hosts
Principe du découpage en
domaines
Configuration de BIND
Création d’une zone
Outils de débuggage (dig,
nslookup)
Déclaration d’une zone en
esclave
Enregistrement sur le TLD
n
n
DNS inverse
Autres RR: CNAME,
MX, TXT, AAAA
Introduction, le besoin
n
Besoin
n
n
n
nommer une machine sur le réseau en
effectuant une correspondance entre le nom
choisi et le numéro IP (résolution de nom)
trouver le nom d ’une machine à partir de son
numéro IP (résolution inverse)
identifier un groupe de machines ayant des
ressources réseau communes (relais de
messagerie, …)
Introduction (suite)
n
Quelques exemples simples :
n
n
n
n
n
n
n
nom de domaine : afnic.asso.fr
nom de machine : ftp.afnic.asso.fr fi adresse ip
192.134.4.13
nom de machine : relay1.afnic.asso.fr fi adresse ip
192.134.4.17
nom de machine : www.afnic.asso.fr fi adresse ip
192.134.4.11
nom de machine : www.nic.fr fi adresse ip 192.134.4.11
adresse IP : 192.134.4.11
fi www.afnic.asso.fr
fi www.nic.fr
Une information dans le DNS indique vers quelle
machine diriger le courrier électronique :
n
[email protected] fl relay1.afnic.asso.fr fi adresse ip
192.134.4.17
Introduction (suite)
n
Jusqu’en 1984 : fichier hosts.txt => /etc/hosts
n
inadapté à grande échelle
n
n
n
n
n
n
n
temps de diffusion des infos (par ftp !)
système centralisé
quelques centaines de machines dans les années 70
plusieurs millions aujourd’hui
correspondance statique
ne contient que des infos réduites
noms enregistrés sous le domaine arpa
=> collision rapide de noms
Introduction (suite)
n
Après 1984 : Domain Name System
Paul Mockapetris - RFC 882 883 puis 1034
1035
n
système hiérarchisé et distribué
n
n
modèle en arborescence (similaire à l’arborescence d’un
système de fichiers avec ses répertoires)
gestion décentralisée des bases de données
=> chaque site est maître de ses données
n informations complémentaires : relais de
messagerie, …
n correspondance dynamique
n limite les risques de collisions de noms
Introduction (fin)
n
RFC’s
n
n
Documentation
n
n
n
n
1032, 1033, 1034, 1035, 1101, 1122, 1123, 1183,
1713, 1794, 1912, 1995, 1996, 2010, 2136, 2137,
2181, 2308, 2535-2541
http://www.dns.net/dnsrd/ (RFC, drafts, FAQ, …)
http://www.nic.fr/Guides/DNS.html
http://www.nic.fr/Formation/
Livres
n
DNS and BIND (Paul Albitz & Cricket Liu)
Les noms de domaine
Un nom de domaine est est la séquence de labels depuis le noeud de
l’arbre correspondant jusqu’à la racine
org
M1.auf.org
auf
m1
Deux noeuds fils ne peuvent avoir le même nom ==> unicité d’un
nom de domaine au niveau mondial
Le domaine
Un domaine est un sous-arbre de l’espace nom de domaine
Domaine complet
org
Domaine org
Domaine AUF
auf
refer
m1
noeud m1.auf.org
Des noeuds peuvent avoir les
mêmes noms dans des
domaines différents :
ns.auf.org et ns.refer.org
Concepts, résumé et extension
Un domaine est un sous-arbre de l’espace Nom de domaine
Un domaine est constitué de noms de domaine et d’ autres domaines
Un domaine intérieur à un autre domaine est appelé un sous domaine
Une Zone : est la partie descriptive pour un niveau donnée.
Exemple : le domaine org comprend le noeud org et tous les nœuds
contenus dans tous les sous-domaines de org
Un nom de domaine est un index dans la base DNS; exemple :
n m1.auf.org
pointe vers une adresse IP
n Auf.org
pointe vers des informations de routage de mail et
éventuellement des informations de sous-domaines
n org
pointe vers des informations structurelles de sousdomaines
Les machines sont reliées entre elles dans un même domaine logiquement
et non par adressage. Exemple : 10 machines d’un même domaine
appartiennent à 10 réseaux différents et recouvrent 6 pays différents.
Hiérarchie des domaines
Le système DNS impose peu de règles de nommage :
n noms < 63 caractères
n majuscules et minuscules non significatives
n pas de signification imposée pour les labels
Hiérarchie des domaines (suite)
Le premier niveau de l’espace DNS fait exception à la règle :
n 7 domaines racines prédéfinis :
n com : organisations commerciales ; ibm.com
n edu : organisations concernant l’education ; mit.edu
n gov : organisations gouvernementales ; nsf.gov
n mil : organisations militaires ; army.mil
n net : organisations réseau Internet ; worldnet.net
n org : organisations non commerciales ; eff.org
n int : organisations internationales ; nato.int
n arpa : domaine reservé à la résolution de nom inversée
n organisations nationales : cm, fr, uk, de, it, us, au, ca,
se, etc.
Hiérarchie des domaines (suite)
n
n
n
Nouveaux domaines racine en cours de normalisation:
n firm, store, web, arts, rec, info, nom
Certaines organisations nationales peuvent être gérées
administrativement par un consortium : RIPE
Les divisions en sous-domaines existent dans certains pays et pas
dans d’autres :
n edu.au, com.au, etc.
n co.uk, ac.uk, etc.
n ca.ab, ca.on, ca.gb
n pas de division du .fr, .cm
Lecture des noms de domaine
n
A l’inverse de l’adressage IP la partie la plus significative si situe à
gauche de la syntaxe :
www.cm.refer.org
vers le plus significatif
195.24.200.202
vers le plus significatif
www. cm. refer.org
domaine org (.org)
domaine de l’organisation REFER
sous-domaine refer
machine www du domaine cm.refer.org
BIND (The Berkeley Internet
Name Domain)
n
n
n
n
BIND est un serveur de nom pour Unix
Implémente le Domain Name System (DNS): RFC
1034 et 1035
Une partie serveur: implémentée par la commande
/usr/sbin/named
Une partie client: bibliothèque C statique et
dynamique (libresolv.a et libresolv.so) avec laquelle
sont liées statiquement ou dynamiquement toutes les
applications utilisant le DNS.
BIND (suite)
n
n
n
n
BIND permet la résolution de noms: établir la
correspondance entre un nom de machine et une
adresse IP et réciproquement.
En général, toutes les applications utilisant les services
de l’Internet utilisent le DNS: les appels systèmes des
mécanismes de communication n’utilisent que des
adresses IP alors que les applications utilisent
essentiellement les noms. Ex:
Netscape http://www.cm.refer.org =>requête au DNS
pour trouver l’adresse de www.cm.refer.org
Réception d’une demande de connexion par telnet
=>requête au DNS par le serveur telnetd pour
connaître le nom de la machine appelante.
$ telnet
DNS
m1.centralweb.fr
Demande de résolution
m1.centralwebfr ????
client
Réponse
Telnet
193.148.37.201
serveur
DNS
serveur
DNS
193.148.37.201
serveur
Telnetd
serveur
DNS
Types de serveurs de nom
n
n
Serveur de nom primaire : maintient la base de
données de la zone dont il a l’autorité administrative
Serveur de nom secondaire : obtient les données de
la zone via un autre serveur de nom qui a également
l’autorité administrative
n interroge périodiquement le serveur de nom primaire
et met à jour les données
n Il y a un serveur primaire et généralement plusieurs
secondaires
n La redondance permet la défaillance éventuelle du
primaire et du (des) secondaire(s)
n Un serveur de nom peut être primaire pour une (des)
zone(s) et secondaire pour d’autre(s).
Types de serveurs de noms
(suite)
n
Serveur cache: Il récupère dans un fichier la
liste des serveurs qui ont autorité sur la zone. Il
n’a pas lui même autorité sur la zone.
Un même processus named peut être à la fois
serveur primaire, secondaire, stub ou cache
d’une ou plusieurs zones.
Configuration de BIND
Cette configuration passe par trois étapes
essentielles:
n
n
n
Configuration du résolveur BIND
Configuration du serveur de nom BIND
(named)
Construction des fichiers de zone
Configuration du résolveur
Le résolveur c’est le client DNS. Il interroge
les serveurs DNS pour obtenir les
informations.
n Configuration du résolveur:
/etc/resolv.conf
Configuration du résolveur (suite)
Les principales valeurs acceptées par le
fichier /etc/resolv.conf:
- nameserver adresse: adresse des serveurs
de noms (max=3)
- domain nom: domaine par défaut
- search domain: domaines de recherche
Configuration de named
Plusieurs fichiers sont utilisés:
-
named.conf: paramètres généraux de named
et définition des pointeurs vers les bases de
données du domaine utilisées par ce serveur.
Ces pointeurs sont soit des fichiers ou des
serveurs distants.
Configuration de named (suite)
-
-
-
-
named.ca: pointeurs sur les serveurs du domaine
racine (ou named.root, root.cache,…).
named.local: résolution locale des adresses
loopback
named.hosts: fichier de zone qui fait
correspondre nom de machine et adresse IP
named.rev: fichier de zone inverse qui fait
correspondre adresse IP et nom de machines;
PS: utiliser des noms significatifs à la place de named.hosts et named.rev
/etc/named.conf
Ce fichier remplace /etc/named.boot pour
les version 8 de BIND. Un script de
conversion (named-bootconf) est fourni
pour convertir un fichier /etc/named.boot
en /etc/named.conf
named.conf (serveur primaire et cache)
Options {
directory « /var/named »; //répertoire des données
};
n
// cache des serveurs de la racine
n
zone «.» in {
};
type hint;
file «root.cache»;
// zone primaire du reverse loopback
zone «0.0.127.in-addr.arpa» {
type master;
file «named.local»;
};
named.conf (serveur cache esclave)
options {
directory «/usr/local/bind/data»; //rép. des
//données
};
zone «.» {
// cache des serveurs de la racine
type hint ;
file «root.cache»;
};
zone «0.0.127.in-addr.arpa» {
type master;
file «named.local »;
};
/etc/root.cache (ou named.ca)
n
Fichier des serveurs de la racine
n
n
n
n
n
permet de démarrer la résolution d ’une requête si
le serveur n’a aucune information
contient la liste des serveurs de nom et leur
numéro IP
primaire : A.ROOT-SERVERS.NET.
une quinzaine de serveurs secondaires à travers le
monde
peut être générer de la façon suivante :
dig @a.root-servers.net . ns > root.cache
/etc/root.cache (ou named.ca)
;; Cache file:
.
IN
NS
A.ROOT-SERVERS.NET.
IN
.
IN
NS
B.ROOT-SERVERS.NET.
IN
.
IN
NS
C.ROOT-SERVERS.NET.
IN
.
IN
NS
D.ROOT-SERVERS.NET.
IN
.
IN
NS
E.ROOT-SERVERS.NET.
IN
.
IN
NS
F.ROOT-SERVERS.NET.
IN
.
IN
NS
G.ROOT-SERVERS.NET.
IN
.
IN
NS
H.ROOT-SERVERS.NET.
IN
.
IN
NS
I.ROOT-SERVERS.NET.
IN
A.ROOT-SERVERS.NET.
A
198.41.0.4
B.ROOT-SERVERS.NET.
A
128.9.0.107
C.ROOT-SERVERS.NET.
A
192.33.4.12
D.ROOT-SERVERS.NET.
A
128.8.10.90
E.ROOT-SERVERS.NET.
A
192.203.230.10
F.ROOT-SERVERS.NET.
A
39.13.229.241
G.ROOT-SERVERS.NET.
A
192.112.36.4
H.ROOT-SERVERS.NET.
A
128.63.2.53
I.ROOT-SERVERS.NET.
A
192.36.148.17
/etc/named.local
n
@
n
n
n
n
n
n
n
1
IN
SOA
localhost. root.localhost. (
1997022700 ; Serial
28800
; Refresh
14400
; Retry
3600000 ; Expire
86400 ) ; Minimum
IN
NS
localhost.
IN
PTR
localhost.
Les Resource Records (RR)
n
n
n
n
n
n
n
n
Le RR est un enregistrement dans la base de données du DNS
Un RR par ligne
Zone IN SOA … Informations relatives à une zone.
Zone IN NS serveur indique le nom d’un serveur pour une zone
Nom IN A adresse indique l’adresse IP d’une machine
Nom IN MX pref relais indique que la mail destiné à Nom doit
être envoyé à la machine relais avec une préférence pref.
Alias IN CNAME Nom
Alias pour une machine
Adresse IN PTR Nom
Nom correspondant à une adresse IP
Le RR SOA (Start Of Authority)
Nom IN SOA Origine Responsable Information
n Nom: nom de la zone
n Origine: nom du serveur primaire de la zone
n Responsable: adresse électronique de la
personne qui gère cette zone. Attention, le
@ est remplacé par un point.
n Information: 5 valeurs, respectivement
Le RR SOA (suite)
n
n
n
n
n
1. N° de version de ce fichier
2. Temps de rafraichissement: fréquence à
laquelle un secondaire interroge un primaire pour
savoir si la base a été modifiée.
3. Réessai: fréquence des ré-essai en cas d’échec
d’un refresh.
4. Expiration: temps maximum pendant lequel un
secondaire garde une info qui n’a pas pu être
rafraîchie.
5. Durée de vie: (time to live) pour les RR de cette
zone dans les caches des serveurs DNS qui n’ont
pas autorité sur cette zone.
Le RR SOA: un exemple (fin)
; Database file cm.refer.org.db for cm.refer.org zone.
;
cm.refer.org IN SOA ns.cm.refer.org
fossouo.cm.refer.org.
(
64
; serial number
3600
; refresh
600
; retry
86400 ; expire
3600
) ; minimum TTL
L’Enregistrement NS
n
spécifie les serveurs de nom ayant
autorité sur ce domaine
;
;
cm.refer.org.
cm.refer.org.
@
IN NS
IN NS
IN NS
ns.cm.refer.org.
aupelf.refer.org.
ns2.cm.refer.org.
Enregistrements A
; Spécifie les adresses des machines:
cm.refer.org.
aupelf.refer.org.
IN
IN
A
A
195.24.200.194
193.104.62.2
$ORIGIN cm.refer.org.
ns
ns2
www
routeur
modem1
IN
IN
IN
IN
IN
A
A
A
A
A
195.24.200.194
195.24.200.195
195.24.200.202
195.24.200.193
195.24.200.206
Création d’une zone
Les grandes étapes
n
n
n
Installer le fichier /etc/named.conf
Créer le fichier de zone ( dans /var/named,
/var/cache/bind, …)
Relancer le serveur DNS (named, bind,…)
TP1
n
n
Créer une zone
Tester la zone (dig, nslookup)
Création d’une zone esclave
n
Dans /etc/named.conf
zone «inria.fr» {
// zone secondaire
type slave;
file «db.inria.fr»;
masters {192.1.1.1 ; };
};
n
Relancer named
TP2
n
Créer des zones esclaves (se faire
serveur secondaire de son voisin)
Enregistrements CNAME (alias)
; spéciifie les alias pour un nom
ftp
mail
pop
smtp
IN
IN
IN
IN
CNAME
CNAME
CNAME
CNAME
ns
ns
ns
ns
L’Enregistrement MX
n
n
n
n
MX = Mail eXchanger
Permet l’adressage Email sur la base du nom de domaine
plutôt que sur l’adresse du (des) serveur(s) de mail :
n [email protected] plutôt que
[email protected]
L’enregistrement MX est consulté par les mailers (SMTP client)
Tient compte des priorités; exemple
cm.refer.org. IN MX 5
cm.refer.org. IN MX 10
smtp.cm.refer.org.
smtp.fr.refer.org.
Résolution inverse
n
Consiste a obtenir le nom de domaine à
partir de l’adresse IP
n
n
n
pour faciliter la compréhension des humains
pour des raisons de sécurité
Plus délicate que nom -> IP car le système
DNS est organisé pour la résolution de nom
Résolution inverse (suite)
n
Solution: utiliser les adresses comme des noms :
n
n
n
n
n
n
le domaine in-addr.arpa
les noms des noeuds correspondent aux octets de
l’adresse IP en ordre inverse
le domaine in-addr.arpa a 256 sous-domaines,
chacun de ces sous-domaines a 256 sous-domaines,
chacun de ces sous-domaines a, à son tour, 256
sous-domaines,
le 4ème niveau correspond à un NS connaissant le
nom de domaine associé à cette adresse IP
Résolution inverse (suite)
arpa
in-addr
195
0
255
24
255
200
255
ns.cm.refer.org
194
255
Résolution inverse (fin)
n
le nom de domaine associé à la résolution inverse
est noté selon l’adresse IP inversée :
n
n
n
car la résolution d’un nom de domaine se fait de droite à gauche
exemple : 194.200.24.195.in-addr.arpa
résolution :
n
n
n
n
n
in-addr.arpa -> A.ROOT-SERVER.NET
195.in-addr.arpa -> NS.RIPE.NET
24.195.in-addr.arpa -> NS.RIPE.NET
200.24.195.in-addr.arpa -> ???
194.200.24.195.in-addr.arpa -> set type=PTR Ëns.cm.refer.org
TP3
n
Créer la zone inverse des zones
précédemment créées.
Enregistrement d’une zone
n
Network Solutions : .com, .net, .org
http://www.networksolutions.com
APNIC : Asie Pacifique NIC
n http://www.apnic.net
IANA : .us (rfc 1480), .edu, .gouv (EtatsUnis),
n http://www.isi.edu/in-notes/usdnr/
Une liste des autres NIC européens et
mondiaux :
n http://www.nic.fr/Guides/AutresNics/
n
n
n
n
BIBLIOGRAPHIE
n
n
n
n
TCP/IP Administration de réseau, Craig
Hunt, O’Reilly, 2e édition
BIND, Roland Dirlewanger, juin 1999
http://www.centralweb.fr
http://transfer.refer.org

Documents pareils

Domain Name Service

Domain Name Service supérieur à celui des serveurs de noms secondaire, alors le processus de synchronisation suppose que l'administrateur à apporté une modification sur le serveur maître et les bases sont synchronisée...

Plus en détail

Exercice DNS

Exercice DNS quelqu'un d'autre, assurez-vous qu'il n'y a pas d'erreurs dans `/var/log/messages` après avoir redémarré votre serveur de noms. Vous aurez besoin d'un répertoire slave avec les permissions appropri...

Plus en détail