45 votes

Utilisation de CNAME pour pointer vers un autre domaine afin d'économiser des adresses IP

J'ai un serveur sur lequel j'héberge plusieurs sites.

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

Mais si je veux changer de serveur à l'avenir, je devrai revenir et mettre à jour chaque adresse IP dans 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?

Cela me permettrait de mettre à jour l'adresse IP en un seul endroit et de ne pas avoir à demander à tous ces autres fournisseurs DNS de mettre à jour leurs enregistrements séparément?

33voto

Joey deVilla Points 4487

En réponse à la réponse de Farseeker, oui, c'est à quoi servent (en quelque sorte) les enregistrements CNAME.

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

C'est parce que example.net doit également avoir un enregistrement SOA et des enregistrements NS, et il n'est pas légal dans DNS d'avoir un enregistrement CNAME présent au même niveau de l'arborescence que tout autre enregistrement (clés DNSSEC exceptées).

La qualification "en quelque sorte" ci-dessus, c'est parce que strictement parlant, l'enregistrement CNAME introduit le "côté gauche" comme un alias pour la cible de l'enregistrement CNAME, où cette cible est en fait le "nom canonique".

Donc si vous voyez par exemple :

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

Il ne dit pas que www.example.net doit être "redirigé" vers www.example.com, il dit que www.example.net est un autre nom pour www.example.com.

2 votes

"example.net doit également avoir un enregistrement SOA". Certaines personnes trichent : regardez lrnskls.com.

0 votes

C'est une astuce désagréable, et ils auront un énorme problème s'ils veulent jamais le signer en DNSSEC.

5 votes

+1 c'est un bon point et l'une des plus grandes failles (et la raison pour laquelle aucun de mes sites ne peut être utilisé sans www car ces domaines ont également besoin d'un enregistrement MX, ce qui empêche cela).

31voto

Shlomi Fish Points 1951

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

Ce que cela signifie pour vos clients est une recherche DNS supplémentaire sur le serveur de noms pour l'autre hôte, mais c'est un petit prix à payer pour la majorité des sites web sur internet.

0 votes

Normalement, c'est le serveur récursif qui effectuera cette recherche supplémentaire, et non le résolveur implémenté dans le client.

3voto

Guy Points 16718

Oui c'est possible.

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

0voto

John Hunter Points 2204

Je devrai retourner et mettre à jour chaque adresse IP dans chaque enregistrement DNS.

Eh bien, les CNAME sont en effet une solution possible (voir la réponse d'Alnitak pour une limite des CNAME), mais il y en a une autre: au lieu de gérer vos fichiers de zone manuellement, créez un programme de dix lignes (Perl / Python / Ruby / cpp / m4 / peu importe) 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 sera présente qu'à un seul endroit. Lorsqu'elle change, il vous suffit de relancer le programme.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X