Hébergements : Gérer les zones DNS
Documentation et tutoriels
- webo-facto
- Domaines et e-mails
Préambule important
Lors d'une modification de configuration, à la sauvegarde, deux options vous sont proposées :
- préparer l'opération seulement
- appliquer l'opération immédiatement
"Préparer l'opération" vous permet d'enregistrer les demandes de modifications sans les appliquer. Dans ce cas, aucune modification réelle n'a lieu. Cette option vous permet de préparer une opération pour plus tard, ou bien encore de préparer plusieurs opérations pour les lancer d'un coup plus tard.
"Appliquer l'opération immédiatement" vous permet d'enregistrer les demandes de modifications et de les appliquer immédiatement. Cette option bloque généralement l'interface de configuration courante, en attendant que la demande de modification soit propagée et appliquée correctement sur le serveur concerné. La propagation ne prend normalement que quelques minutes. Si l'interface reste bloquée plus de 15 minutes, c'est probablement qu'il y a eu un soucis (exception notable, la création de domaine mail peut prendre beaucoup plus de temps, voir la documentation dédiée).
Retour à la gestion de zones DNS
Comme vu plus haut, c'est le nom de domaine qui sert de référence commune à tous les services. C'est pourquoi depuis le webo-facto, les actions sont également dépendantes des noms de domaine déclarés pour un projet. Typiquement, il est donc nécessaire qu'un nom de domaine soit déclaré pour un projet, avant de pouvoir créer la zone DNS correspondante chez Medialibs.
Gestion des zones DNS
Une fois qu'un domaine est déclaré pour un site et que cette configuration est propagée, il devient possible de créer et de gérer la zone DNS correspondante sur nos serveurs NS.
Zone DNS
La zone DNS est donc un panneau indicateur qui permet à l'ensemble d'internet de retrouver à quels ordinateurs s'adresser quand on veut faire quelque chose en rapport avec le nom de domaine correspondant. Par "quelque chose", on entend aussi bien : visiter le site, envoyer un mail, lire ses mails, accéder aux fichiers... bref, l'ensemble des services associés au nom de domaine.
Notez que les modifications apportées sur une zone DNS ne sont effectives partout dans le monde, ni immédiatement, ni simultanément. Cet effet se nomme "le temps de propagation DNS". Il y a un genre d'effet "tache d'huile" qui a lieu : la modification est faite sur la zone DNS de référence, puis petit à petit les autres serveurs NS du monde entier se mettent à jour de proche en proche. On estime généralement qu'une propagation DNS mondiale peut prendre jusqu'à 48h, mais le plus souvent quelques heures suffisent pour la zone géographique qui nous intéresse (voir plus loin l'explication sur les TTL).
Où gerer une zone DNS
La gestion d'une zone DNS se fait dans la Salle machine > Hébergements > {sélection du projet} > Gérer les zones DNS. Cette action consiste à configurer quels services associés au nom de domaine sont assurés par quels serveurs. Chaque service correspond à une ou plusieurs lignes de configuration appelées "enregistrements DNS". Il existe plusieurs types d'enregistrements. Notez que la zone DNS d'un nom de domaine est chargée de gérer les enregistrements du nom de domaine lui-même, mais aussi ceux correspondant à ses sous-domaines. Exemple : "pop.monsite.com" est donc géré par la zone DNS de "monsite.com".
Généralité sur les types d'enregistrement
Rappels :
- une IP est l'adresse informatique d'un ordinateur (ou d'un équipement autre) sur le réseau. Elle est généralement composée de 4 nombres (entre 1 et 255) séparés par des points. Exemple : 80.74.67.189
- un nom canonique est en général un nom de domaine ou un sous-domaine. Il s'agit donc d'un nom composé de lettres, chiffres et points (et éventuellement du caractère '*', voir ci-après.) Le travail principal d'une zone DNS est justement de faire correspondre des noms canoniques à des IP. En effet, les ordinateurs ne peuvent se contacter entre eux que par le biais de leurs IP. Quand on tape dans un navigateur "www.medialibs.com", il faut donc que le navigateur interroge la zone DNS de "medialibs.com" pour savoir à quelle IP correspond "www.medialibs.com" afin d'envoyer la requête de demande de page au bon serveur.
Types d'enregistrements :
- A : cet enregistrement permet de faire pointer un domaine ou un sous-domaine vers une IP (exemple : medialibs.com A 80.74.71.138)
- CNAME : cet enregistrement permet de faire un alias entre un nom canonique et un autre (exemple : www.medialibs.com CNAMEmedialibs.com).
Notez qu'il est possible d'utiliser le "joker" '*', pour éviter d'avoir à déclarer les sous-domaines un par un : "*.medialibs.com CNAMEmedialibs.com" signifie donc "tous les sous-domaines de médialibs.com pointent au même endroit que medialibs.com". Notez également qu'en mettant en place une telle configuration, vous pouvez quand même déclarer des exceptions, comme par exemple : "forum.medialibs.com A 80.74.71.205". En effet, la zone DNS répondra avec l'enregistrement le plus précis qu'elle a. L'enregistrement avec le joker est alors donc moins "prioritaire" quand on demande "forum.medialibs.com", et c'est le bon enregistrement qui est renvoyé. - NS : cet enregistrement permet de définir un serveur NS de référence pour le nom de domaine. En effet, le système DNS étant un système "distribué" (c'est à dire que plein de serveurs se mettent à jour les uns les autres), il faut qu'on sache quel serveur NS sert de référence aux autres, en cas de mise à jour de la zone DNS. Un enregistrement NS est généralement un nom canonique (le domaine principal) pointant vers un autre nom canonique (exemple : monsite.com NS ns1.medialibs.com). Il y a généralement plusieurs enregistrements NS dans une même zone DNS (donc plusieurs serveurs NS de référence, qui se mettent à jour entre eux très rapidement en cas de mise à jour. En cas de panne d'un de ses serveurs, les autres sont donc là pour assurer le service).
- MX : cet enregistrement sert à indiquer à internet vers quel serveur il faut router les mails envoyés à un destinataire dont l'adresse se termine par le nom de domaine associé à la zone. Exemple : pour la zone de "monsite.com", il s'agit de tous les comptes mail se terminant en "@monsite.com". Le MX est un nom canonique (le domaine principal) et DOIT pointer vers un autre nom canonique. Cela signifie que si on vous donne une IP, il faudra d'abord faire un enregistrement A avec un sous-domaine, puis faire un MX vers le nom canonique de cet enregistrement A (exemple : "machin.monsite.com A 123.456.789.123" puis "monsite.com MX machin.monsite.com"). A l'évidence, il ne faut donc pas utiliser un sous-domaine qui serait employé pour autre chose (souvent, on utilise donc "mail.").
Notez qu'une même zone DNS a généralement plusieurs MX (pour palier aux pannes éventuelles), et que chacun des MX est associé à une valeur qui se nomme "la distance". Il s'agit en fait d'une priorité : on s'adresse d'abord au MX qui à la distance la plus faible, puis, s'il ne répond pas, on continue avec le MX tout de suite au-dessus en terme de distance, et ainsi de suite.
Attention, pour ne pas confondre MX, SMTP et POP :
- Le POP, c'est le serveur auquel un client mail (OutLook, ThunderBird...) s'adresse pour aller lire son courrier. Dans une zone DNS, il s'agit généralement soit d'un enregistrement de type A, soit d'un enregistrement de type CNAME. Notez qu'il n'est pas nécessaire d'avoir un enregistrement "smtp.monsite.com", on pourrait directement configurer le client mail en lui donnant l'IP correspondante.
- Le SMTP, c'est le serveur auquel un client mail (OutLook, ThunderBird...) s'adresse pour envoyer son courrier (le SMTP est donc le même quel que soit le destinataire du courrier). Tout comme l'enregistrement en "pop.", il s'agit généralement d'un type A ou CNAME, et il n'est pas nécessaire d'en avoir un (là encore, l'IP suffit).
- Le MX, c'est l'enregistrement DNS que consulte un SMTP pour savoir sur quel serveur il doit déposer le courrier (l'enregistrement MX que le SMTP consulte est donc directement lié au destinataire du mail, et plus précisément au nom de domaine qui termine l'adresse de ce destinataire). Il s'agit d'un type d'enregistrement à part entière, et il est indispensable sur une zone DNS dont le nom de domaine correspond à des adresses mail (sans cela, les mails n'arrivent nullepart).
TTL ou "Time To Live"
Chaque enregistrement de la zone DNS est associé à une valeur nommée TTL ou "Time To Live". Il s'agit d'une période de validité, au-delà de laquelle on indique au système DNS qu'il doit vérifier si l'enregistrement n'a pas changé (et si oui, se mettre à jour). Plus les TTL d'un enregistrement sont bas, plus le temps de propagation sera rapide. Attention, ça signifie aussi que plus les TTL sont bas, plus les serveurs NS seront solicités fréquemment, donc plus ils seront lents à répondre, faisant alors chuter le temps de réponse du site (très mauvais en terme d'appréciation des visiteurs). La valeur d'un TTL est explimée en secondes, et en utilisation normale, elle varie généralement d'une heure (3600) à un jour (86400) ou deux (172800).
Lors d'une modification DNS importante (migration du site), on peut donc temporairement baisser drastiquement le TTL de l'enregistrement correspondant afin de diminuer le futur temps de propagation. On utilise alors fréquemment la minute (60). Le principe :
- Assez longtemps avant de faire les vraies modifications, on descend le TTL de l'enregistrement. "Assez longtemps" doit valoir grosso-modo 2 fois le TTL. En effet, la propagation en "tâche d'huile" de cette première modification doit être finie avant de lancer la vraie modification. C'est là que se joue toute l'astuce. Le TTL étant plus bas, les serveurs DNS du monde entier se mettront alors à jour plus fréquemment, et la propagation suivante prendra donc beaucoup moins de temps.
- Une fois la première propagation finie, on peut procéder à la date voulue à la vraie modification. Attention : à l'occasion de cette seconde modification, pensez bien à remettre le TTL à sa valeur normale , En effet, la vitesse de propagation dépend de la valeur de la valeur du TTL avant sa modification, on peut donc remettre la valeur normale du TTL en même temps qu'on fait la modification principale. Chaque serveur NS deviendra donc "plus lent" à se mettre à jour mais uniquement à partir de la mise à jour suivante.
Important : si le temps de propagation n'a pas un caractère critique pour une modification, le mieux est de ne pas toucher aux TTL et de laisser le système DNS se mettre à jour tranquillement, plutôt que de risquer de surcharger les serveurs NS.
Informations complémentaires
Vous pouvez retouver plus d'information sur la gestion DNS dans la FAQ sur le site communautaire, ainsi que sur le wiki documentaire. Il existe également de la documentaion sur le sujet en abondance sur internet (wikipedia...).