Eingabe mehrerer DNS-TXT-Werte als einzelner TXT-Eintrag, wobei jeder Wert in "-Zeichen, aber durch Leerzeichen getrennt ist

Eingabe mehrerer DNS-TXT-Werte als einzelner TXT-Eintrag, wobei jeder Wert in "-Zeichen, aber durch Leerzeichen getrennt ist

Ich habe dies mit anderen DNS-Anbietern gemacht, aber ich hänge bei der DNS-Verwaltungsoberfläche von UltraDNS fest. Ich muss mehrere Werte in einen TXTEintrag eingeben, damit sie als einzelne Zeichenfolge aufgelöst werden, wobei jeder Wert in "-Zeichen und durch ein Leerzeichen getrennt ist.

Nachfolgend sehen Sie ein Beispiel für den TXT-Eintrag, den wir zurückgeben möchten (zum Testen verwenden wir dig für Linux):

;; ANSWER SECTION:

name._avaya-ep-config._tcp.example.com. 119 IN  TXT "txtvers=1" "proto=https" "path=/acs/resources/configurations"

Der UltraDNS-Support teilte uns jedoch mit, dass wir sie als separate Datensätze eingeben müssen TXT. Wenn wir dies tun, wird Folgendes zurückgegeben. Die Software, die nach diesem TXTWert sucht, erkennt ihn jedoch nicht und es funktioniert nicht:

;; ANSWER SECTION:

name._avaya-ep-config._tcp.example.com. 218 IN  TXT "proto=https"

name._avaya-ep-config._tcp.example.com. 218 IN  TXT "txtvers=1"

name._avaya-ep-config._tcp.example.com. 218 IN  TXT "path=/acs/resources/configurations"

Wir haben versucht, doppelte Anführungszeichen zu verwenden, \zum Zitieren gemäß RFC zu verwenden, auch gemäß RFC zu verwenden – basierend auf RFC hier: https://www.rfc-editor.org/rfc/rfc1464

Als wir einige der Vorschläge aus dem RFC-Beispiel ausprobierten, ließ uns die Weboberfläche von UltraDNS diese nicht eingeben, mit der Begründung, wir müssten nur ASCII-Zeichen eingeben (was bei allen der Fall war, aber es handelte sich auch um Code für andere ASCII-Zeichensätze).

Ungültige Eingabe: Für Kommentare werden nur ASCII-Zeichen unterstützt

Bei der Eingabe beispielsweise so:

\txtvers=1\"<sp>\"proto=https\"<sp>\"path=/acs/resources/configurations\

Die Software verwendet SRVund zeichnet auch auf und das funktioniert – aufgrund dieses Formatierungsproblems PTRerhält sie unseren Pfad aus dem Wert nur nicht wie vorgesehen.TXT

Antwort1

Wichtig zu beachten ist hier, dass ein TXTDatensatz mehrwertig sein kann, wobei die Datensatzdaten eine oder mehrere Zeichenfolgen mit jeweils bis zu 255 Zeichen enthalten können.
Das heißt, ein TXTDatensatz mit mehreren Werten und mehrere TXTDatensätze mit jeweils einem Wert sind nicht dasselbe und sollten nicht gleich interpretiert werden.

Was Sie anfangs gezeigt haben, ist eigentlich kein TXTDatensatz, dereine einzelne Zeichenfolge, bei der jeder Wert in "-Zeichen und durch ein Leerzeichen getrennt istsondern ein TXTDatensatz mit drei separaten Zeichenfolgenwerten, die weder Anführungszeichen noch Leerzeichen enthalten.
Dieses Verständnis ist besonders wichtig, da Sie bei Ihren Versuchen zur Lösung des Problems unter anderem versucht haben, diese Zeichen zu maskieren, die zu Formatierungszwecken verwendet werden, aber eigentlich nicht Teil des Werts sind.

Für jede Software, die das DNS versteht und nutztMasterdateiformat(Standardtextdarstellung von DNS-Einträgen) ... TXT "txtvers=1" "proto=https" "path=/acs/resources/configurations"würde Ihr ursprüngliches Einfügen als ein TXTEintrag mit drei separaten Zeichenfolgenwerten ( txtvers=1, proto=https, path=/acs/resources/configurations) verstanden und interpretiert werden.

Wenn Ihr Dienstanbieter eine Schnittstelle hat, die diese Art der Eingabe nicht akzeptiert, und er keine andere Möglichkeit zur Eingabe mehrerer Werte bietet (die Antwort, die Sie von ihm erhalten haben, lässt darauf schließen), gibt es möglicherweise keine Möglichkeit, den gewünschten Datensatz in sein System einzugeben.
Wenn dies tatsächlich der Fall ist, müssen Sie sich möglicherweise darum kümmern, diesen Datensatz woanders zu hosten (einschließlich Optionen wie z. B. nicht Ihre gesamte Zone zu verschieben, sondern den gewünschten TXTDatensatz in einer anderen Zone zu haben, die woanders gehostet wird, und nur CNAMEdort einen Verweis hinzuzufügen, vorausgesetzt, die betreffende Software widerspricht dem nicht irgendwie).

Das heißt, bei speziellen Verwendungen TXTim Rahmen anderer Standards ist es üblicher (mit weit verbreiteten Beispielen wie SPF und DKIM), die Verwendung mehrerer Zeichenfolgenwerte in einem TXTDatensatz lediglich als Mittel zum Zulassen langer Werte zu definieren und festzulegen, dass alle Zeichenfolgenwerte vor der weiteren Interpretation einfach verkettet werden sollen, anstatt ein internes Trennzeichen (normalerweise ;) für mehrwertige Inhalte innerhalb dieser einzelnen, möglicherweise langen Zeichenfolge zu verwenden.

Es ist sehr gut möglich, dass Ihr Dienstanbieter sich speziell mit dem sehr verbreiteten Szenario „Long Value“ befasst hat und dieses auf die eine oder andere Weise unterstützt (besonders wahrscheinlich aufgrund von DKIM).
In jedem Fall ist es möglicherweise eine bessere Idee, sich in dieser Hinsicht einfach an die Norm zu halten und denselben Ansatz zum Speichern mehrwertiger Inhalte zu verwenden, der stattdessen in diesen weit verbreiteten TXTSpezialisierungen verwendet wird, wenn Ihnen das Design der Software, die diese Datensätze verwendet, überhaupt überlassen ist. (Eine solche Änderung würde jedoch offensichtlich die Kompatibilität mit vorhandenen Datensätzen beeinträchtigen, wenn dieses System bereits verwendet wird.)

Antwort2

Problemumgehung: Fügen Sie den TXT-Eintrag wie unten beschrieben hinzu

parmset=txtvers=1,proto=https,path=/acs/resources/configurations

Hoffe das ist hilfreich

verwandte Informationen