SOA-Eintrag RNAME: Brauchen Sonderzeichen außer dem Punkt einen Backslash?

SOA-Eintrag RNAME: Brauchen Sonderzeichen außer dem Punkt einen Backslash?

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

Wenn der <local-part> Punkte oder andere Sonderzeichen enthält, muss seine Darstellung in einer Masterdatei mit Backslash-Anführungszeichen versehen werden, um sicherzustellen, dass der Domänenname richtig kodiert ist. Beispielsweise muss das Postfach[email geschützt]würde als Action\.domains.ISI.EDU dargestellt werden.

In der Praxis habe ich jedoch noch nie ein Sonderzeichen außer dem Punkt gesehen, das einen Backslash benötigt. Laut RFC 1035 [email protected]sollte es als kodiert werden, Action\+domains.ISI.EDUaber in der Praxis scheint es immer zu sein Action+domains.ISI.EDU. Gilt das Pluszeichen nicht als „Sonderzeichen“ oder ist der Punkt das einzige Sonderzeichen, das einen Backslash benötigt?

Antwort1

+ist im Kontext von DNS kein Sonderzeichen, nirgendwo.

DNS hat eine verwirrende Terminologie:

  • Domänennamen bestehen aus beliebigen Zeichen, absolut keine Einschränkungen, nur der Punkt hat eine besondere Bedeutung als Trennzeichen zwischen Bezeichnungen
  • Hostnamen sind eine Teilmenge von Domänennamen, die der „Buchstabe-Ziffer-Bindestrich“- oder LDH-Einschränkung folgen; sie +können in dieser Teilmenge nicht vorkommen und sind daher in dem Sinne nichts Besonderes; man kann nichts tun, um sie zu schützen, da sie einfach nicht vorkommen können.

Die wenigen Zeichen, die einer besonderen Behandlung bedürfen, sind über das Dokument verstreut, aber kurz gesagt:

  • .muss entkommen werden, mit\
  • wenn Sie also \irgendwo ein Literal wollen, müssen Sie es auch maskieren
  • dann muss je nachdem, wo Sie sich in der Datei befinden, ein Zeilenende oder ein Anführungszeichen maskiert werden, da es sonst etwas anderes bedeuten würde. Für diesen Bedarf und für jedes andere Zeichen ist standardmäßig definiert, dass Sie verwenden, \DDDwobei DDDder Dezimalwert des Bytes (und damit US-ASCII für Zeichenfolgen) ist, das Sie maskieren möchten
  • $muss möglicherweise maskiert werden, je nachdem, wo Sie sich in der Zone befinden und wer sie verwendet, z. B. als Bind und teilweise vielleicht als andere Software, als Behandlung $ORIGINoder $INCLUDEals bestimmte Anweisungen und nicht als Namen in der Zone.

verwandte Informationen