DNS Détaillé

Cette article est inspiré de celui en version anglaise que vous retrouverez sur : http://www.howtoforge.com/traditional_dns_howto

Tous les administrateurs système Linux doivent apprendre les règles qui régissent le DNS traditionnel. Des modèles rapides pour mettre en place des enregistrements de domaine occupent une place importante dans la gestion des sites. Lorsqu'on est confronté à des configurations DNS déjà existants, rien ne peut se substituer à la connaissance des éléments fondamentaux.

La grande majorité des utilisateurs d'Internet n'ont aucune idée sur le système DNS. Ils n'ont certainement pu voir le terme que quand ils ont créés leur connexion FAI, mais ils ne réalisent pas sa connexion àleur vie. Autrement dit, les serveurs DNS vous permettent d'utiliser des noms conviviaux dans votre navigateur, courrier électronique ou d'autres applications Internet pour effectuer des tâches qui requièrent des adresses IP.

L'Internet utilise le protocole TCP/IP pour envoyer et recevoir des données. Lorsque vous tapez dans votre navigateur Google.com pour faire une recherche, vous utilisez les DNS. Sinon, vous seriez obligé d'utiliser cette valeur numérique: 209.85.143.99. Cliquez sur chacun des deux liens et voyez ce que vous obtenez.

Vous voyez Google.com est un nom dans une base de données que votre navigateur consulte pour trouver l'adresse IP du site Web de Google. Mais cela est transparent pour l'utilisateur. Comment voulez-voustenir un cahier d'adresses IP à rechercher manuellement et de trouver des sites Web que vous souhaitez visiter? Eh bien, le Domain Name System le fait pour vous automatiquement.

Si vous êtes assis là et de la lecture de ce qui précède vous vous dites "Oh ouais, je sais déjà ce que c'est", attendez une minute ou deux avant de crier victoire. Travailler avec les DNS nécessite beaucoup de connaissances et la discipline. Les administrateurs système peuvent effectuer de nombreuses tâches, mais très peu peuvent gérer des DNS. Presque sans exception, ils se perdent parce qu'ils ne comprennent pas les fondamentaux.

Le Domain Name System de l'Internet constitue la plus grande base de données répartie sur la planète et il est assez ingénieux. En théorie, il n'a pas de défauts. En pratique, les gens le bidouillent tout le temps. Les gens font des entrées DNS dans leur partie de la base de données qui ne sont pas formatées correctement ou ont des carences inhérentes qui se traduisent par des erreurs.

Des sondages sur Internet en rapport des enregistrements DNS ont montré que les incidences d'erreurs vont à plus de 72%. Nous savons que la majorité de ces erreurs proviennent de délégations boiteuses. les délégations boiteuses comprennent les domaines enregistrés avec des serveurs DNS qui leur sont assignées lorsque personne n'héberge les domaines. Les autres causes incluent l'incapacité à fournir les fichiers de zone, les erreurs dans les enregistrements de ressources, l'expiration des domaines enregistrés.

Si vous essayez d'apprendre le jargon DNS, vous verrez que cela n'est pas intuitif. Au début, il n'a tout simplement pas de sens. À bien des égards, l'apprentissage du jargon me rappelle l'apprentissage d'une langue étrangère. Vous avez juste à travailler avec elle pendant une période de temps avant que cela prenne sens.

Linux utilise BIND pour exécuter des fonctions DNS. Plutôt que de tenter d'utiliser un autre programme, les administrateurs système devraient commencer par BIND car il est implémenté sur presque tous les serveurs DNS dans le monde. Je ne vais pas à offrir une leçon d'histoire sur BIND car ce sujet vous fera dormir de toute façon.

Mais, si vous voulez tout apprendre sur BIND, s'il vous plaît faite le. Cela ne vous sera pas d'une grande aide à sur les DNS une exception près. Certaines personnes utilisent encore la version 4 de BIND. Voussouhaitez mettre à jour BIND 4 à BIND 8 ou 9. Je serai chanceux si au final vous créer vos fichiers de configuration DNS et ils n'auront pas de sens. C'est parce que beaucoup de personnes continuent d'utiliserBIND 4.

Parlez-moi de fichiers de configuration

BIND vient avec trois composantes. Les premiers composants que nous appellerons named ou named-dee. C'est un démon qui tourne du côté du serveur de DNS. Cela va prendre sens dans un petit moment.

Le deuxième composant de BIND que nous appelons la bibliothèque de résolution. Les gens pensent que le résolveur est la partie cliente de BIND. Le code de résolution fait les requêtes des serveurs DNS dans les tentatives de traduction d'un nom convivial à une adresse IP. Ce composant utilise le fichier resolv.conf. Cela sonne t'il comme une abréviation UNIX? C'est parce que c'est le cas.

Le troisième composant de BIND fournit les outils pour tester votre serveur DNS. Nous les appelons les outils, mais en réalité ils sont un ensemble d'utilitaires en ligne de commande comme dig, nslookup.Allez à votre console et tapez dig yahoo.com et observez ce qui arrive. Nous verrons cela plus tard.

Quelle est ma responsabilité dans le système DNS?

Comme indiqué précédemment, le DNS est une base de données distribuées. Lorsque vous payez une redevance pour enregistrer un domaine une des questions auxquelles vous devez réponde traite vos serveurs de noms. Vous devez en donner deux et ils doivent être enregistrés dans le système DNS.

La base de données du système de nom de domaine comporte trois niveaux. Le premier groupe de serveurs que nous appelons les serveurs de la "racine" . Le second groupe nous appelons Top Level Domains ou (TLD). Lorsque votre résolveur a besoin de trouver l'adresse d'un site Web, il fait une requête.

Imaginons que vous voulez trouver Google.com. Le résolveur demande aux serveurs racine d'identifier l'adresse IP de Google.com. Le Serveur Racine répond, je ne sais pas, mais je connais où vous pouvez trouver la réponse. Commencez avec les serveurs TLD pour COM.

Ainsi, la Racine envoie votre requête à un serveur COM. Il dit, OK. Je n'ai pas cette information, mais je connais un serveur de noms qui l'a. Il a l'adresse 209.85.143.99 et le nom ns1.google.com. Alors, allez à cette adresse et il vous indiquera l'adresse du site web de google.com

Votre résolveur prend les informations de ns1.google.com et retourne une adresse IP. Si le serveur de nom de Google a donné votre résolveur le nom exact, vous obtiendrez une page web.

Le chemin parcouru ressemble à la figure 1.

hierarchie dns

Figure 1 - De la Racine à votre domaine

Dans le coin supérieur gauche de la figure 1, nous avons représenté un ensemble de serveurs, avec l'annotation de la racine. Dans le jargon des DNS, ces serveurs représentent le début du chemin DNS. Vous les verrez représenté par un point ("."). Dans vos fichiers de configuration, vos mappages (correspondances) entre vos adresses IP et vos noms se termineront par un point ("."). Lorsque nous examinerons certains de ces fichiers en quelques minutes ce sera plus clair.

Les serveurs racines sont en haut de la base de données distribuée DNS. Ils ont des informations sur les Top Level Domains (TLD). TLD comprennent com, net, org, mil, gov, edu, etc. Lorsque vous contractez d'utiliser un nom de domaine, vous allez choisir le TLD que vous voulez. Dans mon cas, j'ai un domaine dans l'espace de nom appelé org: centralsoft.org.

Quand j'ai enregistré mon serveurs de nom, j'ai donné le nom de server1.centralsoft.org et ns0.centralsoft.org à mon agent d'inscription. Dans les serveurs TLD pour org, vous trouverez mes serveurs de noms. Les serveurs org savent où vous pouvez trouver des informations sur centralsoft.

Quand je me suis enregistré, j'ai dit à l'agent que je prendrais la responsabilité de maintenir une base de données d'adresses IP et des noms conviviaux et les faire correspondre les uns aux autres. Nous avons donc conclu un accord et le Domain Name System à dit: "OK, maintenant vous avez l'autorité pour les données sur centralsoft.org. Quand quelqu'un voudra trouver les services que vous proposez surl'Internet, nous allons les faire pointer vers vous."

Donc, maintenant je peux exécuter une application qui pourra répondre à vos questions et dire, «Bien sur si vous voulez voir ma page web ou envoyez un mail à un de mes utilisateurs, vous pouvez les trouver ici. Si vous me demandez un nom, je vais vous donner une adresse IP, car je sais que vous avez ce protocole qui utilise TCP/IP et je sais que vous devez connaître l'adresse, même lorsque vous spécifiez un nom".