Utiliser CNAME pour pointer vers un autre domaine pour enregistrer des adresses IP

39

J'ai un serveur sur lequel j'héberge une poignée de sites.

Actuellement, chaque site a son domaine hébergé par un fournisseur indépendant et chacun possède un enregistrement A pointant vers l'adresse IP du serveur.

Mais si je souhaite changer le serveur à l'avenir, je devrai revenir en arrière pour mettre à jour chaque adresse IP de chaque enregistrement DNS.

Est-il possible d'utiliser un enregistrement CNAME sur chaque domaine pour pointer vers un autre domaine que je contrôle directement?

C’est pour que je puisse mettre à jour l’adresse IP à un endroit et ne pas avoir à demander à tous ces autres fournisseurs DNS de mettre à jour leurs enregistrements séparément?

wow
la source

Réponses:

25

C'est exactement le but d'un CNAME. Un CNAME n'a pas besoin de pointer sur un DNS de la même zone, il peut pointer sur n'importe quel nom DNS enregistré avec un serveur de noms.

Pour vos clients, cela signifie une recherche DNS supplémentaire sur le serveur de réseau pour l'autre hôte, mais c'est un prix minime à payer pour la majorité des sites Web sur Internet.

Mark Henderson
la source
normalement, c'est le serveur récursif qui effectuera cette recherche supplémentaire, et non le résolveur de stub du client.
Alnitak
27

Selon la réponse de Farseeker, oui, c’est (en quelque sorte) à quoi CNAMEservent les enregistrements.

Cependant, bien que vous puissiez utiliser ceci pour pointer www.example.netvers www.example.com, vous ne pouvez pas l' utiliser pour pointer example.netseul (c'est-à-dire sans le wwwpréfixe) vers autre chose.

Cela est dû au fait que vous example.netdevez également avoir un SOAenregistrement et des NSenregistrements, et il est illégal dans le DNS d’avoir un CNAMEélément présent dans la même partie de l’arborescence que tout autre enregistrement (à l’exception des clés DNSSEC).

Le "type de" qualificatif ci-dessus est dû au fait que l' CNAMEenregistrement à proprement parler introduit le "côté gauche" comme alias de la cible de l' CNAMEenregistrement, cette cible étant en fait le "nom canonique".

Donc si vous voyez par exemple:

www.example.net IN CNAME www.example.com.

Cela ne veut pas dire que cela www.example.netdevrait être "redirigé" www.example.com, mais que www.example.netc'est un autre nom pour www.example.com .

Alnitak
la source
2
"example.net doit aussi avoir un enregistrement SOA". Certaines personnes trichent: regardez lrnskls.com.
bortzmeyer
c'est un méchant bidouille, et ils auront un énorme problème s'ils veulent jamais le signer par DNSSEC.
Alnitak
5
+1 c'est un bon point et un des plus gros défauts (et la raison pour laquelle aucun de mes sites ne peut être utilisé sans ressources car ces domaines ont également besoin d'un enregistrement MX, ce qui l'interdit).
Oskar Duveborn
3

Oui c'est possible.

C'est comme ça que je fais mes serveurs web expérimentaux qui ont aussi des adresses IP dynamiques (bien que rarement changées).

Oskar Duveborn
la source
0

Je vais devoir revenir en arrière une mise à jour chaque adresse IP dans chaque enregistrement DNS.

Les CNAME sont bien une solution possible (voir la réponse d’Alnitak pour une limite des CNAME), mais il en existe une autre: au lieu de gérer vos fichiers de zone à la main, créez un programme de dix lignes (Perl / Python / Ruby / cpp / m4). / que ce soit) qui générera les fichiers de zone à partir d'un maître (un fichier texte, un fichier XML, un SGBD, peu importe)

De cette façon, votre adresse IP ne peut être qu'à un seul endroit. Lorsque cela change, il suffit de relancer le programme.

Bortzmeyer
la source