LE TOUR DU NET EN QUESTIONS
DNS



Accueil Références Remerciements

Accès DSL Autres accès Fournisseurs d'accès Backbone Adresses IP Protocoles

Noms de domaine DNS Applications Web Statistiques Gouvernance
Cliquer sur les liens ci-dessus pour visualiser les différentes pages du site.


Cette page est consacrée au protocole DNS (Domain Name System), qui est à la base du fonctionnement technique des noms de domaine sur Internet. Ce protocole permet de gérer, de manière distribuée sur un ensemble de serveurs DNS, l'association entre les noms de domaine d'une part, et les adresses IP (ainsi que d'autres informations techniques) d'autre part.
Nous traitons dans un premier temps des outils DNS permettant d'obtenir différentes informations concernant les noms de domaine : résolution directe et inverse (host, nslookup, dig), visualisation de caches DNS, transfert de zone.
Nous présentons ensuite un ensemble de sites consacrés aux serveurs DNS, et en particulier aux serveurs racines de l'Internet.


  1. Haut de page

    OUTILS DNS
    Host, Nslookup, Dig et les autres...

  2. Quel est le nom de ma station ? Son nom de domaine ? Mes serveurs DNS ?

    Les informations DNS s'obtiennent différemment selon le système d'exploitation utilisé :
    (commande-Win)  ipconfig /all
    Sous Windows, le résultat de la commande "ipconfig /all" indique à la fois le nom de la station (Nom de l'hôte), le domaine (Suffixe DNS principal, Suffixe DNS propre à la connexion) et la liste des adresses des serveurs DNS utilisés.

    (commande-Unix)  hostname
    (commande-Unix)  cat /etc/resolv.conf
    Sous Unix, la commande "hostname" donne le nom de la station, et le fichier "resolv.conf" contient le domaine à ajouter comme suffixe au nom de station (domain), ainsi que les adresses des serveurs DNS utilisés (nameserver).

  3. Quelle est l'adresse de la station "www.int-edu.eu" ?

    Les outils DNS de base pour la résolution de noms sont "nslookup" (Windows), "host" et "dig" (Unix et Mac OS) :
    (commande-WinNT/2000/XP)  nslookup www.int-edu.eu
    Pour Win9x, on peut installer l'utilitaire "nslookup".

    (commande-Unix)  host www.int-edu.eu
    (commande-Unix)  dig www.int-edu.eu

    Avec Mac OS X, les outils "nslookup" et "dig" sont accessibles au moyen de l'Utilitaire de réseau (onglet "Lookup").

    Ces commandes indiquent le nom réel de la station "www.int-edu.eu" s'il s'agit d'un alias, ainsi que son adresse IP. La commande "nslookup" indique en premier le nom et l'adresse IP du serveur DNS qui a fourni ces informations.

    La commande "dig" (Domain Information Groper) précise le contenu exact du message de réponse DNS reçu du serveur. Elle indique tout d'abord les différents champs de l'en-tête de la réponse : Opcode (Operation Code), Status (RCode : Response Code), ID (Identifier), ainsi que les drapeaux (QR : Query/Response, AA : Authoritative Answer, TC : Truncation, RD : Recursion Desired, RA : Recursion Available), et enfin les compteurs QDCount, ANCount, NSCount et ARCount (nombres de questions, de réponses, d'enregistrements autoritaires et additionnels). Elle détaille ensuite le contenu des différentes sections (Question, Answer, Authority et Additional). Le serveur DNS qui a transmis cette réponse est indiqué à la fin des résultats, avec la date et l'heure.
    On trouvera des informations sur le format de l'en-tête d'un message DNS dans le guide TCP/IP de Charles M. Kozierok :
    http://www.tcpipguide.com/free/t_DNSMessageHeaderandQuestionSectionFormat.htm#Table_169
    Le tableau décrit les différents champs de l'en-tête, et la figure qui suit représente leur position dans cet en-tête.

  4. Quel est le nom de la station d'adresse "157.159.100.1" ?

    Ces commandes permettent également de faire des résolutions inverses :
    (commande-WinNT/2000/XP)  nslookup 157.159.100.1
    (commande-Unix)  host 157.159.100.1
    (commande-Unix)  dig -x 157.159.100.1

    Noter que la résolution inverse de l'adresse "157.159.100.1" consiste à demander l'enregistrement PTR (Pointer) associé au nom de domaine "1.100.159.157.in-addr.arpa.", comme indiqué dans le résultat de la commande "dig".

  5. Puis-je obtenir ces mêmes informations à partir d'une page Web, si ma station ne possède pas les utilitaires précédents (ou si je préfère cliquer sur le Web plutôt que taper dans une fenêtre MS-DOS ou Unix) ?

    On peut utiliser des outils d'interrogation DNS en ligne, tel que celui-ci proposé par "ZoneEdit.com" :
    http://www.zoneedit.com/lookup.html
    Résolution directe : dans la colonne de gauche "DNS Lookup", entrer "www.int-edu.eu" dans le premier champ, puis cliquer sur "Look it up".
    Résolution inverse : dans la colonne de droite "Reverse Lookup", entrer "157.159.100.1" dans le premier champ, puis cliquer sur "Look it up".
    Cet outil nslookup en ligne permet également d'obtenir d'autres informations à partir d'un nom (enregistrements SOA, NS, CNAME, A, AAAA, MX, ANY).

  6. Comment puis-je obtenir rapidement les noms des stations contenues dans le sous-réseau IP de classe C 157.159.11.0 ?

    L'outil suivant permet d'effectuer des recherches DNS inverses multiples sur des plages d'adresses IP consécutives, à partir d'une adresse IP ou d'un nom de domaine déterminé :
    http://www.bankes.com/nslookup.htm
    Dans le champ "start from IP address", entrer "157.159.11.0" et cliquer sur "LOOKUP".
    L'outil affiche les adresses IP autour de la station concernée par blocs de 10, avec leurs résolutions inverses lorsqu'elles existent. Cliquer "NEXT" en bas de page (en choisissant le bouton "+" ou "-") pour continuer le parcours.

  7. Comment puis-je visualiser le cache DNS local à ma station ?

    À partir de Windows 2000, l'option "displaydns" de la commande "ipconfig" permet de visualiser ce cache :
    (commande-Win2000/XP)  ipconfig /displaydns
    Le résultat contient la liste des entrées DNS qui ont été résolues (nom, adresse IP correspondante et durée de vie), ainsi que les entrées négatives (noms inexistants).
    Entrer une URL inexistante dans votre navigateur (par exemple "xxx.int-edu.eu"), puis observer l'information correspondante affichée par la commande précédente.

    Par ailleurs, pour vider un cache DNS, on peut utiliser les commandes suivantes :
    (commande-Win2000/XP)  ipconfig /flushdns
    (commande-Mac OS X)  lookupd -flushcache
    Vider votre cache DNS avec cette commande, puis afficher le à nouveau. Quelles informations contient alors le cache ?

  8. Je veux attaquer le réseau de l'INT. Où puis-je trouver une liste de stations cibles ? Et pour le réseau de MiNET ?

    Le protocole DNS permet d'effectuer un transfert de zone entre serveurs DNS, par exemple d'un serveur primaire vers les serveurs secondaires pour les mises à jour de la zone (requête dite "AXFR"). Un tel transfert utilise normalement le protocole de transport TCP, au lieu de UDP utilisé pour les autres requêtes DNS.
    On peut effectuer un tel transfert de zone au moyen de l'outil DNS "dig" en mode terminal. On peut également utiliser un outil "dig" en ligne, par exemple celui disponible sur le site "netsys.com" :
    http://www.netsys.com/cgi-bin/dig.cgi

    Sélectionner "Perform zone transfer (list entire contents of zone)" en haut à gauche.
    Entrer dans les champs de recherche en bas à droite :
    Name/Number: int-edu.eu
    Name Server: diamant.int-evry.fr
    Puis valider en cliquant sur "Lookup".

    L'outil demande à la station "diamant.int-evry.fr" (serveur DNS de l'INT) un transfert complet de la zone "int-edu.eu".
    Les lignes NS et MX dans la réponse permettent d'obtenir les serveurs de noms et les serveurs de messagerie du domaine concerné. Les lignes A fournissent les adresses IPv4 des stations du domaine, les lignes AAAA les adresses IPv6.

    Pour MiNET, entrer :
    Name/Number: minet.net

    La plupart des sociétés commerciales refusent de tels transferts de zone, à part vers leurs propres serveurs (sécurité oblige...).


    Haut de page

    SERVEURS DNS
    Les serveurs gérant les bases de données de noms de domaine...

  9. Quels sont les serveurs DNS du domaine "int-edu.eu" ? Et ceux du domaine supérieur .FR ?

    On peut obtenir les serveurs DNS d'un domaine au moyen de l'outil "nslookup", en demandant les enregistrements de type NS (Name Server).
    Par exemple avec l'outil "nslookup" en ligne du site "CentralOps.net" :
    http://centralops.net/co/NsLookup.vbs.asp
    Entrer dans le champ "domain" : int-edu.eu
    Sélectionner dans le champ "query type"  le type d'enregistrement "NS - Name server".
    Valider en cliquant sur "go".
    Le résultat présente la liste des serveurs DNS du domaine "int-edu.eu", suivis de leurs adresses IP (dans la section des enregistrements additionnels).

    Pour savoir lequel est le serveur primaire, effectuer une nouvelle requête en sélectionnant le type d'enregistrement "SOA - Start of authority".
    Le serveur primaire est indiqué avec son adresse IP, ainsi que diverses autres informations (adresse mail du responsable de la zone, durée de vie des enregistrements dans la zone...).

    Même principe pour le domaine .FR, en entrant simplement dans le champ "domain" : fr
    On notera que certains serveurs secondaires sont souvent hébergés hors de l'entité officielle, pour des raisons de sécurité (AFNIC et ENST dans le cas de "int-evry.fr", différents opérateurs internationaux pour les serveurs "*.ext.nic.fr" dans le cas de .FR).

  10. Quels sont les serveurs DNS des fournisseurs d'accès français ?

    On trouve sur plusieurs sites des listes de serveurs DNS des FAI français, par exemple ceux-ci :

    Ces listes indiquent les serveurs DNS primaire et secondaire de chaque FAI : AOL France, Cegetel, Club Internet, Free, Nerim, neuf telecom, Noos, Orange (Wanadoo), TELE2, Tiscali France... Les serveurs indiqués comme "libres" peuvent être utilisés par n'importe quel internaute, les autres sont réservés aux clients du FAI concerné.
    Attention : les FAI modifiant régulièrement leurs serveurs DNS, de telles listes ne sont pas nécessairement à jour...

    Le site "eagle-usb.org" fournit un tableau de serveurs DNS dans le monde entier, ainsi que d'autres informations techniques sur les connexions ADSL de chaque FAI :
    http://www.eagle-usb.org/article.php3?id_article=23

    Enfin, Sébastien Willemijns fournit une longue liste de serveurs DNS publics accompagnée des temps de ping correspondants, permettant de choisir un serveur proche :
    http://vivil.free.fr/dns.htm
    De plus, une astuce de programmation permet de calculer les temps de ping depuis sa propre station (sous Windows). Il suffit d'enregistrer la page Web avec le suffixe ".bat", puis de l'exécuter...

  11. L'un des serveurs DNS de l'INT s'appelle "diamant.int-evry.fr". Y a-t-il d'autres serveurs DNS qui s'appellent "diamant" ?

    Les outils Whois de l'InterNIC et de VeriSign permettent d'effectuer des recherches, non seulement sur les noms de domaine, mais aussi sur les serveurs DNS :
    http://registrar.verisign-grs.com/whois/
    Entrer la chaîne suivante : diamant. (le point final indiquant une recherche sur une sous-chaîne)
    Sélectionner "Nameserver" et valider.

    Dans le même ordre d'idées, quels sont les serveurs DNS dont le nom commence par "microsoft.com" ? Entrer cette fois : microsoft.com.
    Les ingénieurs système sont parfois de grands enfants...


    Haut de page

    SERVEURS RACINES
    Les 13 serveurs mondiaux gérant les domaines de premier niveau...

  12. Je veux détruire le réseau Internet en attaquant les serveurs DNS racines. Où dois-je envoyer mes paquets (attaque logicielle par déni de service) ? Où dois-je envoyer mes missiles (attaque physique) ?

    Voici la page d'information officielle sur les serveurs racines du DNS :
    http://root-servers.org/
    Les 13 serveurs racines sont numérotés de A à M. Le tableau indique les opérateurs qui en ont la charge, leurs localisations géographiques, leurs adresses IP et leurs numéros de système autonome.
    Observer que, pour mieux répartir la charge et mieux résister aux attaques potentielles, certains de ces serveurs racines sont dupliqués à plusieurs endroits avec la même adresse IP (technique du routage Anycast). Cette technique des miroirs Anycast permet ainsi d'améliorer les performances et la disponibilité du système DNS. Lesquels ont une copie en France ?
    Observer également que certains serveurs possèdent une adresse IPv6 en complément de leur adresse IPv4.

    Certains serveurs racines possèdent également leur propre site Web, que l'on peut consulter en cliquant sur les liens dans le tableau précédent. Par exemple ceux-ci :

    Et les voici sur une carte du monde :
    http://www.sdsc.edu/Press/press_images/world_map_13_roots.jpeg
    Cette carte indique la localisation des serveurs racines de base, sans tenir compte de leurs réplications Anycast.
    Sur 13 serveurs racines, combien se trouvent hors des États-Unis ?

    L'APNIC fournit également la carte des miroirs Anycast situés dans la zone Asie-Pacifique :
    http://www.apnic.net/services/rootserver/
    Cliquer sur un site pour avoir plus d'informations (opérateur, localisation, fournisseurs de transit IP, date de création...).
    Voici les grandes étapes de leur déploiement :
    http://www.apnic.net/services/rootserver/timeline.html

    Ces serveurs racines sont configurés dans les serveurs DNS au moyen d'un fichier dont le nom diffère selon le système d'exploitation et la configuration (named.root, named.cache, db.cache, cache.dns...), et dont la version officielle peut être obtenue sur le site FTP de l'InterNIC :
    ftp://ftp.internic.net/domain/named.root
    On y trouve le nom et l'adresse des 13 serveurs racines.

    L'ICANN justifie la limitation du nombre des serveurs racines à 13 par un argument technique : utiliser plus de 13 serveurs racines entraînerait des réponses à certaines requêtes DNS de plus de 512 octets. Or le protocole applicatif DNS ne fonctionne au-dessus du protocole de transport UDP que jusqu'à 512 octets de données. Ces requêtes devraient alors utiliser TCP au lieu de UDP, entraînant une charge supplémentaire sur les serveurs DNS.
    D'autres sources y voient plutôt une volonté de conserver une large majorité des serveurs racines sous la maîtrise d'entités US...

    Le 21 octobre 2002, 9 de ces 13 serveurs racines ont subi simultanément une attaque par déni de service distribué (DDoS) pendant une heure. Voici les statistiques d'octobre 2002 pour le serveur H-Root (nombre de requêtes par seconde) :
    http://h.root-servers.org/hroot-month-1002.jpg
    L'attaque est cependant passée pratiquement inaperçue, grâce au mécanisme de cache utilisé par les serveurs DNS.


  13. Comment ces serveurs racines mettent-ils à jour leurs zones DNS ?

    Les serveurs racines contiennent tous la même zone racine DNS. Les modifications de cette zone (création d'une nouvelle extension, redélégation d'une extension à un nouveau registre, modification des serveurs de noms ou des informations de contact par les registres) sont donc répercutées sur l'ensemble des 13 serveurs racines. Les serveurs racines qui utilisent la technique Anycast propagent également ces mises à jour vers leurs miroirs Anycast.

    Cette figure de l'ICANN illustre le mécanisme de mise à jour utilisé jusqu'en 2000 :
    http://www.icann.org/general/crada-report-summary-fig1-14mar03.jpg
    Les différents serveurs racines obtenaient leurs mises à jour de la part du serveur racine A ("a.root-servers.net", autrefois nommé "ns.internic.net"). La zone racine était chargée dans le serveur A par la société NSI (Network Solutions Inc.), puis par VeriSign (après son rachat de NSI en 2000).

    Depuis 1999, un projet commun à l'ICANN et au département du commerce US (CRADA : Cooperative Research and Development Agreement) est en cours. Il vise à mettre en œuvre un mécanisme plus robuste et plus fiable. En voici l'architecture cible :
    http://www.icann.org/general/crada-report-summary-fig2-14mar03.jpg
    Les différents serveurs racines (y compris le A) recevront leurs informations de la part d'un serveur maître caché, non public. Ces échanges seront protégés au moyen du protocole DNSSEC (authentification des serveurs et signature électronique des transferts). Enfin, l'édition de la zone racine sera sous la responsabilité directe de l'ICANN et non plus de VeriSign.

    En termes de gouvernance Internet, il est important de comprendre comment se passe la génération de la zone racine. Les demandes de modification de la part des registres d'extensions sont reçues et vérifiées par l'ICANN (dans le cadre de sa fonction IANA). Ces modifications sont ensuite transmises par l'ICANN au DoC ("Department of Commerce", États-Unis) pour approbation. Les modifications approuvées sont finalement transmises à VeriSign pour chargement dans le serveur maître. Le gouvernement US possède donc un droit de veto, avec différentes conséquentes géopolitiques sur les délégations d'extensions nationales, par exemple :

  14. Mais quelles informations contiennent exactement ces serveurs racines ?

    On trouve une copie, sur le site FTP de l'InterNIC, de la zone racine présente sur les 13 serveurs racines :
    ftp://ftp.internic.net/domain/root.zone.gz
    Sous Windows, ouvrir le document décompressé avec Word ou WordPad et pas avec le Bloc-Notes, sinon il sera peu lisible (problème classique de codage des fins de ligne).
    Le fichier contient tout d'abord la liste des 13 serveurs racines avec leurs adresses IP, puis les serveurs de noms de toutes les extensions (lignes marquées "NS", plus ou moins en ordre alphabétique), et enfin les adresses IP de ces serveurs (lignes marquées "A").
    Y a-t-il encore des serveurs de noms pour le .SU (Soviet Union) ?
    Combien y a-t-il de serveurs DNS pour la zone .FR ?
    Pour quels pays les serveurs DNS de l'AFNIC sont-ils également serveurs secondaires ? Chercher ".NIC.FR" dans ce fichier. Outre la France, vous devez trouver plusieurs DOM/TOM et de nombreux autres pays.

    L'ICANN a commencé en juillet 2004 à introduire des adresses IPv6 de serveurs de noms dans la zone racine du DNS. Pour quelles extensions ? Chercher "AAAA" dans ce fichier.

    Le site FTP de l'InterNIC contient également des copies d'autres zones DNS :


Haut de page
Contact : Patrick Maigron
Dernière mise à jour : 2006-06-11
Document fait avec Nvu