SEO, BASH, PHP et plus si affinités

Comprendre les DNS

Configurez vos DNS
Beaucoup d’entre vous ont déjà vu cette drôle de bête sur le manager de vos hebergeurs, mais comme ca parle de MX de CNAME ou de A, j’ose pas trop y toucher.
Il est vrai que lorsque l’on ne connait strictement rien aux zones DNS, cette partie est complètement incompréhensible.
Nous allons donc essayer à travers cet article de rendre les zones DNS moins effrayantes et vous expliquer de manière claire (je l’espère) à quoi servent ces entrées et comment les configurer. Je ne traiterai pas dans cet article de l’installation d’un serveur DNS, qui requiert de plus amples connaissances que celles requises ici.

Avant de commencer, petit rappel sur ce qu’est un DNS.

Le DNS est l’abréviation de Domain Name System. Waaa, je vais me coucher moins con, mais concretement que fait le DNS ?
Il assure une correspondance entre votre adresse IP et votre nom de domaine. Le DNS a été crée – entre autre – dans le but de vous éviter d’avoir à retenir une adresse IP pour accéder à un site (bien que quelques un aient une bonne mémoire des chiffres, je reste sceptique sur l’idée de retenir plus de 20 sites via leurs adresses IP). Pour les plus curieux d’entre vous, un petit tour sur wikipedia vous en dira beaucoup plus que moi, car cet article n’est pas la pour ca.

Maintenant que tout est clair, nous allons expliquer et detailler les principaux enregistrements dont vous pouvez avoir besoin.

Petite précision avant de commencer, si la partie droite de votre enregistrement n’est pas une adresse IP (ça sera donc un nom d’hôte), il faudra terminer le nom par un . [un point]

Le A Record :

C’est LE record à renseigner absolument. Sans A record, votre domaine sera, comment dire … ? IN-TROU-VABLE. Comme explique avant, cet enregistrement va rattacher votre domaine à une adresse IP. Un enregistrement A n’accepte d’ailleurs qu’une adresse IP.

Ex :

domain.tld.  3600 A 111.111.111.111
www.domain.tld. 3600 A  111.111.111.111
sousdomaine.domain.tld. 3600 A  111.111.111.111

Vous avez noté que le NDD se termine par un point, ce qui est TRES important, puisque c’est une convention pour la déclaration d’un enregistrement.

Les 3 lignes précédentes peuvent s’écrire de la manière suivante :

@  3600 A 111.111.111.111
www 3600 A  111.111.111.111
sousdomaine 3600  A  111.111.111.111

Le @ designe le domaine lui-même.
Pour les sous-domaines ayant la meme adresse IP que le domaine principale, nous préfèrerons les enregistrer sous la forme de CNAME (car si jamais vous changez de serveur, vous n’aurez que l’enregistrement A du domaine a changer, pas tous les A de tous les sous-domaines).

N.B. : le chiffre 3600 correspond au TTL (decrit plus bas) et défini la durée de vie (en secondes) de l’enregistrement dans les caches DNS.

Le AAAA Record :

Même chose que précédemment, mais pour les adresses IP en IPV6.

Le CNAME record :

Le CNAME est un enregistrement très interessant, mais parfois peu utilisé. En effet le CNAME est très utile pour déclarer vos sous-domaine. Un CNAME est en quelque sorte un « alias » du A record sur lequel vous le rattacher. Un exemple valant mieux qu’un long discours :

Ex :

@  3600 A 111.111.111.111
www 3600 A  111.111.111.111
sousdomaine 3600 CNAME www
sousdomaine2 3600 CNAME www

Dans cet exemple, sousdomaine et sousdomaine2 sont des alias de www.

Le MX record :

Bien que pas complètement lié a votre site web, il peut-être intéressant de comprendre son fonctionnement. MX est l’abréviation de Mail eXchanger. Il va donc définir quel serveur SMTP doit être utilisé lors de l’envoi de courriel sur votre domaine. Les chiffres renseignés sur les enregistrement MX ne correspondent pas au TTL mais à la priorité des serveurs. Plus ce chiffre est bas, plus la priorite est élevée.

La partie droite d’un champ MX doit être un nom de machine, PAS une adresse IP.

Ex :

@ MX 10 mail.mailserver.com.
@ MX 20 mail2.mailserver.com.
@ MX 30 mail3.mailserver.com.

Petite explication :
Lorsque que quelqu’un va vous envoyer un email sur webmaster@domain.tld, le serveur d’envoi va essayer de contacter mail.mailserver.com, puis si ce dernier ne répond pas, mail2.mailserver.com et enfin si celui-ci ne répond pas, mail3.mailserver.com. Comme vous pouvez le constater, le serveur d’envoi contacte les serveurs par ordre de numéro de préférence, du plus petit au plus grand.

Pour ne pas vous perturber, j’ai volontairement mis mail.mailserver.com. et pas mail.domain.tld., puisqu’il est assez rare que vous ayez un serveur smtp sur votre serveur (les mails sont généralement hébergés sur des serveurs destinés uniquement à cet usage [afin de permettre une sécurité accrue]).

Le NS record :

Le NS record tout comme le A record est SUPRA important. Si il est mal renseigné, ou pas renseigné du tout votre domaine ne fonctionnera pas. Ne vous inquiétez pas, ce champ est toujours défini soit par votre hébergeur, soit par votre registrar.
NS signifie Name Server. Il désigne quel serveur fait autorité pour votre domaine/sous-domaine. Généralement, les NS sont ceux de votre hebergeur ou de votre registrar. Votre hébergeur propose généralement 2 serveurs de nom (du type ns0.votrehebergeur.com et ns1.votrehebergeur.com).

Le TXT record :

Bien que très peu utilisé, le GWT (google webmaster tool) vous propose désormais de vérifier votre site grâce à cet enregistrement. L’avantage est que si quelqu’un d’autre que vous intervient sur le site, il ne risque pas d’effacer la meta verify-v1, ou le fichier html que vous aviez posé a la racine de votre site. L’inconvenient comme toutes manip sur les DNS, c’est qu’il vous faudra attendre la fin du TTL (Le Time To Live) de votre www.

Ex :

@ TXT « Ce record est franchement cool »

Je vais maintenant vous parler du TTL (Time To Live), qui pour certain n’a aucune importance, mais qui peut lorsque vous souhaitez tester un enregistrement dont vous n’êtes pas certain du fonctionnement, va vous éviter d’attendre de longues minutes. Le TTL est généralement défini pour chaque enregistrement, et détermine le nombre de secondes de mise en cache de votre enregistrement. Si vous ne souhaitez pas définir de cache pour un enregistrement, mettez 0 à la valeur du TTL.

Pour finir, comment verifier que tout fonctionne et que mes enregistrements ont bien été pris en compte ?
Vous avez pour cela nslookup sous windows (qui fourni vraiment le strict nécessaire), et la commande dig sur linux (et franchement par rapport a nslookup, il y a pas photo, dig est vraiment LA commande qui va vous montrer les enregistrements comme on aime les voir).

Des exemples avec dig (je prend mon domaine pour ne facher personne) :

rdd@rddbox:$ dig renardudezert.com

; <<>> DiG 9.6-ESV-R1 <<>> renardudezert.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21821
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;renardudezert.com. IN A

;; ANSWER SECTION:
renardudezert.com. 86304 IN A 213.186.33.19

;; AUTHORITY SECTION:
renardudezert.com. 86304 IN NS ns16.ovh.net.
renardudezert.com. 86304 IN NS dns16.ovh.net.

;; ADDITIONAL SECTION:
ns16.ovh.net. 859 IN A 213.251.128.135
dns16.ovh.net. 859 IN A 213.251.188.135

Si je souhaite connaitre les enregistrements MX du domaine :

rdd@rddbox:$ dig MX renardudezert.com

; <<>> DiG 9.6-ESV-R1 <<>> MX renardudezert.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45815
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;renardudezert.com. IN MX

;; ANSWER SECTION:
renardudezert.com. 86400 IN MX 1 mx1.ovh.net.
renardudezert.com. 86400 IN MX 5 mx2.ovh.net.
renardudezert.com. 86400 IN MX 100 mxb.ovh.net.

;; AUTHORITY SECTION:
renardudezert.com. 86161 IN NS ns16.ovh.net.
renardudezert.com. 86161 IN NS dns16.ovh.net.

;; ADDITIONAL SECTION:
ns16.ovh.net. 716 IN A 213.251.128.135
dns16.ovh.net. 716 IN A 213.251.188.135

Si vous souhaitez voir un enregistrement en particulier, vous aurez compris qu’il vous suffira de taper : dig ENREGISTREMENT_QUE_JE_VEUX_VOIR domain.tld

Voila c’est terminé, j’espère avoir éclairci certains points encore sombres pour vous.

Une réponse to “Comprendre les DNS”

  1. sudoevil dit :

    Bonjour, j’ai beaucoup apprécié ton billet.
    Tu pourrais ajouter le champ LOC qui concerne la géolocalisation, t’as aussi SRV qui sert apparament à déclarer des service comme par exemple xmpp, jabberd ou d’autres.

    Cordialement,

    sudoevil

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Je suis un gros footer de merde !! - Powered by le Presse mot