40 votes

Pourquoi plusieurs enregistrements PTR dans DNS ne sont pas recommandés ?

Je lis souvent que l'utilisation de plusieurs enregistrements PTR dans une configuration DNS n'est pas recommandée.

Cependant, les raisons sont souvent vagues, ou pas si évidentes, à savoir :

  • "cela peut causer des problèmes",
  • "peut déclencher des bugs dans les programmes qui attendent une seule réponse" : c'est alors le problème du logiciel, n'est-ce pas ?!
  • "peut rendre le paquet de réponse DNS trop volumineux" : n'est-ce pas corrigé avec EDNS ?

Ce sont de bonnes raisons ? Connaissez-vous d'autres (bonnes) raisons ? Tout ceci ressemble un peu à une "peur héritée"...

25voto

Jacob Points 1861

Le PTR record d'un nom inversé (par exemple 7.2.0.192.in-addr.arpa) est censé identifier le nom canonique associé à cette adresse IP.

Les pointeurs de passerelle aux nœuds du réseau et les pointeurs d'hôte normal aux nœuds d'adresse complète utilisent le RR PTR pour pointer vers les noms de domaine principaux des hôtes correspondants.

De : https://www.rfc-editor.org/rfc/rfc1035#section-3.5

Cette attente se reflète dans les logiciels qui effectuent des recherches inversées ; souvent ces logiciels s'attendent spécifiquement à recevoir un seul nom en retour et ils s'attendent à pouvoir utiliser ce nom comme nom canonique pour cet hôte. S'il y a plusieurs noms renvoyés, il est courant d'en prendre un au hasard car ils n'ont absolument aucun moyen de savoir lequel vous auriez préféré pour cette occasion particulière.

Comme on s'attend généralement à ce qu'il y ait un seul nom canonique associé à une adresse IP et que ce nom est celui vers lequel le PTR devrait pointer, ajouter plusieurs noms n'apporte généralement aucun avantage (rien ne suppose qu'un enregistrement A/AAAA aléatoire devrait avoir un PTR correspondant) mais cela présente un risque potentiel car cela peut entraîner des résultats étranges car vous n'avez aucun contrôle sur lequel de vos enregistrements PTR sera utilisé si vous en avez ajouté plus d'un.

En essence, si vous avez plusieurs enregistrements PTR, vous ne rendez pas votre hôte plus légitime mais plutôt le contraire, vous courez le risque d'échouer à une validation ou de causer une panne quelque part.

Peut-être comme une métaphore assez extrême, remettre cinq passeports portant tous votre photo mais avec des noms différents à l'aéroport ne va probablement pas être bien reçu comme si vous n'en remettiez qu'un seul.

18voto

Giovanni Tirloni Points 5581

Tout se résume au comportement imprévisible, car le RFC n'impose pas de limite ou de manière de gérer ces enregistrements PTR. La plupart des implémentations choisiront le round-robin et vous n'obtiendrez pas le résultat souhaité (correspondance parfaite entre plusieurs noms pour une seule IP).

Vous pouvez en savoir plus à ce sujet ici : https://supernoc.rogerstelecom.net/pdfs/multiple-ptrs.pdf

De plus, vérifiez ce bug de la fonction getnameinfo de Glibc (https://sourceware.org/bugzilla/show_bug.cgi?id=5790). Comment pouvez-vous garantir que cela ne se produit pas dans le nombre infini de systèmes différents sur Internet (certains d'entre eux très anciens et non patchés) ?

Pour renforcer, comme règle générale, il est toujours bon d'éviter les comportements imprécis et imprévisibles. Malheureusement, les enregistrements PTR multiples pour une seule IP tombent dans cette catégorie (selon les RFC).

5voto

user274768 Points 51

Comment garantissez-vous qu'un PTR correspondra à un enregistrement avant particulier si vous avez plusieurs PTR ?

Ceci est particulièrement important dans les interactions de serveur de messagerie, où la plupart des serveurs SMTP de réception entrants vérifieront si le forward correspond au reverse.

C'est assez difficile si vous avez plusieurs PTR et aucun moyen de garantir quel PTR est sélectionné et qu'il correspond au forward que vous avez donné en vous connectant.

Le moyen le plus simple de garantir une correspondance parfaite est d'avoir un PTR qui correspond à une entrée forward.

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