Sie sind auf Seite 1von 115

Domain Name System

Erwan.Mas@nic.fr

Mohsen.Souissi@nic.fr

© AFNIC (06/10/03)

DNS - 1

Formation 2003

Introduction

© AFNIC (06/10/03)

DNS - 2

Formation 2003

INTERNET

Un espace de communication, sans frontière, où des millions d 'ordinateurs sont connectés.

Les services les plus courants :

- Le service Web

- La messagerie électronique

© AFNIC (06/10/03)

DNS - 3

Formation 2003

INTERNET

L'ordinateur qui est connecté à Internet est identifié par numéro l' adresse IP . exemple : 192.56.23.87

Pour communiquer un programme doit connaître l'adresse IP de son interlocuteur .

© AFNIC (06/10/03)

DNS - 4

Formation 2003

INTERNET et le nommage

Les adresses IP ce n'est pas facile a mémoriser .

On a préféré nommer les machines .

On a construit une base de donnée, pour associer un nom et une adresse IP .

Système DNS

© AFNIC (06/10/03)

DNS - 5

Formation 2003

Le système DNS

(Domain Name System)

© AFNIC (06/10/03)

DNS - 6

Formation 2003

DNS

Sommaire

introduction

arborescence

architecture

base de données

une implémentation du DNS : BIND

© AFNIC (06/10/03)

DNS - 7

Formation 2003

Introduction (1)

Besoin

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, )

© AFNIC (06/10/03)

DNS - 8

Formation 2003

Introduction (2)

Quelques exemples simples :

nom de domaine : afnic.asso.fr

nom de machine : ftp.afnic.asso.fr

nom de machine : relay1.afnic.asso.fr

adresse ip 192.134.4.13

adresse ip 192.134.4.17

nom de machine : www.afnic.asso.fr

adresse ip 192.134.4.11

nom de machine : www.nic.fr

adresse ip 192.134.4.11

adresse IP : 192.134.4.11

www.afnic.asso.fr www.nic.fr

Une information dans le DNS indique vers quelle machine diriger le courrier électronique :

Jean.Dupont@afnic.asso.fr

© AFNIC (06/10/03)

relay1.afnic.asso.fr

DNS - 9

adresse ip 192.134.4.17

Formation 2003

Introduction (3) DNS URL

Soit un nom de domaine : abcd.fr

Url de site web :

- http://www.abcd.fr

- http://dom.abcd.fr/doc

- http://www.tot3.abcd.fr/doc

- http://abcd.fr/info/pub/prod.htm

Adresse de messagerie électronique :

© AFNIC (06/10/03)

- info@abcd.fr

- isabel@www.abcd.fr

- isabel@sousdom.abcd.fr

DNS - 10

Formation 2003

Introduction (4)

Jusqu'en 1984 : fichier hosts.txt /etc/hosts

inadapté à grande échelle

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

© AFNIC (06/10/03)

DNS - 11

Formation 2003

Introduction (5)

Après 1984 : Domain Name System Paul Mockapetris - RFC 882 883 puis 1034 1035

système hiérarchisé et distribué

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

informations complémentaires : relais de messagerie,

correspondance dynamique

limite les risques de collisions de noms

© AFNIC (06/10/03)

DNS - 12

Formation 2003

Introduction (6)

RFC's

1032, 1033, 1034, 1035, 1101, 1122, 1123, 1183, 1713, 1794, 1912, 1995, 1996, 2010, 2136, 2137, 2181, 2308, 2317, 2535-2541, 2606

Documentation

http://www.dns.net/dnsrd/ (RFC, drafts, FAQ,

http://www.nic.fr/guides/

http://www.nic.fr/formation/

Livres

)

DNS and BIND (Paul Albitz & Cricket Liu)

© AFNIC (06/10/03)

DNS - 13

Formation 2003

Arborescence (1)

Organisation générale

le système est organisé sous la forme d'une arborescence, composée par

la racine (root), sommet de l'arbre, qui est notée par un point «

des noeuds, identifiés par un label (fr , com ,

), dont les

informations sont stockées dans une base de données propre à chacun des noeuds

base de données du système

une base de données par noeud

l'ensemble de ces bases de données constitue le système d'information hiérarchique et distribué du DNS

© AFNIC (06/10/03)

DNS - 14

Formation 2003

Arborescence (2)

adresse IP  nom nom  adresse IP . arpa com net fr in-addr apnic
adresse IP  nom
nom  adresse IP
.
arpa
com
net
fr
in-addr
apnic
ripe
Nic
193
192
whois
whois
www
0
1
255
www.nic.fr.
192.134.4.11
whois.ripe.net.
2
193.1.2.133
133
193.1.2.133
133.2.1.193.in-addr.arpa.
whois.ripe.net
Formation 2003
© AFNIC (06/10/03)
DNS - 15

Arborescence (3)

Parcours de l'arbre et nom de domaine

la descente dans l'arbre est représentée de la droite vers la gauche

chaque niveau de l'arborescence est séparé par un point

niveau de l'arborescence est séparé par un point 2 2 é é m m e e

22éémmee nniivveeaauu

© AFNIC (06/10/03)

nic .
nic
.

ssééppaarraatteeuurr

fr .
fr
.

11eerr nniivveeaauu

DNS - 16

rraacciinnee

Formation 2003

Arborescence (4)

. arpa com tn net fr
.
arpa
com
tn
net
fr
in-addr
in-addr

193

Arborescence (4) . arpa com tn net fr in-addr 193 ffti apnic ripe nic whois =

ffti

apnic ripe
apnic
ripe

nic

whois = whois.ripe.net

fr in-addr 193 ffti apnic ripe nic whois = whois.ripe.net 0 1 255 2 133 =

0

1 255

193 ffti apnic ripe nic whois = whois.ripe.net 0 1 255 2 133 = 133.2.1.193.in-addr.arpa ©

2

193 ffti apnic ripe nic whois = whois.ripe.net 0 1 255 2 133 = 133.2.1.193.in-addr.arpa ©

133 = 133.2.1.193.in-addr.arpa

© AFNIC (06/10/03)

DNS - 17

Formation 2003

Arborescence (5)

Délégation d'un noeud père vers un noeud fils

un noeud peut être père de plusieurs noeuds fils

le lien est effectué en précisant au niveau du noeud père où trouver la base de donnée des noeuds fils

but

distribuer la gestion de chaque noeud à des entités différentes une base de données pour chaque noeud, l'ensemble de ces bases étant géré de façon décentralisé

pour définir des domaines de responsabilités différentes

© AFNIC (06/10/03)

DNS - 18

Formation 2003

Arborescence (6)

Dénomination des domaines

caractères autorisés 'A

Z'

'a

z'

'0

9'

'-'

pas de différences entre majuscule et minuscule

nom total limité à 255 caractères

label est unique au niveau d'un noeud

label au niveau d 'un noeud limité à 63 caractères

© AFNIC (06/10/03)

DNS - 19

Formation 2003

Arborescence (7)

IDN - International Domain Name

Prendre en compte les alphabets mondiaux

Compatible avec le protocole DNS existant

4 RFC

RFC 3454/RFC 3491/RFC 3490/RFC 3492

Exemple:

http://france2.télévision-française.fr/

http://france2.xn-tlvision-franaise-msbzb.fr/

© AFNIC (06/10/03)

DNS - 20

Formation 2003

Arborescence (8)

Notion de domaine et de zone

le domaine est l'ensemble d'une sous arborescence exemple : le domaine fr. rassemble toute la sous arborescence à partir du noeud fr

la zone est la partie descriptive pour un niveau donné :

elle est restreinte à un noeud une zone est constituée de la base de données décrivant un noeud

© AFNIC (06/10/03)

DNS - 21

Formation 2003

Arborescence (9)

Arborescence (9) © AFNIC (06/10/03) D N S - 2 2 Formation 2003

© AFNIC (06/10/03)

DNS - 22

Formation 2003

Arborescence (10)

Résolution nom numéro IP

le nom de machine est formé en ajoutant le label choisi suffixé avec « . » avec le domaine auquel cette machine appartient

ns1 . nic . llaabbeell ssééppaarraatteeuurr
ns1
.
nic
.
llaabbeell
ssééppaarraatteeuurr

22éémmee nniivveeaauu

© AFNIC (06/10/03)

DNS - 23

fr .
fr
.

11eerr nniivveeaauu

rraacciinnee

Formation 2003

Arborescence (11)

Analogie

un noeud contient à la fois des noms de machines et des sous-domaines, comme, pour un système de fichiers, un répertoire contient des fichiers et des sous-répertoires

© AFNIC (06/10/03)

DNS - 24

Formation 2003

Arborescence (12)

Résolution inverse

retrouver à partir d'un numéro IP le nom d'une machine associée

l'arborescence se trouve sous le domaine in-addr.arpa (sous ip6.int pour ipv6)

l'arborescence est subdivisée à partir de la notation classique sur 4 octets des numéros IPv4

© AFNIC (06/10/03)

DNS - 25

Formation 2003

Arborescence (13)

Parcours de l'arbre et résolution inverse

le nom de domaine est inversé par apport au numéro IP

domaine : 133.2.1.193.in-addr.arpa.

pour le numéro IP : 193.1.2.133

la descente dans l'arbre est représentée de la droite vers la gauche

chaque niveau de l'arborescence est séparé par un point

© AFNIC (06/10/03)

DNS - 26

Formation 2003

Arborescence (14)

. arpa com tn net fr in-addr ffti ripe nic
.
arpa
com
tn
net
fr
in-addr
ffti
ripe
nic
(14) . arpa com tn net fr in-addr ffti ripe nic whois = whois.ripe.net 193 0

whois = whois.ripe.net

193
193

0

1 255

2
2

133 = 133.2.1.193.in-addr.arpa

© AFNIC (06/10/03)

DNS - 27

Formation 2003

Arborescence (15)

Le même mécanisme s'applique pour la sous arborescence in-addr.arpa comme pour les domaines « classiques » (nic.fr) : par exemple le domaine 11.193.in-addr.arpa est un sous domaine du 193.in- addr.arpa, le noeud 11.193.in-addr.arpa étant défini par sa base de données

Tout numéro officiellement attribué à une machine doit être déclaré dans cette arborescence

© AFNIC (06/10/03)

DNS - 28

Formation 2003

Arborescence (16)

Racine : 13 bases de données (serveurs de nom) répartis dans le monde connaissant tous les serveurs des domaines de 1er niveau (.fr .arpa .com

)

serveur origine géré par l 'IANA / ICANN A.ROOT-SERVERS.NET

serveurs miroirs de B.ROOT-SERVERS.NET

à

M.ROOT-SERVERS.NET

© AFNIC (06/10/03)

DNS - 29

Formation 2003

Arborescence (17)

Top-level domain (TLD) : Domaine de 1er niveau - RFC 1591

à 2 lettres : code ISO-3166 de chaque pays

à 3 lettres : .com, .net, .org, .edu, .gov, .mil,.int

à 4 lettres : .arpa

Nouveaux TLD ( juin 2001 ) :

.biz, .info, .name, .aero, .coop, .info, . museum

© AFNIC (06/10/03)

DNS - 30

Formation 2003

Architecture (1)

Système client/serveur

client

resolver : interface cliente permettant d'interroger un serveur

les machines clientes pointent généralement vers un serveur par défaut (/etc/resolv.conf sur Unix)

serveur

chaque serveur gère sa propre base de données

optimisation par des systèmes de cache et de réplication

© AFNIC (06/10/03)

DNS - 31

Formation 2003

Architecture (2)

Au-dessus d 'IP

service s'exécutant sur le port 53 droits de super utilisateur ( unix )

UDP et TCP (TCP n'est pas réservé qu'au transfert de zone et est utilisé si la taille de la réponse est supérieure à la limite d 'un paquet UDP de 512 octets)

RFC 1035

© AFNIC (06/10/03)

DNS - 32

Formation 2003

Architecture (3)

Fonctionnement du client : le resolver

permet de communiquer avec les serveurs DNS

2 modes d'interrogation

récursif : le client envoie une requête à un serveur, ce dernier devant interroger tous les autres serveurs nécessaires pour renvoyer la réponse complète au client (mode utilisé par les machines clientes en général)

itératif : le client envoie une requête à un serveur, ce dernier renvoyant la réponse si il la connaît, ou le nom d'un autre serveur qu’ il suppose plus renseigné pour résoudre cette question (mode utilisé par le resolver des serveurs en général)

© AFNIC (06/10/03)

DNS - 33

Formation 2003

Architecture (4)

sseerrvveeuurr

     
   

wwwwww

iinnrriiaa ffrr

??

 
       
   
 
   
 
   
   
   
 

rr

ee

ffrr

nnss11

nniicc

ffrr,,

nnss22

nniicc

ffrr,,

 

sseerrvveeuurr

ss

     
   

wwwwww

iinnrriiaa ffrr

??

 

ffrr

 

oo

  o o   f f r r d d e e
 
  o o   f f r r d d e e

ffrr

ddee

ll

iinnrriiaa

ffrr

ddnnss

iinnrriiaa ffrr,,

 

sseerrvveeuurr

l l i i n n r r i i a a f f r r
l l i i n n r r i i a a f f r r

vv

     

ee

rr

 

wwwwww

iinnrriiaa ffrr

??

 

iinnrriiaa ffrr

 
    n n i i c c f f r r i i n n
 
    n n i i c c f f r r i i n n

nniicc ffrr

iinnrriiaa ffrr

wwwwww

   

sseerrvveeuurr

iinnrriiaa

ffrr

 

112288

9933

33 2299

 
 

112288 9933 33 2299 wwwwww iinnrriiaa ffrr ??
112288 9933 33 2299
wwwwww
iinnrriiaa ffrr
??

© AFNIC (06/10/03)

33 2299 wwwwww iinnrriiaa ffrr ?? © AFNIC (06/10/03) r r e e s s o

rreessoollvveerr

MMaacchhiinnee AA

DNS - 34

I I n n t t R R é é c c u u r

IInntt RRééccuurrssiivvee

I I n n t t i i t t é é r r a

IInntt iittéérraattiivvee

Formation 2003

Architecture (5)

Serveurs

types de serveurs

serveur cache

serveur

« faisant suivre » (forwarder)

« esclave » (slave - forwarder-only)

serveur ayant autorité sur une (plusieurs) zone(s)

primaire (source des données)

secondaire (miroir des données)

© AFNIC (06/10/03)

DNS - 35

Formation 2003

Architecture (6)

Serveur cache

éviter la surcharge inutile du réseau

supprimer les délais du réseau

amoindrir la charge des autres serveurs

tout serveur possède en général au minimum un cache

© AFNIC (06/10/03)

DNS - 36

Formation 2003

Architecture (7)

Serveur cache

configuration minimale

base de données nécessaire

adresses des serveurs de la racine

reverse du loopback 1.0.0.127.in-addr.arpa

les données du cache possèdent une durée de vie limitée Time To Live - ttl) afin de permettre son rafraîchissement et la prise en compte des modifications

il s'enrichit au fur et à mesure par les données récoltées pour résoudre les requêtes des clients une requête déjà demandée est résolue à partir du cache du serveur

© AFNIC (06/10/03)

DNS - 37

Formation 2003

Architecture (8)

sseerrvveeuurr

Architecture (8) s s e e r r v v e e u u r r
Architecture (8) s s e e r r v v e e u u r r
Architecture (8) s s e e r r v v e e u u r r
112288 9933 33 2299 wwwwww iinnrriiaa ffrr ??
112288 9933 33 2299
wwwwww
iinnrriiaa ffrr
??
e e u u r r 112288 9933 33 2299 wwwwww iinnrriiaa ffrr ?? r r

rreessoollvveerr

MMaacchhiinnee AA

© AFNIC (06/10/03)

DNS - 38

sseerrvveeuurr ffrr sseerrvveeuurr iinnrriiaa ffrr sseerrvveeuurr
sseerrvveeuurr
ffrr
sseerrvveeuurr
iinnrriiaa ffrr
sseerrvveeuurr
I I n n t t R R é é c c u u r

II n n t t R R é é c c u u r r Inntt RRééccuurrssiivvee

I I n n t t I I t t é é r r a

II n n t t I I t t é é r r a a Inntt IIttéérraattiivvee

Formation 2003

Architecture (9)

sseerrvveeuurr rr cc ee aa ss cc ffrr oo hh sseerrvveeuurr ll ee vv ee
sseerrvveeuurr
rr
cc
ee
aa
ss
cc
ffrr
oo
hh
sseerrvveeuurr
ll
ee
vv
ee
cchhrroonnooss
iinnrriiaa ffrr
??
rr
iinnrriiaa ffrr
iinnrriiaa ffrr
sseerrvveeuurr
sseerrvveeuurr
cchhrroonnooss
iinnrriiaa
ffrr
112288
9933
4455 220011
112288 9933 4455 220011 rreessoollvveerr cchhrroonnooss iinnrriiaa ffrr ?? MMaacchhiinnee AA
112288 9933 4455 220011
rreessoollvveerr
cchhrroonnooss
iinnrriiaa ffrr
??
MMaacchhiinnee AA

© AFNIC (06/10/03)

DNS - 39

i i n n t t r r é é c c u u r
i i n n t t r r é é c c u u r
i i n n t t r r é é c c u u r

iinntt rrééccuurrssiivvee iinntt iittéérraattiivvee

i i n n t t r r é é c c u u r r

Formation 2003

Architecture (10)

Serveur « faisant suivre » / esclave

ces types de serveurs possèdent une liste de serveurs à interroger (le serveur fait suivre la requête reçue vers d'autres serveurs par une requête elle-même récursive)

« faisant suivre »

vérifie si la réponse n'est pas dans son cache

sinon fait suivre à un des serveurs la requête

en cas d'échec tente de résoudre lui même la demande

enrichissement rapide d'un cache partagé (au sein d 'un organisme pour ne pas surcharger la liaison vers l 'extérieur)

© AFNIC (06/10/03)

DNS - 40

Formation 2003

Architecture (11)

Serveur « faisant suivre » / esclave

esclave

vérifie si la réponse n 'est pas dans son cache

sinon fait suivre à un des serveurs la requête

en cas d 'échec avec tous les serveurs, il renvoie un code d'erreur

enrichissement rapide d'un cache partagé pour un serveur n'ayant pas d'accès direct à tout l'Internet

© AFNIC (06/10/03)

DNS - 41

Formation 2003

Architecture (12)

Serveur ayant autorité sur une (plusieurs) zone(s)

serveur primaire

le serveur primaire d'une zone est la source des informations relatives à cette zone (il possède la base de données maître)

il contient les informations à partir d'un fichier de données où l'on effectue les mises à jour.

il a l'origine de l'autorité (Start Of Authority - SOA) sur cette zone

© AFNIC (06/10/03)

DNS - 42

Formation 2003

Architecture (13)

Serveur ayant autorité sur une (plusieurs) zone

(s)

serveur secondaire

c 'est un miroir sauvegardé sur disque de la base de données maître

fonction de sauvegarde

de répartition de charge et d'accessibilité

le serveur secondaire d'une zone obtient les informations relatives à celle-ci automatiquement depuis un serveur primaire ou un autre secondaire

il a également autorité sur cette zone

© AFNIC (06/10/03)

DNS - 43

Formation 2003

Architecture (14)

sseerrvveeuurr

 

wwwwww

iinnrriiaa ffrr

??

  w w w w w w i i n n r r i i a
 
   
   
   
   
  f f r r : : n n s s 1 1 n

ffrr :: nnss11 nniicc ffrr

 

sseerrvveeuurr

 
 

iinnrriiaa ffrr

??

 
 

wwwwww

  w w w w w w f f r r

ffrr

 

ffrr

ddee

  i i n n r r i i a a f f r

iinnrriiaa

ffrr

:: ddnnss

iinnrriiaa ffrr

 

sseerrvveeuurr

  i i n n r r i i a a f f r r
 
 

wwwwww

iinnrriiaa ffrr

??

  w w w w w w i i n n r r i i a

nniicc ffrr

 

nniicc ffrr

1 1 2 2 8 8 9 9 3 3 3 3 2 2 9

112288 9933 33 2299

 

sseerrvveeuurr

iinnrriiaa ffrr

aauutthh rr ddiissqquuee cc ee aa ss oo cc ll hh vv ee ee rr
aauutthh
rr
ddiissqquuee
cc
ee
aa
ss
oo
cc
ll
hh
vv
ee
ee
rr
ddiissqquuee cc ee aa ss oo cc ll hh vv ee ee rr w w w

wwwwww

iinnrriiaa ffrr

112288 9933 33 2299

rreessoollvveerr hhoosstt AA
rreessoollvveerr
hhoosstt AA

??

i i n n t t r r é é c c u u r

ii n n t t r r é é c c u u r r inntt rrééccuurrssiivvee

i i n n t t i i t t é é r r a

ii n n t t i i t t é é r r a a inntt iittéérraattiivvee

© AFNIC (06/10/03)

DNS - 44

Formation 2003

Architecture (15)

Rafraîchissement des données entres serveurs autoritaires

système classique

un serveur secondaire d'une zone interroge à intervalles réguliers le serveur primaire de cette zone pour voir si une modification a eu lieu. La fréquence est indiquée par la valeur refresh défini dans le SOA

ce type de mise à jour peut se faire entre un primaire et un secondaire ou entre secondaires

© AFNIC (06/10/03)

DNS - 45

Formation 2003

Architecture (16)

Rafraîchissement des données entre serveurs autoritaires

la version d 'une zone est identifiée par son numéro de série (serial) ; à chaque modification celui-ci doit être augmenté

le transfert de zone

le serveur secondaire transfère d'abord le SOA de la zone et vérifie si le numéro de série a augmenté

si c'est le cas toute la zone est transférée (transfert total - AXFR) ou seules les nouvelles modifications entre les 2 versions sont transférées (transfert incrémental - IXFR - RFC 1995)

© AFNIC (06/10/03)

DNS - 46

Formation 2003

Architecture (17)

Rafraîchissement des données entre serveurs autoritaires

reprise en cas d 'échec

en cas d 'échec de cette interrogation, le secondaire recommence toutes les retry secondes jusqu'à atteindre le temps d'expiration (expire), ces valeurs étant fixés également dans le SOA

© AFNIC (06/10/03)

DNS - 47

Formation 2003

Architecture (18)

Rafraîchissement des données entres serveurs ayant autorités sur une zone

DNS Change Notification (RFC 1996)

après la prise en compte de modifications de la part du serveur primaire, ce dernier notifie les serveurs secondaires qu'une nouvelle version de la zone a été générée

ce système de mise à jour ne peut se faire qu'entre un primaire et un secondaire

accélère le rafraîchissement des données par rapport au système classique

© AFNIC (06/10/03)

DNS - 48

Formation 2003

Architecture (19)

Remarques

un serveur peut être à la fois serveur cache et autoritaire pour des zones : le cache possède alors des informations locales et non locales

un serveur peut être à la fois primaire pour des zones et secondaire pour d'autres zones

© AFNIC (06/10/03)

DNS - 49

Formation 2003

Architecture (20)

Remarques

mode de fonctionnement d'un serveur

récursif

le serveur résout les requêtes récursives des clients et garde les informations obtenues dans son cache

le cache stocke des informations pour lesquelles le serveur n 'a pas autorité

serveurs cache de campus par exemple

© AFNIC (06/10/03)

DNS - 50

Formation 2003

Architecture (21)

Remarques

mode de fonctionnement d'un serveur

itératif

il répond toujours en fonction des données qu'il possède localement

ne construit pas de cache pour des données non locales .

une machine cliente (d'utilisateur final) ne doit jamais pointer sur un serveur de ce type comme serveur par défaut .

mode permettant de limiter la charge d'un serveur (il ne résout pas toute la requête) serveurs de la racine, serveurs ayant autorité pour un grand nombre de zones

© AFNIC (06/10/03)

DNS - 51

Formation 2003

Architecture (22)

A

B

NSI USA

ISI USC USA

C

D

PSI USA

UNIV. MARYLAND

E

F

G

NASA USA

ISC USA

DOD NIC USA

H

I

Army Resarch Lab

USA

 

NORDU

SUEDE

J

 

NSI

USA

K

 

RIPE NCC

LINX UK

L

 

ISI

USA

M

 

Wide Project

JAPON

http://www.root-servers.org/

© AFNIC (06/10/03)

DNS - 52

Formation 2003

A C D G H J I M K E F B L
A
C
D
G
H
J
I
M
K
E
F
B
L

© AFNIC (06/10/03)

DNS - 53

Formation 2003

Jan-96

Jan-98

Jan-99

Jan-97

Jan-95

Mar-96

Mar-98

Mar-99

Mar-97

Mar-95

Sep-94

Nov-94

Sep-96

Sep-98

Nov-96

Nov-98

Sep-99

Nov-99

Sep-97

Nov-97

Sep-95

Nov-95

May-96

May-98

May-99

May-97

May-95

Jul-96

Jul-98

Jul-99

Jul-97

Jul-95

2500

2000

1500

1000

500

0

Jul-96 Jul-98 Jul-99 Jul-97 Jul-95 2500 2000 1500 1000 500 0 a.root-servers.net j.root-servers.net j.gtld-servers.net
Jul-96 Jul-98 Jul-99 Jul-97 Jul-95 2500 2000 1500 1000 500 0 a.root-servers.net j.root-servers.net j.gtld-servers.net
Jul-96 Jul-98 Jul-99 Jul-97 Jul-95 2500 2000 1500 1000 500 0 a.root-servers.net j.root-servers.net j.gtld-servers.net
Jul-96 Jul-98 Jul-99 Jul-97 Jul-95 2500 2000 1500 1000 500 0 a.root-servers.net j.root-servers.net j.gtld-servers.net
a.root-servers.net j.root-servers.net j.gtld-servers.net

a.root-servers.net

a.root-servers.net j.root-servers.net j.gtld-servers.net

j.root-servers.net

a.root-servers.net j.root-servers.net j.gtld-servers.net

j.gtld-servers.net

© AFNIC (06/10/03)

DNS - 54

j.gtld-servers.net © AFNIC (06/10/03) D N S - 5 4 Ari Balogh abalogh@netsol.com Formation 2003

Ari Balogh abalogh@netsol.com

Formation 2003

Base de données (1)

Fichier de configuration du serveur

Fichier des serveurs de la racine

Un fichier par zone décrivant son contenu

au moins le fichier du reverse loopback 1.0.0.127.in- addr.arpa

© AFNIC (06/10/03)

DNS - 55

Formation 2003

Base de données (2)

Fichier de configuration

localisation des données fichier serveurs de la racine fichiers de zone

déclaration de l'autorité sur des zones primaire / secondaire

mode de fonctionnement général

récursif/itératif

« faisant suivre », esclave,

© AFNIC (06/10/03)

DNS - 56

Formation 2003

Base de données (3)

Fichier des serveurs de la racine

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 adresse IP

primaire : A.ROOT-SERVERS.NET.

une quinzaine de serveurs secondaires à travers le monde

peut être généré de la façon suivante :

dig @a.root-servers.net . ns > root.cache

© AFNIC (06/10/03)

DNS - 57

Formation 2003

Base de données (4)

Fichier de zone

contient les données propres à chaque zone

consiste en une liste de Resource Records (RR)

le premier RR doit être le SOA (Start of Authorithy) qui décrit l'autorité technique de la zone

directives spéciales

© AFNIC (06/10/03)

DNS - 58

Formation 2003

Base de données (5)

Directives spéciales

$ORIGIN spécifie le nom de domaine à ajouter à des enregistrements non pleinement qualifiés (non suffixés par un point)

syntaxe : $ORIGIN <domaine> [<commentaire>]

© AFNIC (06/10/03)

DNS - 59

Formation 2003

Base de données (6)

Directives spéciales

$ORIGIN - exemple

$ORIGIN exemple. $ORIGIN mon-domaine www IN CNAME serveur

équivalent à :

www. mon-domaine.exemple. IN CNAME serveur. mon-domaine.exemple.

Par défaut $ORIGIN est positionné au nom du domaine que le fichier de zone décrit

© AFNIC (06/10/03)

DNS - 60

Formation 2003

Base de données (7)

Directives spéciales

$INCLUDE permet d'inclure un fichier dans le fichier de zone

syntaxe : $INCLUDE <fichier> [<origin>] [<comment>]

Si <origin> n'est pas spécifié la valeur courante est utilisée

© AFNIC (06/10/03)

DNS - 61

Formation 2003

Base de données (8)

Directives spéciales

$TTL (RFC 2308 - bind 8.2) spécifie le Time To Live par défaut à appliquer aux enregistrements qui n'ont pas ce paramètre spécifié dans leur déclaration

syntaxe : $TTL <valeur> [<commentaire>]

valeur [0 - 2147483647]

© AFNIC (06/10/03)

DNS - 62

Formation 2003

Base de données (9)

Directives spéciales

$TTL

en règle générale lors de modification d ’ une ressource importante il faut abaisser cette valeur (à quelques minutes) ttl+refresh (spécifié dans le SOA) AVANT la modification pour que celle-ci se propage rapidement

© AFNIC (06/10/03)

DNS - 63

Formation 2003

Base de données (10)

t1 t2 temps emis par le primaire primaire ttl secondaire ttl refresh Information dans les
t1
t2
temps
emis par le
primaire
primaire
ttl
secondaire
ttl
refresh
Information dans les serveurs caches
• t1 : date de l'abaissement du ttl de la ressouce
• t2 : date de la modification de la ressource elle-
même
Formation 2003
© AFNIC (06/10/03)
DNS - 64

Base de données (11)

Structure d 'un RR - RFC 1034

< nom | @ > [<ttl>] [<classe>] <type> <données> [<commentaire>]

<nom> : nom de l 'enregistrement auquel vont s'appliquer les informations @ : utilise la valeur courante de $ORIGIN comme nom <ttl> : durée de vie, en secondes, de l'enregistrement dans les caches <classe> : groupe d'appartenance - IN pour Internet <type> : type de l'enregistrement <données> : données associées au type

© AFNIC (06/10/03)

DNS - 65

Formation 2003

Base de données (12)

Principaux RR - SOA (Start Of Autority)

caractéristiques techniques de la zone :

zone

IN

© AFNIC (06/10/03)

SOA primaire. serial refresh retry expire ttl

email.

DNS - 66

(

)

Formation 2003

Base de données (13)

Principaux RR - SOA

email : contact technique de la zone

remplacer le @ par le premier point non protégé (\) l'email doit être suivi d 'un point

francis\.dupont.inria.fr.

pour

francis.dupont@inria.fr

© AFNIC (06/10/03)

DNS - 67

Formation 2003

Base de données (14)

Principaux RR - SOA

numéro de série : spécifie la version des données de la zone

incrémenter ce numéro à chaque modification (entier sur 32 bits)

format conseillé :

© AFNIC (06/10/03)

YYYYMMDDxx

1997052702

DNS - 68

Formation 2003

Base de données (15)

Principaux RR - SOA

refresh : intervalle, en secondes, entre 2 vérifications du numéro de série par les secondaires (24H - 86400s ; à ajuster si la zone est souvent modifiée) retry : intervalle en seconde entre 2 vérifications du numéro de série par les secondaires si la 1ere vérification a échoué (6H - 21400s ; à ajuster en fonction de sa connectivité) expire : durée d 'expiration de la zone sur un secondaire (41 jours -3600000s ) retry<<refresh<<expire

© AFNIC (06/10/03)

DNS - 69

Formation 2003

Base de données (16)

Principaux RR - SOA

ttl (time to live) - RFC 2308 - Negative caching

spécifie le TTL pour le « negative caching », soit le temps que doit rester dans les caches une réponse négative suite à une question sur ce domaine (valeur recommandée de 1 à 3 heure). Il existe 2 types de réponses négatives :

NXDOMAIN : aucun enregistrements ayant le nom demandé dans la classe (IN) n'existe dans cette zone

NODATA : aucune donnée pour le triplet (nom, type, classe) demandé n'existe ; il existe d'autre enregistrements possédant ce nom, mais de type différent

© AFNIC (06/10/03)

DNS - 70

Formation 2003

Base de données (17)

Principaux RR - NS (Name Server)

indique un serveur de nom pour le nom spécifié (ce nom devient une zone dont la délégation est donnée au serveur en partie droite)

zone

IN

NS

serveur-nom1.domaine.

IN

NS

serveur-nom2.domaine.

Il faut spécifier les serveurs de noms de la zone que l'on décrit (associée au SOA)

© AFNIC (06/10/03)

DNS - 71

Formation 2003

Base de données (18)

$ORIGIN

nic.fr.

 

$TTL

86400

@

IN

SOA

ns1.nic.fr.

 

hostmaster.nic.fr. (

1997052704

;serial

86400

;refresh

21600

;retry

3600000

;expire

3600

; negative caching ttl )

 

IN

NS

ns1.nic.fr.

IN

NS

ns2.nic.fr.

www

IN

CNAME ns2.nic.fr.

 

ftp

21600 IN

A

192.34.4.45

© AFNIC (06/10/03)

DNS - 72

Formation 2003

Base de données (19)

Principaux RR - A (Adresse IPv4)

indique l 'adresse IP associée à un nom

machine.domaine.

IN

A

AAAA : Adresse IPv6

© AFNIC (06/10/03)

DNS - 73

193.10.20.30

Formation 2003

Base de données (20)

Principaux RR - PTR (Pointeur)

indique le nom associé à un numéro IP dans l 'arborescence in-addr.arpa (ip6.arpa)

10.20.30.192.in-addr.arpa.

© AFNIC (06/10/03)

IN

DNS - 74

PTR

machine.domaine.

Formation 2003

Base de données (21)

Principaux RR - CNAME (Canonical Name)

indique que le nom est un alias vers un autre nom (le nom canonique)

alias

IN

CNAME

nom.canonique.

Nota

un nom en partie droite d'un enregistrement (<données>) ne doit pas pointer vers un alias

quand un nom a déjà un CNAME il est interdit de faire figurer d'autres enregistrements pour ce nom

© AFNIC (06/10/03)

DNS - 75

Formation 2003

Base de données (22)

Principaux RR - CNAME (Canonical Name) - faux

zone.

IN

MX

10

alias.zone.

alias.zone.

IN

CNAME

relais.zone.

zone.

IN

NS

alias.zone.

alias.zone.

IN

CNAME

serveur.zone.

zone.

IN

SOA

xxxx. yyy. ( zzzz

)

zone.

IN

CNAME

www.zone.

© AFNIC (06/10/03)

DNS - 76

Formation 2003

Base de données (23)

Principaux RR - CNAME (Canonical Name) - correct

zone.

IN

MX

10

relais.zone.

relais.zone. IN

A

193.1.2.3

alias2.zone. IN

CNAME

alias1.zone.

alias1.zone. IN

CNAME

canonical.zone.

zone.

IN

SOA

xxxx. yyy. ( zzzz

)

zone.

IN

A

193.2.3.4

Et l'enregistrement PTR correspondant dans les reverses

© AFNIC (06/10/03)

DNS - 77

Formation 2003

Base de données (24)

Fichier de zone pour nic.fr $ORIGIN nic.fr. $TTL 86400

@

IN

SOA

ns1.nic.fr. hostmaster.nic.fr.

 

(

1997052704

;serial

86400

;refresh

21600

;retry

3600000

;expire

3600

;negative ttl

)

 

IN

NS

ns1.nic.fr.

IN

NS

ns2.nic.fr.

; Suite

ns1

IN

A

193.10.20.30

192.5.6.7

193.10.20.31

127.0.0.1

 

ns2

IN

A

machine

IN

A

www

IN

CNAME machine

localhost IN

A

© AFNIC (06/10/03)

DNS - 78

Formation 2003

Base de données (25)

Fichier du reverse 0.0.127.in-addr.arpa

personne n'a la responsabilité de ce reverse pour le numéro 127.0.0.1dans la hiérarchie in-addr.arpa.

le système l'utilise pour la résolution de requête vers lui- même si on ne le configure pas sur le serveur cette requête peut échouer :

root serveur contacté mal configuré code erreur

renvoie autre chose que localhost

© AFNIC (06/10/03)

DNS - 79

Formation 2003

Base de données (26)

Fichier de zone pour 0.0.127.in-addr.arpa.

0.0.127.in-addr.arpa

IN

SOA

ns1.nic.fr.

 

hostmaster.nic.fr.

 

(

 

1997052704

;serial

86400

;refresh

21600

;retry

3600000

;expire

3600

;negative ttl

 

)

IN

NS

ns1.nic.fr.

1.0.0.127.in-addr.arpa. IN

PTR

localhost.nic.fr.

© AFNIC (06/10/03)

DNS - 80

Formation 2003

DNS et SMTP (1)

Principaux RR - MX (Mail eXchanger)

email à

quelqu-un@nom

On cherche dans le DNS un MX indiquant la machine sur laquelle il faut envoyer le courrier pour nom. Un paramètre précise le poids relatif de l 'enregistrement MX : si plusieurs MX existent, le courrier est envoyé en 1er à la machine ayant le poids le plus bas, puis dans l 'ordre croissant des poids en cas d'échec

nom

IN

MX

10

nom.relais1.

IN

MX

20

nom.relais2.

IN

MX

30

nom.relais3.

© AFNIC (06/10/03)

DNS - 81

Formation 2003

DNS et SMTP (2)

Principaux RR - MX (Mail eXchanger)

Envoi d 'un message à nom - RFC 974

- (1) tri les MX par ordre croissant et contacte les machines dans cet ordre ; si une connexion est établie transfert ; sinon mail mis en file d'attente

- (2) transfert sur nom.relais1 : le mail est traité localement

- (3) transfert sur l'une des autres machines: on trie de nouveau les MX en supprimant les entrées de préférence supérieure on égale à celle associée à cette machine ; si la liste est vide erreur de configuration ; sinon on tente de contacter les machines de la même manière qu'en (1)

© AFNIC (06/10/03)

DNS - 82

Formation 2003

DNS et SMTP (3)

Principaux RR - MX (Mail eXchanger)

wilcard MX

nic.fr.

IN

MX

10 relais.nic.fr.

*.nic.fr.

IN

MX

10 relais.nic.fr.

associe le MX à tout nom inconnu dans le domaine, il n'est

utilisé qu'en l'absence de tout autre RR associé à un nom.

Exemple :

nom.nic.fr.

IN

A

IP

pas de MX hérité des wilcards pour nom

associer systématiquement un MX à chaque fois que l 'on définit un A RR et éviter les wilcards

© AFNIC (06/10/03)

DNS - 83

Formation 2003

DNS et SMTP (4)

Principaux RR - MX (Mail eXchanger)

Si il n 'y a pas de MX associé à nom :

SMTP utilise l 'adresse IP associé à ce nom (A RR)

nom

IN

A

IP

si il n 'y a pas de RR, SMTP utilise les enregistrement wildcard MX

si il n 'y a pas de wildcard MX => erreur

© AFNIC (06/10/03)

DNS - 84

Formation 2003

Délégation et sous domaine (1)

faire figurer la délégation dans la zone parente => il s'agit d'enregistrement NS

zone parente

$TTL 86400 nic.fr.

IN

SOA

ns1.nic.fr. hostmaster.nic.fr.

 

(

 

1997052704

;serial

86400

;refresh

21600

;retry

3600000

;expire

3600

;negative ttl

 

)

 

IN

NS

ns1.nic.fr.

IN

NS

ns2.nic.fr.

ns1.nic.fr.

IN

A

193.10.20.30

ns2.nic.fr.

IN

A

192.5.6.7

fille.nic.fr.

IN

NS

ns1.inria.fr.

IN

NS

ns.urec.fr.

© AFNIC (06/10/03)

DNS - 85

Formation 2003

Délégation et sous domaine (2)

zone déléguée

$ORIGIN

fille.nic.fr.

$TTL

86400

@

IN

SOA

ns1.inria.fr.

 

hostmaster.inria.fr.

(

1997052704

;serial

86400

;refresh

21600

;retry

3600000

;expire

3600

;negative ttl

)

 

IN

NS

ns1.inria.fr.

IN

NS

ns.urec.fr.

© AFNIC (06/10/03)

DNS - 86

Formation 2003

Délégation et sous domaine (3)

Utilisation de la glue

permet d'établir des liens nom IP avec les sous zones pour la cohérence de l'arbre DNS

elle n'est nécessaire que dans le cas où les serveurs de la zone fille sont dans la même arborescence que le domaine fille.domaine.

en cas de changement d 'adresse IP il faut modifier la zone fille et la zone parente

© AFNIC (06/10/03)

DNS - 87

Formation 2003

Délégation et sous domaine (4)

dans le fichier de zone nic.fr

fille.nic.fr.

IN

NS

ns1.fille.nic.fr.

IN

NS

ns.urec.fr.

ns1.fille.nic.fr.IN

A

192.5.6.7

dans le fichier de zone fille.nic.fr

fille.nic.fr.

IN

SOA

ns1.inria.fr. hostmaster.inria.fr.

 

(

 

1997052704

;serial

86400

;refresh

21600

;retry

3600000

;expire

3600

;negative ttl

 

)

 

IN

NS

ns1.fille.nic.fr.

IN

NS

ns.urec.fr.

ns1.fille.nic.fr.IN

A

192.5.6.7

© AFNIC (06/10/03)

DNS - 88

Formation 2003

Historique

BIND (1)

JEEVES : première implémentation du DNS par Paul Mockapetris (1984)

BIND (The Berkeley Internet Name Domain) implémentation suivante sur système 4.3BSD UNIX par Kevin Dunlap

Aujourd'hui

BIND maintenu par Paul Vixie avec l 'Internet Software Consortium

© AFNIC (06/10/03)

DNS - 89

Formation 2003

Deux parties

BIND (2)

la partie serveur de noms : implémentée par la commande named (ou in.named) et named-xfer (ou in.named-xfer) pour les transferts de zone

la partie client : bibliothèque C (libresolv.a ou libresolv.so.x) avec laquelle sont liées toutes les applications utilisant le DNS. Cette bibliothèque contient notamment une version de getaddrinfo (3) et getnameinfo(3) qui utilisent le DNS.

© AFNIC (06/10/03)

DNS - 90

Formation 2003

BIND (3)

Développé par l'Internet Software Consortium

http://www.isc.org/

http://www.isc.org/bind.html

Sources disponibles

ftp://ftp.isc.org/isc/src/cur

ftp://ftp.isc.org/isc/src/testing

ftp://ftp.nic.fr/pub/programmes/DNS/

(version courante) (version en développement)

News

comp.protocols.dns.bind

comp.protocols.dns.ops

comp.protocols.dns.std

© AFNIC (06/10/03)

DNS - 91

Formation 2003

Versions

BIND (4)

4.9.8 ( ne doit etre utilise que si on ne peut pas utiliser la v8 ou v9 )

dernière version de la série 4.x

fichier de configuration named.boot

8.2.4

implémentation des derniers RFCs

Dynamic Updates - RFC 2136

Change Notification par défaut - RFC 1996

IXFR - RFC 1995 (expérimental)

Secure DNS - RFC 2535 + dnskeygen

$TTL - RFC 2308

nouveau format du fichier de configuration named.conf

transfert de zone plus performant (format many-answers)

pas de libresolv partagée ; la librairie statique s'appelle libbind.a

© AFNIC (06/10/03)

DNS - 92

Formation 2003

BIND (5)

9.1.3

Support de DNSSEC,TSIG

Support de IP v6

Enregistrements Spécifiques

Requêtes

Extension du protocole DNS IXFR,

Système de vue pour les zones

Support des systèmes multiprocesseur

© AFNIC (06/10/03)

DNS - 93

Formation 2003

BIND - serveur cache (6)

fichier de config named.conf

// répertoire des données options {

};

directory

"/usr/local/bind/data";

// cache des serveurs de la racine zone "." in { type hint;

};

file "root.cache";

// zone primaire du reverse loopback zone "0.0.127.in-addr.arpa" { type master;

};

© AFNIC (06/10/03)

file

"db.localrev";

DNS - 94

Formation 2003

BIND - serveur cache esclave(7)

fichier de config named.conf

options { // répertoire des données

directory

"/usr/local/bind/data";

// on fait tout suivre forwarders {192.1.2.3 ; 193.1.2.3 }; options forward-only ;

}; zone "."

{

// cache des serveurs de la racine type hint ; file "root.cache";

}; zone "0.0.127.in-addr.arpa" { type master; file "db.localrev" ;

};

© AFNIC (06/10/03)

DNS - 95

Formation 2003

BIND - serveur autoritaire et cache (8)

fichier de config named.conf

options {

// répertoire des données

}; zone "."

directory

{

"/usr/local/bind/data";

// cache des serveurs de la racine type hint; file "root.cache";

};

zone "0.0.127.in-addr.arpa" { // zone primaire type master; file "db.localrev";

};

© AFNIC (06/10/03)

DNS - 96

Formation 2003

BIND - serveur autoritaire et cache (9)

fichier de config named.conf - suite

zone "nic.fr" { type master; file "db.nic.fr";

}; zone "30.20.192.in-addr.arpa" { // zone primaire type master; file "db.nic-rev";

}; zone "inria.fr" {

// zone primaire

// zone secondaire

type slave; file "db.inria.fr"; masters {192.1.1.1 ; };

};

© AFNIC (06/10/03)

DNS - 97