Warum werden mehrere PTR-Einträge in DNS nicht empfohlen?

36

Ich habe oft gelesen, dass die Verwendung mehrerer PTR-Einträge in einer DNS-Konfiguration nicht empfohlen wird.

Die Gründe dafür sind jedoch oft vage oder nicht so offensichtlich:

  • "es kann Probleme verursachen",
  • "Kann Fehler in Programmen auslösen, die eine einzige Antwort erwarten": Das ist dann das Problem der Software, oder ?!
  • "Kann DNS-Antwortpaket zu groß machen": Ist dies nicht mit EDNS behoben ?

Sind das gute Gründe? Kennen Sie andere (gute) Gründe? All das sieht aus wie eine "Legacy-Angst" ...

Totor
quelle
4
Warum möchten Sie mehrere PTR-Einträge für eine einzelne IP-Adresse haben? Ich kann mir keinen Grund vorstellen, der Sinn machen würde.
Per von Zweigbergk
3
@PervonZweigbergk Dies ist nicht das, was ich gefragt habe, aber zum Beispiel, weil ich mehrere Namen habe, die auf dieselbe IP verweisen, und ich möchte, dass die Rückseite mit allen übereinstimmt.
Totor
10
@PervonZweigbergk Stellen Sie sich einen Mailserver vor, der Mail für mehrere Domains verarbeitet. Möglicherweise möchten Sie einen Namen in der Domäne verwenden, für die Sie im EHLOBefehl E-Mails senden . Bestimmte Empfänger erfordern, dass Sie über einen PTRDatensatz verfügen , der mit der Domäne in Ihrem EHLOBefehl übereinstimmt. Andernfalls akzeptieren sie keine E-Mails von Ihnen. Wenn Sie jedoch mehrere PTRDatensätze haben, können diese zufällig einen auswählen. Wenn dieser nicht mit dem EHLOBefehl übereinstimmt , wird die E-Mail abgelehnt.
Kasperd
3
Ich weiß, dass es nicht das ist, wonach Sie gefragt haben, weshalb ich dies über einen Kommentar und nicht als Antwort gefragt habe. :-) Sie haben nie erwähnt, um welche Anwendung es sich handelt. Sie sollten klarer formulieren, dass Sie über den Kontext ausgehender E-Mails sprechen, über den @kasperd spekuliert.
Per von Zweigbergk
2
@kasperd Ich nehme an, jemand möchte das tun, aber dies ist unkonventionell und verursacht unnötigerweise die problematische Situation, um die es in der Frage geht. Es wird erwartet, dass ein Mail-Server in seinen EHLOBefehlen nur einen einzigen Namen verwendet , unabhängig davon, für wie viele Domänen er E-Mails verarbeitet. Der Name in HELO/ EHLOsoll den Mailserver selbst identifizieren, nicht die MAIL FROModer FromMailadressen.
Håkan Lindqvist

Antworten:

19

Es wird erwartet, dass derPTR Datensatz für einen umgekehrten Namen (z. B. 7.2.0.192.in-addr.arpa) den kanonischen Namen identifiziert, der dieser IP-Adresse zugeordnet ist.

Sowohl die Gateway-Zeiger an Netzwerkknoten als auch die normalen Host-Zeiger an Knoten mit vollständiger Adresse verwenden die PTR-RR, um auf die primären Domänennamen der entsprechenden Hosts zurückzugreifen.

Von: http://tools.ietf.org/html/rfc1035#section-3.5

Diese Erwartung spiegelt sich in Software wider, die Reverse-Lookups durchführt. Häufig erwartet eine solche Software speziell einen einzelnen Namen zurück und erwartet, diesen Namen als kanonischen Namen für diesen Host verwenden zu können. Wenn mehrere Namen zurückgegeben werden, ist es üblich, nur einen zufällig zu wählen, da sie absolut nicht wissen können, welchen Sie für diesen besonderen Anlass bevorzugt hätten.

Da die allgemeine Erwartung ist, dass es einen kanonischen Namen gibt, der mit einer IP-Adresse verknüpft ist, und auf diesen Namen PTRsollte hingewiesen werden, hat das Hinzufügen mehrerer Namen im Allgemeinen keinen Vorteil (nichts erwartet, dass ein Zufall A/ AAAADatensatz übereinstimmt PTR), aber es hat ein Potenzial Dies kann zu seltsamen Ergebnissen führen, da Sie nicht kontrollieren können, welche Ihrer PTRDatensätze verwendet werden, wenn Sie mehr als eine hinzugefügt haben.

Wenn Sie mehrere PTRDatensätze haben, lässt dies Ihren Host nicht legitimer erscheinen, sondern im Gegenteil, und Sie laufen Gefahr, dass eine Validierung fehlschlägt oder auf andere Weise etwas kaputt geht.

Als vielleicht etwas extreme Metapher wird die Übergabe von fünf Pässen mit Ihrem Foto, aber mit unterschiedlichen Namen am Flughafen wahrscheinlich nicht so gut aufgenommen wie wenn Sie nur einen aushändigen.

Håkan Lindqvist
quelle
Auf "einen kanonischen Namen" eingehen: In Fällen, in denen die IP-Adresse mit mehr als einer Entität verknüpft sein könnte, wird die spezifischste bevorzugt. Bei einem Webserver mit mehreren namenbasierten virtuellen Hosts ist der Name des Webservers selbst am besten geeignet. Dies ist einer der Fälle, in denen der Versuch, den Ratschlägen der Informational RFCs zu folgen ( PTRimmer mit dem ADatensatz übereinzustimmen), völlig umstritten ist.
Andrew B
"Es wird erwartet , dass der PTR-Datensatz identifiziert wird": von wem? Es sieht nach einer De-facto- Regel aus, als Softwareentwickler anfingen zu berücksichtigen, dass nur ein PTR die Norm war. Habe ich recht?
Totor
@Totor Fügte ein Zitat und einen Link für eine Quelle hinzu.
Håkan Lindqvist
Als Anekdote wurde kürzlich festgestellt, dass Apple über einige PTR-Datensätze verfügt, die mehr als 9 KByte Antworten enthalten. Zweifellos sind sie nicht die einzigen. Dies ist ein ziemlich extremes Beispiel dafür, was Sie erreichen können, wenn die obligatorischen PTR-Aufzeichnungsrichtlinien die Details dieser Antwort nicht berücksichtigen.
Andrew B
16

Es kommt alles auf unvorhersehbares Verhalten an, da der RFC keine Begrenzung oder einen Weg auferlegt, diese PTR-Datensätze zu behandeln. Die meisten Implementierungen werden Round-Robin wählen und Sie werden nicht das gewünschte Ergebnis erzielen (perfekte Übereinstimmung zwischen vielen Namen zu einer einzigen IP).

Weitere Informationen hierzu finden Sie hier: https://supernoc.rogerstelecom.net/pdfs/multiple-ptrs.pdf

Überprüfen Sie diesen Fehler auch in der Funktion getnameinfo von Glibc ( https://sourceware.org/bugzilla/show_bug.cgi?id=5790 ). Wie können Sie sicherstellen, dass dies nicht in der unendlichen Anzahl verschiedener Systeme im Internet geschieht (einige davon sind sehr alt und ungepatcht)?

Als Faustregel gilt, dass es immer gut ist, Verhaltensweisen zu vermeiden, die nicht spezifiziert und nicht vorhersehbar sind. Leider fallen mehrere PTR-Datensätze für eine einzelne IP in diese Kategorie (soweit es RFCs betrifft).

Giovanni Tirloni
quelle
2
Wie können Sie sicherstellen, dass in der "unendlichen" Anzahl verschiedener Systeme im Internet kein Problem auftritt? Ihre Antwort ist nett, aber dieses Argument hat keinen Wert. Darüber hinaus sind Client-Bugs meiner Meinung nach irrelevant, es sei denn, eine "signifikante" Anzahl von ihnen ist betroffen.
Totor
2

Wie können Sie sicherstellen, dass ein PTR mit einem bestimmten Weiterleitungsdatensatz übereinstimmt, wenn Sie über mehrere PTRs verfügen?

Dies ist besonders wichtig bei Mail-Server-Interaktionen, bei denen die meisten eingehenden SMTP-Server prüfen, ob die Weiterleitung mit der umgekehrten übereinstimmt

Ziemlich schwierig ist, dass Sie mehrere PTRs haben und nicht garantieren können, welcher PTR ausgewählt ist und mit der Weiterleitung übereinstimmt, die Sie bei der Verbindung angegeben haben

Der einfachste Weg, eine perfekte Übereinstimmung zu garantieren, besteht darin, einen PTR zu haben, der einem Forward-Eintrag entspricht

user274768
quelle