Domain Name Service (DNS) - n FOSSOUO Xavier (AUF)

 
CONTINUER À LIRE
Domain Name Service (DNS)
n   FOSSOUO Xavier (AUF)
      n   Xavier.fossouo@auf.org
PLAN
n   Introduction                n   DNS inverse
n   Nommage avec /etc/hosts     n   Autres RR: CNAME,
n   Principe du découpage en        MX, TXT, AAAA
    domaines
n   Configuration de BIND
n   Création d’une zone
n   Outils de débuggage (dig,
    nslookup)
n   Déclaration d’une zone en
    esclave
n   Enregistrement sur le TLD
Introduction, le besoin
n   Besoin
    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)
    n   trouver le nom d ’une machine à partir de son
        numéro IP (résolution inverse)
    n   identifier un groupe de machines ayant des
        ressources réseau communes (relais de
        messagerie, …)
Introduction (suite)
n   Quelques exemples simples :
     n   nom de domaine : afnic.asso.fr
     n   nom de machine : ftp.afnic.asso.fr fi adresse ip
         192.134.4.13
     n   nom de machine : relay1.afnic.asso.fr fi adresse ip
         192.134.4.17
     n   nom de machine : www.afnic.asso.fr fi adresse ip
         192.134.4.11
     n   nom de machine : www.nic.fr fi adresse ip 192.134.4.11
     n   adresse IP : 192.134.4.11       fi www.afnic.asso.fr
                                   fi www.nic.fr
n   Une information dans le DNS indique vers quelle
    machine diriger le courrier électronique :
     n   Jean.Dupont@afnic.asso.fr 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   temps de diffusion des infos (par ftp !)
         n   système centralisé
         n   quelques centaines de machines dans les années 70
         n   plusieurs millions aujourd’hui
    n   correspondance statique
    n   ne contient que des infos réduites
    n   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   modèle en arborescence (similaire à l’arborescence d’un
             système de fichiers avec ses répertoires)
         n   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   1032, 1033, 1034, 1035, 1101, 1122, 1123, 1183,
        1713, 1794, 1912, 1995, 1996, 2010, 2136, 2137,
        2181, 2308, 2535-2541
n   Documentation
    n   http://www.dns.net/dnsrd/ (RFC, drafts, FAQ, …)
    n   http://www.nic.fr/Guides/DNS.html
    n   http://www.nic.fr/Formation/
n   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

            auf                          Domaine 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 sous-
       domaines
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   Nouveaux domaines racine en cours de normalisation:
     n firm, store, web, arts, rec, info, nom

n   Certaines organisations nationales peuvent être gérées
    administrativement par un consortium : RIPE

n   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                             195.24.200.202
vers le plus significatif                 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   BIND est un serveur de nom pour Unix
n   Implémente le Domain Name System (DNS): RFC
    1034 et 1035
n   Une partie serveur: implémentée par la commande
    /usr/sbin/named
n   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   BIND permet la résolution de noms: établir la
    correspondance entre un nom de machine et une
    adresse IP et réciproquement.
n   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:
n   Netscape http://www.cm.refer.org =>requête au DNS
    pour trouver l’adresse de www.cm.refer.org
n   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   m1.centralweb.fr                             DNS

             Demande de résolution
                 m1.centralwebfr ????
                                        serveur
      client                             DNS
      Telnet         Réponse
                   193.148.37.201
                                                   serveur
 193.148.37.201                                     DNS

   serveur                               serveur
   Telnetd                                DNS
Types de serveurs de nom
n   Serveur de nom primaire : maintient la base de
    données de la zone dont il a l’autorité administrative
n   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   Configuration du résolveur BIND
  n   Configuration du serveur de nom BIND
      (named)
  n   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   permet de démarrer la résolution d ’une requête si
        le serveur n’a aucune information
    n   contient la liste des serveurs de nom et leur
        numéro IP
    n   primaire : A.ROOT-SERVERS.NET.
    n   une quinzaine de serveurs secondaires à travers le
        monde
    n   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.
A.ROOT-SERVERS.NET.     IN   A         198.41.0.4
.              IN   NS       B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.     IN   A         128.9.0.107
.              IN   NS       C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.     IN   A         192.33.4.12
.              IN   NS       D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.     IN   A         128.8.10.90
.              IN   NS       E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.     IN   A         192.203.230.10
.              IN   NS       F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.    IN    A         39.13.229.241
.              IN   NS       G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.     IN   A         192.112.36.4
.              IN   NS       H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.     IN   A         128.63.2.53
.              IN   NS       I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.    IN    A         192.36.148.17
/etc/named.local
n   @     IN    SOA   localhost. root.localhost. (
n                           1997022700 ; Serial
n                           28800      ; Refresh
n                           14400      ; Retry
n                           3600000 ; Expire
n                           86400 ) ; Minimum
n           IN    NS    localhost.
n   1    IN    PTR   localhost.
Les Resource Records (RR)
n   Le RR est un enregistrement dans la base de données du DNS
n   Un RR par ligne
n   Zone IN SOA … Informations relatives à une zone.
n   Zone IN NS serveur indique le nom d’un serveur pour une zone
n   Nom IN A adresse indique l’adresse IP d’une machine
n   Nom IN MX pref relais indique que la mail destiné à Nom doit
    être envoyé à la machine relais avec une préférence pref.
n   Alias IN CNAME Nom           Alias pour une machine
n   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   1. N° de version de ce fichier
 n   2. Temps de rafraichissement: fréquence à
     laquelle un secondaire interroge un primaire pour
     savoir si la base a été modifiée.
 n   3. Réessai: fréquence des ré-essai en cas d’échec
     d’un refresh.
 n   4. Expiration: temps maximum pendant lequel un
     secondaire garde une info qui n’a pas pu être
     rafraîchie.
 n   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.    IN NS     ns.cm.refer.org.
cm.refer.org.    IN NS     aupelf.refer.org.
@                IN NS     ns2.cm.refer.org.
Enregistrements A
      ; Spécifie les adresses des machines:

cm.refer.org.           IN    A     195.24.200.194
aupelf.refer.org.       IN    A     193.104.62.2

$ORIGIN cm.refer.org.
ns                      IN    A     195.24.200.194
ns2                     IN    A     195.24.200.195
www                     IN    A     195.24.200.202
routeur                 IN    A     195.24.200.193
modem1                  IN    A     195.24.200.206
Création d’une zone
Les grandes étapes
  n   Installer le fichier /etc/named.conf
  n   Créer le fichier de zone ( dans /var/named,
      /var/cache/bind, …)
  n   Relancer le serveur DNS (named, bind,…)
TP1

n   Créer une zone
n   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             IN    CNAME    ns
mail            IN    CNAME    ns
pop             IN    CNAME    ns
smtp             IN   CNAME    ns
L’Enregistrement MX
n   MX = Mail eXchanger
n   Permet l’adressage Email sur la base du nom de domaine
    plutôt que sur l’adresse du (des) serveur(s) de mail :
     n fossouo@cm.refer.org plutôt que

       fossouo@smtp.cm.refer.org
n   L’enregistrement MX est consulté par les mailers (SMTP client)
n   Tient compte des priorités; exemple

cm.refer.org. IN MX 5              smtp.cm.refer.org.
cm.refer.org. IN MX 10             smtp.fr.refer.org.
Résolution inverse
n   Consiste a obtenir le nom de domaine à
    partir de l’adresse IP
    n   pour faciliter la compréhension des humains
    n   pour des raisons de sécurité

n   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   le domaine in-addr.arpa
    n   les noms des noeuds correspondent aux octets de
        l’adresse IP en ordre inverse
    n   le domaine in-addr.arpa a 256 sous-domaines,
    n   chacun de ces sous-domaines a 256 sous-domaines,
    n   chacun de ces sous-domaines a, à son tour, 256
        sous-domaines,
    n   le 4ème niveau correspond à un NS connaissant le
        nom de domaine associé à cette adresse IP
Résolution inverse (suite)
                        arpa
                     in-addr

0                     195                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   car la résolution d’un nom de domaine se fait de droite à gauche
    n   exemple : 194.200.24.195.in-addr.arpa
    n   résolution :
         n    in-addr.arpa -> A.ROOT-SERVER.NET
         n   195.in-addr.arpa -> NS.RIPE.NET
         n   24.195.in-addr.arpa -> NS.RIPE.NET
         n   200.24.195.in-addr.arpa -> ???
         n   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
        n http://www.networksolutions.com
   n   APNIC : Asie Pacifique NIC
        n http://www.apnic.net

   n   IANA : .us (rfc 1480), .edu, .gouv (Etats-
       Unis),
        n http://www.isi.edu/in-notes/usdnr/

   n   Une liste des autres NIC européens et
       mondiaux :
        n http://www.nic.fr/Guides/AutresNics/
BIBLIOGRAPHIE

n   TCP/IP Administration de réseau, Craig
    Hunt, O’Reilly, 2e édition
n   BIND, Roland Dirlewanger, juin 1999
n   http://www.centralweb.fr
n   http://transfer.refer.org
Vous pouvez aussi lire