Vous êtes sur la page 1sur 9

Plan

Administration et scurit
des rseaux

Assurer la conversion entre les noms dhtes et les


adresses IP.
machine.domaine.xz
hi d
i

Chapitre 5

rsolution
l ti

Le service DNS
(Domain name service)

rsolution
l ti
inverse
192.127.10.2

Exemple:

Le nom www.yahoo.fr correspond ladresse IP


192 95 93 20 de
192.95.93.20
d la
l machine
hi www sur le
l rseau

yahoo.fr
M. E. ELHDHILI

1
M. E. ELHDHILI

DNS: fonctionnalits

DNS: rsolution de noms

Fonctionnalits du DNS
$ telnet

Rsolutions de noms et rsolution inverse


client
Telnet

Types de serveurs de noms

Entte DNS

Analyse de datagrammes DNS

Mise en uvre de DNS

M. E. ELHDHILI

DNS

m1.centralweb.fr

Demande de rsolution
m1.centralweb.fr
1
t l b f ????
Rponse
193.148.37.201

serveur
DNS
serveur
DNS

193.148.37.201

serveur
T l td
Telnetd

M. E. ELHDHILI

serveur
DNS

Terminologies

DNS: Rsolution de noms inverse

Trouver le nom partir de ladresse

M
Mme
principe
i i que pour les
l noms

Chaque octet de ladresse IP est vue


comme un sous d
domaine.
i

Un domaine particulier : arpa

Sous domaines

noeud

in-addr pour les adresses IPV4


ip6 pour les
l adresses
d
IPV6

Domaine : sous arbre de lespace nom de domaine


Zone : contient les donnes propres une partie de lespace
nom de domaine sous lautorit dun serveur de noms
((SOA: start of a zone of authorityy ou sphere
p
of authority).
y)
Dlgation: Transfert de la responsabilit d une zone une
M. E.ou
ELHDHILI
plusieurs de ses sous-zones.

M.E. ELHDHILI

Smantique des noms

Chaque niveau est spar par un "."

Le domaine racine n
n'aa pas de nom
et par convention est appel "."

Chaque niveau de ll'arborescence


arborescence
garantie que les noms de ses fils
soient uniques.

Un nom de domaine est constitu


par une suite de noms spars par
points.
des p

Les Serveurs de noms

Le nom qualifi ou complet


(FQDN) d'une
d une machine se lit en
partant de la feuille et en remontant
dans l'arbre.

Zone

Domaine eisti
=
Sous domaine
du domaine fr

Exemple: paros.imag.fr
229.38.88.129.in-addr.arpa

BD

Un

serveur de noms

Enregistre

les donnes propres une partie de lespace

nom de domaine dans une zone.


Possde
P d
Peut

lautorit
l
i administrative
d i i
i sur cette zone.

avoir autorit sur p


plusieurs zones.

www

M. E. ELHDHILI

www.inria.fr
7

M. E. ELHDHILI

Les Serveurs de noms


Types

de serveurs de noms:

Serveur

primaire (matre):

cache (forwarding) :

Relaye des requtes vers dautres serveurs

La redondance permet la dfaillance ventuelle du primaire et


du (des) secondaire(s).
secondaire(s)
Il y a un serveur primaire et gnralement plusieurs secondaires

Un serveur de nom peut tre primaire pour une (des) zone(s) et


secondaire p
pour dautre(s).
( )

Serveurs racine (dcrits dans /var/named/named.ca)

Garde en cache les rsultats les plus rcents pour un temps de


rponse meilleur

Serveur

contient l'original des donnes sur la zone dont il a lautorit


administrative
d i i
i

Serveur

Serveurs de Noms (suite)

secondaire ((esclave)) :

Environ 15 serveurs de nom rpartis dans le monde

Connaissent tous les serveurs de premier niveau : .tn , .fr, .com, ...

Serveur origine (ou primaire


primaire, ou maitre) gr par IANA/ICANN (IANA
Internet Assigned Numbers Authority, ICANN-Internet Corporation
for Assigned Names and Numbers)

S
Serveurs
MIROIRS
O S (ou
( secondaire,
d
ou esclave)
l
)

Seconde automatiquement le serveur de noms matre


IInterroge
t
priodiquement
i di
t le
l serveur de
d nom primaire
i i ett mett jjour
les donnes
9

M. E. ELHDHILI

10

M. E. ELHDHILI

Entte DNS
0

1 2

Entte DNS (suite)


10

11

12

13

14

15

identificateur de la requte (recopi dans la rponse)


qr

opcode

aa

tc

rd

ra

nombre dentres
d entres dans la section question

ANCOUNT

nombre dentres (RR) dans la section rponse

NCOUNT

nombre dentres (NS) dans la section rponse

ARCOUNT

nombre dentres (RR) dans la section additionnel

qr: question (0) ou rponse (1)


Opcode:
0 - Requte standard (Query)
1 - Requte
q
inverse ((Iquery)
q y)
2 - Status d'une requte serveur (Status)
M.E. ELHDHILI
3-15 - Rserv pour des utilisations futurs

aa : rponse dune autorit


tc : message tronqu
rd : rcursion dsir
ra : rcursion accepte
p
Z: utilisation futur
11
rcode: type de rponse

10

11

12

13

14

15

identificateur de la requte (recopi dans la rponse)

rcode

QDCOUNT

1 2

qr

opcode

aa

tc

rd

ra

rcode

QDCOUNT

nombre dentres dans la section question

ANCOUNT

nombre dentres (RR) dans la section rponse

NCOUNT

nombre dentres (NS) dans la section rponse

ARCOUNT

nombre d
dentres
entres (RR) dans la section additionnel

rcode: indique
q le type
yp de rponse.
p
0 - Pas d'erreur
1 - Erreur de format dans la requte
2 - Problme sur serveur

M.E. ELHDHILI

3 - Le nom n'existe pas


4 - Non implment
5 - Refus
6-15 - Rservs

12

Les RR (Resource Records)

Les RR (champs type)

La base de donnes des serveurs de noms = ensemble de RR rpartis en


classes

La seule classe implment: Internet (IN)

10

11

12

13

14

15

Nom: Nom du domaine o se trouve le RR


Type (2octets): type de donne utilises dans le RR
Classe ((2octets): famille de protocoles ou un protocole (IN: Internet)
TTL(4octets): dure de vie des RRs (utilis lorsque les RR sont en cache)
longueur: longueur des donnes suivantes
Donnes: Donnes identifiant la ressource
13

M. E. ELHDHILI

Le DNS Ct Client

14

M. E. ELHDHILI

Le Serveur DNS

Le client demande une adresse IP ou la rsolution d'un nom


par une requte
p
q
UDP ((ou TCP)) sur le p
port 53 ((domain))

Liste des serveurs de noms contacter : /etc/resolv.conf :

Le serveur reoit la requte


Mode rcursif: Si le serveur n'a p
pas de rponse,
p
, il demande
au serveur racine ou fait suivre la requte (pour le cas dun
serveur cache)
Mode itratif: Le serveur sollicit prend le rle de rsolveur

search <nom_domaine>
nameserver <@_IP du serveur>

Peut tre mis jour lors de la configuration dynamique de


ll'interface
interface (DHCP)

Indiquer PEERDNS=no dans le fichier de configuration de l'interface


pour empcher les modifications automatiques de /etc/resolv.conf

M. E. ELHDHILI

15

Mode itratif
M. E. ELHDHILI

Mode Rcursif
source des figures: www.frameip.com

16

Analyse de datagrammes DNS

DNS: mise en ouevre

17

M. E. ELHDHILI

Profil du Service DNS

Configuration de BIND

Implmentation la plus courante : Bind

Paquetages : bind, bind-utils, caching-nameserver


g

Dmons : /etc/ini.d/named
/ /
/

Le fi
L
fichier
hi de
d configuration
fi
ti par dfaut
df t estt
/etc/named.conf
Lu

par named (le dmon de BIND) au dmarrage


Directives de configuration :

Ports : 53 udp,
p, 53 tcp
p

Configurations : /etc/named.conf
/etc/named conf et /var/named/*

M. E. ELHDHILI

18

M. E. ELHDHILI

dclaration de zones, options, listes de contrle d'accs, etc.

Les

commentaires peuvent tre de type C, C++ ou shell


On
O peut spcifier
ifi d
des rseaux avec lla notation
i
rseau/masque
Les
L directives
di ti
de
d configuration
fi
ti de
d BIND se tterminent
i
t
toujours par un point-virgule
19

M. E. ELHDHILI

20

Dclaration des zones

/etc/named.conf : Options Globales

Se dclarent avec la directive options :


options {
directory "/var/named";
//base de donnes
forwarders {203.50.0.137;};
//serveur racine contacter
allow query {192.100.100/24;};
allow-query
{192 100 100/24;}; // machines autorises
allow-transfer {192.100.100/24;}; //serveurs caches autoriss
};

Se dclarent avec la directive zone

Les fichiers de zones sont placs par dfaut dans


/var/named/.

Les noms de fichiers sont arbitraires.

Chaque zone directe


Ch
di
d i avoir
doit
i une zone de
d rsolution
l i
inverse sauf la zone racine.

Zone racine : "."


zone "." {
type hint; //relative a internet
file "named.ca"; }; //fichier zone

21

M. E. ELHDHILI

Dclaration des zones

Dclaration des zones


Zones de Rsolution Inverse

Zones Matres (primaires)

zone " infcom.rnu.tn" {


type master;
// serveur matre (primaire)
fil iinfcom.rnu.tn.zone";
file
f
" }}; // fi
fichier
hi d
de zone

Le nom de zones se termine par un domaine spcial : .inaddr.arpa


zone "10.100.172.in-addr.arpa"
"10 100 172 i dd
"{
type slave;
masters { 172.100.10.1;
172 100 10 1; };
file "172.100.10.zone"; };

Zones Esclaves (secondaires)


zone " infcom.rnu.tn " {
type slave;
masters { 192.100.100.1; };
file " infcom
infcom.rnu.tn.zone";
rnu tn zone"; };

M. E. ELHDHILI

22

M. E. ELHDHILI

Zones Spciales

23

Zone racine : pas de rsolution inverse


Zone de loopback : "0.0.127.in-addr.arpa
zone "0.0.127.in-addr.arpa" {
t pe master;
type
file "0.0.127"; }; //fichier zone
M. E. ELHDHILI

24

SOA (Start Of Authority)

Fichiers de Zones

fichiers de zones = Base de donnes du services DNS

contiennent la dclaration des machines appartenant la zone.


zone

se trouvent gnralement dans /var/named/

Commencent par $TTL (time to live ou dure de vie)

La premire dfinition de ressource est le dbut d'autorit (SOA) de la zone

Dfinitions de Ressource ((Resource Record ou RR))

Tout fichier de zone doit avoir un SOA


@ IN SOA ns.redhat.com.
root.redhat.com. (
//numro de srie
2001042501 ; //
300 ; //rafrachissement
60 ; //nouvelle tentative
1209600 ; //expiration
43200 ; //dure de vie minimale pour les rponses ngatives )

Syntaxe : [domain] [ttl] [class] <type> <rdata>

[domain] spcifier
p
le domaine ou utiliser le domaine courant

[ttl] temps de conservation en cache

[class] classification de dfinition (gnralement IN)

<type> type de dfinition (SOA, MX, A, etc)

<rdata> donnes spcifiques la dfinition

25

M. E. ELHDHILI

Les valeurs ne s'expriment pas obligatoirement en


secondes
d

Autres ressources

Autres ressources

NS (name server ou serveur de noms)

Il doit y avoir une dfinition NS pour chaque serveur de


noms matre ou esclave dune zone

Les dfinitions A associent un nom de machine une adresse IP

@ IN NS ns.redhat.com.
redhat.com.
dh t
IN NS ns1.redhat.com.
1 dh t

27

redhat.com. IN MX 5 mail.redhat.com.

HINFO fournit des informations supplmentaires sur les machines

M. E. ELHDHILI

3.100.100.192.in-addr.arpa IN PTR mail.redhat.com.

MX associe un domaine une machine charge de grer le courrier de


ce domaine

pop IN CNAME mail


il
ssh IN CNAME login.redhat.com.

L dfinitions
Les
dfi i i
PTR associent
i
une adresse
d
IP un nom de
d machine
hi

mail IN A 192.100.100.3
l i
login.redhat.com.
dh t
IN A 192.100.100.4
192 100 100 4

Les dfinitions CNAME fournissent des alias d'adresses

Les dfinitions NS pointent sur tout serveur esclave qui doit


tre consult p
par le serveur de noms du client si le serveur
matre est indisponible

26

M. E. ELHDHILI

mail IN HINFO i686 Linux-2.0.36


Linux-2 0 36

M. E. ELHDHILI

28

/etc/named.conf :

Exemple complet : dclaration dun serveur


maitre p
pour une zone

Scnario :
Poste3

est une machine du rseau qui veut se dclarer


pour une zone regroupant
g
p
les machines p
poste5 et
maitre p
poste6.

Seront cres :
Dclaration

de la zone directe et inverse pour la nouvelle


zone (exemple : zone3)
Fichier
Fi hi d
de rsolution
l ti di
directe
t : /var/named/poste3.zone
/ /
d/
t 3
Fichier de rsolution inverse : /var/named/0.0.10.5.inaddr arpa
addr.arpa
29

M. E. ELHDHILI

zone3.
poste3 zone3
poste3.zone3.
poste5.zone3.
poste6.zone3.

M. E. ELHDHILI

};
zone "localhost" in {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "named.local";
named.local ;
};
/* les 2 zones suivantes servent dclarer poste3 maitre pour zone3 */
// zone directe :
zone "zone3"
"
3" in
i {
type master;
file "poste3.zone";
};
// zone inverse :
zone "0.0.10.in-addr.arpa" in {
type master;
fil "0
file
"0.0.10.5.in-addr.arpa";
0 10 5 i dd
"
};
M. E. ELHDHILI

$TTL 1W
@ IN SOA
poste3.zone3. root.poste3.zone3. (
42
; serial
2D
; refresh
4H
; retry
6W
; expiry
1W )
; minimum
IN
IN
IN
IN

NS
A
A
A

30

/var/named/0.0.10.5.in-addr.arpa : fichier de zone inverse

/var/named/poste3.zone
p
: fichier de zone directe

$TTL 1W
@ IN SOA

/*les options globales par dfauts sont conserves*/


/* les 3 zones suivantes sont existantes et ne pas modifier */
zone "."
" " iin {
type hint;
file "named.ca";

poste3.zone3. root.poste3.zone3. (
42
; serial
2D
; refresh
4H
; retry
t
6W
; expiry
1W )
; minimum

0.0.10.in-addr.arpa.
5 0 0 10 in addr arpa
5.0.0.10.in-addr.arpa.
8.7.7.10.in-addr.arpa.
15.10.10.10.in-addr.arpa.

poste3.zone3.
10 0 0 5
10.0.0.5
10.7.7.8
10.10.10.15

31

M. E. ELHDHILI

IN
IN
IN
IN

NS
PTR
PTR
PTR

poste3.zone3.
poste3.zone3.
poste3
zone3
poste5.zone3.
poste6.zone3.
32

Utilitaires BIND

Outils de rsolution de noms

On trouve dans le paquetage bind-utils plusieurs utilitaires


pratiques,
ti
dont
d t:

Syntaxe:

host : pour recueillir des informations sur une machine ou un


domaine host -a ns.redhat.com
host -al redhat.com
dig : pour envoyer des requtes directement au serveur de noms dig
@ redhat.com
@ns
dh
any

d g hosname
dig
os a e
dig i @IP
Requiert
q
un nom de domaine q
qualifi ((FQDN)
Q
)

BIND chouera au lancement dans le cas d'erreurs de syntaxe


named-checkconf : vrifie la syntaxe de /etc/named.conf
named-checkzone : vrifie un fichier de zone spcifique

M. E. ELHDHILI

33

Dig:
g remplace
p
la commande nslookup
p

host
Non-interactif
N i t
tif

seulement
l
t
L'IP de serveur n'a pas besoin d'tre rsolvable

nslookup
l
(dconseill)
(d
ll )
M. E. ELHDHILI

34