1
DNS Service de noms de domaine
Nommage et adressage dans Internet
2
DNS Service de noms de domaine
Full Qualified Domain Name et URL
• FQDN : Full Qualified Domain Name
Nom complet d'un hôte, sur l'Internet, c'est-à-dire de la machine jusqu'au domaine, en passant par les sous-domaines.
• URL : Uniform Resource Locator
Méthode d'accès à un document distant. Un lien hypertexte avec une syntaxe de la forme:
<Type de connexion>://<FQDN>/[<sous-répertoire>]/.../<nom du document>
Exemple: http://en.wikipedia.org/wiki/Main_Page - http: Hyper Text Transfert Protocol
– En.wikipedia.org : FQDN – Wiki : arborescence de répertoires – Main_Page: nom du document.
3
DNS Service de noms de domaine
Question
Les machines sont identifiées par leur adresse IP : comment trouver l’adresse IP d’un correspondant dont
l’on ne connaît que l’URL?
Grâce à un serveur de noms de domaine
4
DNS Service de noms de domaine
Le service de noms de domaine : DNS
• Le système de noms de domaines (Domain Name System), ou DNS, est une base de données distribuée
Il est utilisée par TCP/IP pour établir une correspondance entre les noms de machines et les adresses IP
• Pour procurer de l'information de routage du courrier électronique
• Le terme distribué est utilisé parce qu'aucun site de l'Internet ne connaît toute l'information
5
DNS Service de noms de domaine
Le service de noms de domaine : DNS
• Chaque site (département universitaire, campus, société...) maintient sa propre base de données d'informations et exécute un programme serveur
• Les autres systèmes (clients) sur l'Internet peuvent interroger.
Le DNS fournit le protocole qui permet aux clients et aux serveurs de communiquer les uns avec les autres.
• L'accès au DNS s'effectue à travers un résolveur.
6
DNS Service de noms de domaine
Le service de noms de domaine : DNS
• Sur les systèmes Unix, le résolveur est accédé dans un premier temps par deux fonctions de librairie : gethostbyname et gethostbyaddr
• Le résolveur contacte un ou plusieurs serveurs de noms pour établir cette correspondance
• Une application doit forcément convertir un nom de machine en adresse IP avant qu'elle puisse demander à TCP d'ouvrir une connexion ou d'envoyer un datagramme en utilisant UDP.
7
DNS Service de noms de domaine
Le service de noms de domaine : DNS
• Les protocoles TCP/IP inclus dans le noyau ne connaissent rien du DNS.
• L'implémentation la plus couramment utilisé du DNS, à la fois pour le résolveur et le serveur de noms, est appelé BIND (Berkeley Internet Name Domain Server). Le serveur est appelé named.
8
DNS Service de noms de domaine
Nslookup (souvent remplacé par dig ou host)
• mode « ligne de commande » (NT, XP, linux)
• exemple:
>nslookup grominet.u-strasbg.fr Serveur : ns1.u-strasbg.fr Address: 130.79.200.1
Nom : grominet.u-strasbg.fr Address: 130.79.90.182
>nslookup 130.79.90.182 Serveur : ns1.u-strasbg.fr Address: 130.79.200.1
Nom : grominet.u-strasbg.fr Address: 130.79.90.182
9
DNS Service de noms de domaine
Bases du DNS
• L'espace de noms du DNS est hiérarchique, de façon similaire au système de fichiers Unix
arpa com gov edu fr zw
in-addr 140
252
13 33 Domaines de top niveau Domaines de second niveau
Domaines génériques Domaines géographiques
13.33.252.140.in-addr.arpa noao
tuc
sun u-strasbg.
mob
mob.u-strasbg.fr sun.tuc.noao.edu Racine non nommée
10
DNS Service de noms de domaine
Bases du DNS
• Chaque nœud a un label comprenant jusqu'à 63 caractères
• La racine de l'arbre est un nœud spécial avec un label nul
• Quand les labels sont comparés, les minuscules et majuscules sont indifférenciés
• Le nom de domaine de n'importe quel noeud de l'arbre est la liste des labels, en commençant par ce noeud, et en remontant vers la racine (séparés par des « . »)
• Chaque noeud dans l'arbre doit avoir un nom de domaine unique, mais le même label peut être utilisé a différents points de l'arbre
11
DNS Service de noms de domaine
Bases du DNS
• Un nom de domaine qui se termine par un point est appelé nom de domaine absolu ou nom de domaine pleinement qualifié (FQDN - fully qualified domain name)
Exemple : sun.tuc.noao.edu.
• Si le nom de domaine ne se termine pas par un point, on suppose que le nom a besoin d'être complété. La façon dont le nom est complété dépend du logiciel DNS qui est utilisé.
12
DNS Service de noms de domaine
Bases du DNS
• Les domaines de niveaux supérieurs sont divisés en trois zones : – ARPA est un domaine spécial utilisé pour les correspondances
adresses vers noms
– Les sept domaines sur 3 caractères sont appelés domaines génériques ou organisationnels
– Tous les domaines sur 2 caractères sont basés sur les codes pays
– D’autres domaines ajoutés plus récemment ( .name .biz …)
• Aucune entité ne gère tous les labels de l'arbre
13
DNS Service de noms de domaine
Bases du DNS
• Une entité (le NIC) maintient une portion de l'arbre (les domaines de top niveaux) et délègue la responsabilité aux autres pour des zones spécifiques
• Une zone est un sous arbre de l'arbre DNS administré séparément
• Une zone commune est un domaine de second niveau Exemple: u-strasbg.fr
• Beaucoup de domaines de second niveau divisent ensuite leur zones en zones plus petites
Exemple ipv6.u-strasbg
14
DNS Service de noms de domaine
Bases du DNS
• Une fois que l'autorité est déléguée pour une zone c'est à la personne responsable de la zone de fournir des serveurs de noms multiples pour cette zone
• Dès qu'un nouveau système est installé dans une zone,
l'administrateur de DNS pour la zone alloue un nom et une adresse IP au nouveau système
• La personne responsable d'une zone doit fournir un serveur de noms primaire pour cette zone et un ou plusieurs serveurs de noms secondaires
15
DNS Service de noms de domaine
Bases du DNS
• Une propriété fondamentale du DNS est la mise en mémoire cache
• C'est à dire que lorsqu'un serveur de noms reçoit une information concernant une correspondance, il cache cette information :
– l o r s d ' u n e d e m a n d e u l t é r i e u r e p o u r l a m ê m e correspondance, le résultat caché peut être utilisé et des demandes supplémentaires aux autres serveurs ne sont pas nécessaires.
16
DNS Service de noms de domaine
DNS : Administration
• L ’AFNIC est chargée d ’enregistrer tous les noms des sous- domaines de .fr
• Pour déclarer un nouveau domaine il est nécessaire de contacter l ’AFNIC et de mettre au moins un DNS primaire et un DNS secondaire en place
17
DNS Service de noms de domaine
Lecture des noms de domaine
• A l’inverse de l’adressage IP la partie la plus spécifique se situe à gauche et la plus générale à droite :
mobinet.ipv6.u-strasbg.fr 130.79.7.12 vers le plus spécifique vers le plus specifique
mobinet. ipv6.u-strasbg.fr
domaine français (.fr) domaine de l ’univ. de strasbourg sous-domaine l ’univ. de strasbourg machine mobinet
18
DNS Service de noms de domaine
Types de serveurs de noms
• 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
– interroge périodiquement le serveur de nom primaire et met à jour les données
• Pour chaque zone Il y a un serveur primaire et généralement plusieurs secondaires, au moins 2
19
DNS Service de noms de domaine
Types de serveurs de noms
• La redondance permet la défaillance éventuelle du primaire et du (des) secondaire(s)
• Un serveur de nom peut être primaire pour une (des) zone(s) et secondaire pour d’autre(s).
20
DNS Service de noms de domaine
Serveurs racine
• Connus, mis à jour par l’InterNIC
– ftp://ftp.rs.internic.net/domain/named.root
• Chargés de gérer les domaines de top niveau (TLD, Top Level Domain)
– fr – gov – com – net – etc…
21
DNS Service de noms de domaine
Serveurs racine
; This file holds the information on root name servers needed to; initialize cache of Internet domain name servers
; (e.g. reference this file in the "cache . <file>"
; configuration file of BIND domain name servers).
;
; This file is made available by InterNIC
; under anonymous FTP as
; file /domain/named.root
; on server FTP.INTERNIC.NET
;
; last update: Nov 5, 2002
; related version of root zone: 2002110501
;
;
; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;
; formerly NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
;
; formerly C.PSI.NET
; […]
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
;
; housed in Japan, operated by WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
; End of File
22
DNS Service de noms de domaine
23
DNS Service de noms de domaine
Processus
• Demander à un DNS racine s'il connaît des DNS qui savent répondre pour le TLD (Top Level Domain) recherché
• Interroger alors l'un de ces DNS pour trouver un DNS qui sache répondre pour le domaine d'entreprise donné
• …
• Interroger l'un de ces DNS, pour qu'il résolve le FQDN recherché.
24
DNS Service de noms de domaine
Résolution de noms
Application résolveur
Serveur de noms du domaine
racine BDD
Serveur de noms du domaine
fr BDD
Serveur de noms du domaine u-strasbg.fr
BDD Serveur de noms
du domaine u-strasbg.fr BDD
Machine mobinet.u-strasbg.fr requête réponse
25
DNS Service de noms de domaine
Exemple
>nslookup
Serveur par défaut : ns1.u-strasbg.fr Address: 130.79.200.1
> server g.root-servers.net
Serveur par défaut : g.root-servers.net Address: 192.112.36.4
> set q=ns on s’intéresse uniquement aux serveurs de noms
26
DNS Service de noms de domaine
Exemple
> fr.
Serveur : g.root-servers.net Address: 192.112.36.4
Réponse ne faisant pas autorité : fr nameserver = NS1.NIC.fr fr nameserver = NS3.NIC.fr fr nameserver = DNS.INRIA.fr fr nameserver = NS2.NIC.fr fr nameserver = DNS.PRINCETON.EDU fr nameserver = NS-EXT.VIX.COM fr nameserver = NS3.DOMAIN-REGISTRY.NL fr nameserver = DNS.CS.WISC.EDU
NS1.NIC.fr internet address = 192.93.0.1 NS3.NIC.fr internet address = 192.134.0.49 DNS.INRIA.fr internet address = 193.51.208.13 NS2.NIC.fr internet address = 192.93.0.4 DNS.PRINCETON.EDU internet address = 128.112.129.15 NS-EXT.VIX.COM internet address = 204.152.184.64 NS3.DOMAIN-REGISTRY.NL internet address = 193.176.144.6 DNS.CS.WISC.EDU internet address = 128.105.2.10
27
DNS Service de noms de domaine
Exemple
> server dns.inria.fr Serveur par défaut : dns.inria.fr Address: 193.51.208.13
> u-strasbg.fr.
Serveur : dns.inria.fr Address: 193.51.208.13
u-strasbg.fr nameserver = ns1.u-strasbg.fr u-strasbg.fr nameserver = ns2.u-strasbg.fr u-strasbg.fr nameserver = shiva.jussieu.fr ns1.u-strasbg.fr internet address = 130.79.200.1 ns2.u-strasbg.fr internet address = 130.79.200.3 shiva.jussieu.fr internet address = 134.157.0.129
28
DNS Service de noms de domaine
Exemple (suite)
>server ns1.u-strasbg.fr
Serveur par défaut : ns1.u-strasbg.fr Address: 130.79.200.1
> set q=a
> www.u-strasbg.fr Serveur : ns1.u-strasbg.fr Address: 130.79.200.1
Nom : apopi.u-strasbg.fr Address: 130.79.200.12 Aliases: www.u-strasbg.fr
29
DNS Service de noms de domaine
Exemple (suite)
> ls -d u-strasbg.fr [ns1.u-strasbg.fr]
u-strasbg.fr. SOA ns1.u-strasbg.fr hostmaster.u-strasbg.fr.
(2003021804 86400 3600 3600000 86400)
u-strasbg.fr. NS ns1.u-strasbg.fr u-strasbg.fr. NS ns2.u-strasbg.fr u-strasbg.fr. NS shiva.jussieu.fr u-strasbg.fr. MX 10 bes.u-strasbg.fr birgit A 130.79.88.8 www-grtr CNAME sepia.u-strasbg.fr mururoa MX 10 ns1.u-strasbg.fr mururoa A 130.79.95.113 libuse MX 10 ns1.u-strasbg.fr
…
SOA : Start of Authority : serveur responsable de la zone NS : serveurs de noms
MX : serveurs SMTP…
A : adresse IP correspondante
CNAME : Canonical Name : alias (la partie droite est un nom d’hôte défini dans un enregistrement de type A)
30
DNS Service de noms de domaine
Resolution inverse
• Consiste a obtenir le nom de domaine à partir de l’adresse IP – pour faciliter la compréhension des humains
– Sert dans les « logs » des applications
• Plus délicate que nom -> IP car le système DNS est organisé pour la résolution de nom
31
DNS Service de noms de domaine
Resolution inverse (suite)
• le nom de domaine associé à la résolution inverse est noté selon l’adresse IP inversée :
– car la résolution d’un nom de domaine se fait de droite à gauche
– exemple : 130.79.7.10 → 10.7.79.130.in-addr.arpa – résolution :
• in-addr.arpa -> A.ROOT-SERVERS.NET
• 130.in-addr.arpa -> NS.RIPE.NET
• 79.130.in-addr.arpa -> NS2.NIC.FR
• 7.79.130.in-addr.arpa -> isis.u-strasbg.fr
32
DNS Service de noms de domaine
Resolution inverse (suite)
.
arpa in-addr
0 130 255
255
0 79
255
0 7
255
0 10
Steed.u-strasbg.fr
33
DNS Service de noms de domaine
Enregistrements d’un serveur de nom
• Types d’enregistrements
– SOA: décrit l’autorité administrative, – NS : liste de serveurs de nom pour ce domaine – A : correspondance nom -> adresse – PTR : correspondance adresse -> nom – CNAME : alias
– TXT : texte
– HINFO : description machine
34
DNS Service de noms de domaine
Enregistrement : SOA
• SOA = Start of Authority
u-strasbg.fr. SOA ns1.u-strasbg.fr hostmaster.u-strasbg.fr.
(2002021804 86400 3600 3600000 86400)
• Spécifie que ce serveur de nom a autorité sur le domaine – ns1.u-strasbg.fr : MNAME : DNS principal
– hostmaster.u-strasbg.fr : RNAME : nom du responsable (comprendre hostmaster@u-strasbg.fr)
– 2003021804 : SERIAL : année, mois, jour, révision
– 86400 : REFRESH : intervalle de mise à jour des serveurs secondaires – 3600 : RETRY : attente après échec de mise à jour d’un serveur
secondaire
– 3600000 : EXPIRE : durée de validité des infos sur les serveurs secondaires (ici 1000 heures / ~41jours)
– 86400 : MINIMUM : durée de validité minimum des infos dans le serveur primaire
35
DNS Service de noms de domaine
Enregistrement : NS
• spécifie les serveurs de nom ayant autorité sur ce domaine
u-strasbg.fr IN NS isis.u-strasbg.fr.
@ IN NS 131.12.2.2
@ IN NS amon.u-strasbg.fr.
36
DNS Service de noms de domaine
Enregistrements : adresses et alias
mobinet IN A 130.79.7.88 clarinet IN A 193.79.7.86
steed IN A 193.79.7.10
ftp IN CNAME mobinet mail IN CNAME clarinet www IN CNAME steed
37
DNS Service de noms de domaine
Enregistrements : PTR
88.7.79.130.in-addr IN PTR mobinet.u-strasbg.fr.
86.7.79.130.in-addr IN PTR clarinet.u-strasbg.fr.
10.7.79.130.in-addr IN PTR steed.u-strasbg.fr.
38
DNS Service de noms de domaine
Enregistrement MX
• MX = Mail eXchanger (MX Record)
• Permet l’adressage Email sur la base du nom de domaine plutôt que sur l’adresse du (des) serveur(s) de mail :
– dupont@microsoft.com plutôt que dupont@nt102.microsoft.com – permet à l’émetteur d’ignorer la machine serveur de mail – permet le déplacement du serveur de mail vers une autre machine – permet la gestion de plusieurs serveurs de mail avec priorité dans
l’ordre de consultation des serveurs
• L’enregistrement MX est consulté par les mailers (SMTP client)
39
DNS Service de noms de domaine
Format des messages
Header
Question
the question for the name serverAnswer
RRs answering the questionAuthority
RRs pointing toward an authorityAdditional
RRs holding additional information (voir RFC 1035)40
DNS Service de noms de domaine
Exemple de fichiers de configuration : named.conf
options {
directory "/var/named"
};
zone "." { type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" { type master;
file "named.local";
};
zone "mon-domaine.fr" in { type master;
file "mon-domaine.fr";
};
zone "0.168.192.in-addr.arpa" in { type master;
file "db.192.168.0";
};
41
DNS Service de noms de domaine
Exemple de fichiers de configuration : named.local
@ IN SOA mon-serveur.mon-domaine.fr.
mon-nom.mon-serveur.mon-domaine.fr. ( 2000101500 ; numéro de série
28800 ; rafraîchissement toutes les 8 heures 14400 ; nouvel essai toutes les 4 heures 604800 ; expiration dans 7 jours 86400 ) ; temps de vie minimal 24 heures NS mon-serveur.mon-domaine.fr.
1 PTR localhost.
42
DNS Service de noms de domaine
Exemple de fichiers de configuration : mon-domaine.fr
@ IN SOA mon-serveur.mon-domaine.fr. mon-nom.mon-serveur.mon-domaine.fr. ( 2000101500 ; numéro de série
28800 ; rafraîchissement toutes les 8 heures 14400 ; nouvel essai toutes les 4 heures 604800 ; expiration dans 7 jours 86400 ) ; temps de vie minimal 24 heures
; serveur de nom
IN NS mon-serveur.mon-domaine.fr.
;adresses IP des machines localhost IN A 127.0.0.1 mon-serveur IN A 192.168.1.1 mon-serveur-web IN A 192.168.1.2
;Alias
www IN CNAME mon-serveur-web ftp IN CNAME mon-serveur-web pop IN CNAME mon-serveur
; Serveur smtp
mon-serveur-smtp IN A 192.168.1.3
IN MX 10 mon-serveur-smtp.mon-domaine.fr.
43
DNS Service de noms de domaine
Exemple de fichiers de configuration : db.192.168.0
@ IN SOA mon-serveur.mon-domaine.fr.
mon-nom.mon-serveur.mon-domaine.fr. ( 2000101500 ; numéro de série
28800 ; rafraîchissement toutes les 8 heures 14400 ; nouvel essai toutes les 4 heures 604800 ; expiration dans 7 jours 86400 ) ; temps de vie minimal 24 heures
; serveur de nom
IN NS mon-serveur.mon-domaine.fr.
; adresses IP inverses
1 IN PTR mon-serveur.mon-domaine.fr.
2 IN PTR mon-serveur-web.mon-domaine.fr.
3 IN PTR mon-serveur-smtp.mon-domaine.fr.
44
DNS Service de noms de domaine
Le résolveur
• Le résolveur est le client du système de noms de domaine
• Il récupère les domaines des applications et envoie une requête au serveur de noms
• Sous unix le resolver est configuré à travers le fichier /etc/
resolv.conf
• domain mon-domaine.fr nameserver 127.0.0.1
• sur la zone u-strasbg.fr : search u-strasbg.fr nameserver 130.79.68.247 nameserver 130.79.200.1
45
DNS Service de noms de domaine
Configuration d ’un resolver
46
DNS Service de noms de domaine
Directives d ’un résolveur
• Domain : domaine dans lequel se trouve la machine locale domain u-strasbg.fr
• Search : indique au résolveur de rechercher en premier dans les domaines spécifiés
search u-strasbg.fr ipv6.u-strasbg.fr
• Nameserver : adresse IP des serveurs de noms à interroger nameserver 130.79.68.247
nameserver 130.79.200.1