Comment fonctionnent les DNS (serveurs de noms) ?

Les DNS (Domain Name System) est un protocole et une infrastructure importante d’internet.
Le fonctionnement générale des DNS n’est pas très compliqué, une fois compris.
Dans cet article, vous trouverez la description générale du fonctionnement des serveurs DNS sur internet.

Comment fonctionnent les DNS (serveurs de noms) ?

Comment fonctionnent les DNS (serveurs de noms)

A quoi sert DNS ?

Le DNS est un protocole qui se charge d’effectuer la correspondance entre les adresses littérales et adresse IP.
Cela permet donc de connaître l’adresse IP d’une adresse en lettre.
Par exemple, pour connaître l’adresse IP de l’adresse www.malekal.com, on interroge des serveurs DNS.
La plupart des applications, que ce soit votre navigateur internet ou jeux en ligne possèdent des adresses enregistrés.
Des interrogations DNS ont donc lieu constamment pour récupérer l’adresse IP et permettre la connexion aux serveurs DNS.

Si le fonctionnement DNS n’est pas possible sur un ordinateur, vous rencontrez énormément de problème de connexion.
Sur Google Chrome, cela peut se traduire par l’erreur DNS_PROBE_FINISHED_NXDOMAIN

Exemple ci-dessous d’une résolution DNS où on récupère l’adresse IP de l’adresse www.malekal.com :

A quoi servent les DNS ?

Dans la requête DNS précédente, l’ordinateur interroge les serveurs DNS configurés dans la connexion internet afin d’obtenir l’adresse IP.

DNS Résolveurs et DNS d’autorité

Le fonctionnement du protocole DNS repose sur des serveurs qui répondent « aux questions » posés par les équipements sur internet.
Il existe en réalité deux type de serveur DNS : Les résolveurs et les DNS d’autorité.

DNS d’autorité

Les DNS d’autorités sont les DNS qui font autorité sur un domaine, on parle alors de zone DNS.
Tout domaine possède donc des serveurs DNS où le propriétaire peut créer toute sorte d’adresse.
Les DNS d’autorité peuvent être récupérés en utilisant la commande whois.

Ci-dessous, on peut voir que pour le domaine malekal.com, les serveurs d’autorité sont ceux de GANDI qui est aussi le registrar du domaine.
La plupart du temps, on utilise les DNS du registrar car ce dernier fournit tout ce qu’il faut pour gérer les déclarations de DNS.
Toutefois, il est tout à fait possible d’utiliser d’autres DNS et même son propre serveur de DNS.

Les DNS d'autorités

A partir de là, le propriétaire du site peut déclarer n’importe quel adresse sur ce domaine.
On pourrait tout à fait déclarer toto.malekal.com en le faisant pointer sur l’adresse IP de notre choix.

DNS Résolveurs

Ce sont les serveurs DNS déclarés dans la connexion internet et qui sont utilisés lorsqu’un client souhaite effectuer des résolutions DNS.
En règle générale, on utilise les serveurs DNS du fournisseur d’accès, une liste des DNS des fournisseurs d’accès français est disponible sur cette page : Liste DNS des FAI
Mais on peut utiliser des résolveurs publiques comme Google, CloudFlare etc.
Il faut impérativement que le DNS résolveur soit proche de l’ordinateur qui émet la requête, sinon le temps de réponse sera mauvais et la vitesse de connexion internet peut s’en ressentir.

Les CDN (hébergeur de contenu) utilisé par les grands sites internet peuvent aussi être aiguiller par les DNS résolveurs.
Par exemple, un ordinateur avec un DNS résolveurs en Colombie ne donnera pas la même adresse IP du DNS, qu’un DNS résolveurs en France.

Requête DNS en détails

Maintenant, que se passe-t-il lorsque une application sur votre ordinateur demande l’adresse IP d’un site ?
Voici les étapes lors d’une interrogation DNS complètes :

  1. Le navigateur WEB interroge le serveur DNS résolveur, si l’adresse n’est pas présente dans le cache DNS du système d’exploitation.
  2. Si l’adresse est en cache dans le serveur DNS résolveur, le résultat est retourné sinon ce dernier interroge les serveurs racines afin d’obtenir les serveurs DNS d’autorité.
    1. Plus en détail, on interroge le serveur DNS racine pour obtenir le serveur DNS racine du TLD (serveur racine du .com, serveur racine .org, etc).
    2. On interroge le serveur racine du TLD pour obtenir les serveurs d’autorités.
  3. Une fois les serveurs DNS d’autorité obtenu, le serveurs DNS résolveur interroge ces derniers pour obtenir l’adresse IP.
  4. L’adresse IP est retournée à l’ordinateur qui a émis la requête DNS initiale.
Schéma d'une résolution DNS
Schéma d’une résolution DNS

Pour maximiser les réponses, il existe beaucoup de cache afin de ne pas répéter les interrogations trop souvent, ce qui pourrait aussi encombrer internet ou les serveurs.
De ce fait, les étapes sont la plupart du temps réduites à ordinateur > DNS résolveurs voire même aucune interrogation aux DNS résolveurs, si l’adresse est déjà en cache.
Sur Windows, le cache DNS peut-être afficher avec la commande ipconfig depuis l’invite de commandes :

ipconfig /displaydns
ipconfig permet d'afficher les DNS

D’un point de vue réseau, les requêtes DNS se font sur le port 53 en UDP.
Ce protocole n’est pas chiffré et les requêtes se font en clair sur le réseau.
Il est donc tout à fait possible de voler des données à travers  des attaques Attaque Man in the Middle (MITM).
Il existe des solutions, pour certaines expérimentales pour chiffrer les requêtes DNS, voir la page:  Chiffrement DNS : DNS over HTTPS et over TLS

Chiffrer les connexions DNS

Client DNS sur Windows et Linux

Les deux OS proposent des outils en ligne de commandes pour effectuer des résolutions DNS : nslookup et dig.

L’article suivant présente ces deux outils avec les commandes les plus utiles.

DNS Menteur

Le DNS menteur consiste à retourner une adresse IP erronée afin de falsifier le résultat.
Cela peut permettre des redirections lors de la consultation d’un site internet par exemple.
Ces méthodes sont en général utilisées pour filtrer l’accès à des sites internet.
Par exemple, les DNS OpenDNS peuvent effectuer cela pour filtrer l’accès à un site connu pour être malveillant ou pour du filtrage de contrôle parental.
Les gouvernements peuvent aussi utiliser les DNS menteur dans les pays de type dictature ou encore en France avec le blocage de site terroriste.
Les deux pages suivantes évoquent le fonctionnement des DNS menteur : Filtrage DNS ou DNS Menteurs (forum)

Les DNS sont aussi une cible des logiciels malveillants qui peut permettre des redirections vers des sites publicitaires ou phishingTrojan.DNSChanger 

DNS et le pistage

Enfin le protocole DNS peut s’utiliser pour pister les internautes à travers des cookies.
L’article suivant explique le fonctionnement de ce pistage.

DNS et la vitesse

Il existe une forte concurrence entre les fournisseurs de serveurs DNS publiques.
Parfois certains, notamment Google sont utilisés pour pister les internautes.
Notez enfin que ces DNS sont vendus comment étant plus rapides.

Quelques liens autour de ces serveurs de noms publiques.

Enfin il existe une page spécifique concernant la vitesse des DNS Google.

Les liens autour des DNS

Les liens du site autour des serveurs DNS :

image_pdfimage_print
(Visité 1 782 fois, 1 visites ce jour)