RNAME del registro SOA: ¿Los caracteres especiales además del punto necesitan barra invertida?

RNAME del registro SOA: ¿Los caracteres especiales además del punto necesitan barra invertida?

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

Si la <parte local> contiene puntos u otros caracteres especiales, su representación en un archivo maestro requerirá el uso de comillas invertidas para garantizar que el nombre de dominio esté codificado correctamente. Por ejemplo, el buzón[correo electrónico protegido]se representaría como Acción\.dominios.ISI.EDU.

Sin embargo, en la práctica nunca he visto ningún carácter especial además del punto que necesite una barra invertida. Según RFC 1035 [email protected]debería codificarse como Action\+domains.ISI.EDUpero en la práctica parece ser siempre Action+domains.ISI.EDU. ¿El signo más no se considera un "carácter especial" o el punto es el único carácter especial que necesita una barra invertida?

Respuesta1

+no es un carácter especial en el contexto de DNS, en ninguna parte.

DNS tiene terminología confusa:

  • Los nombres de dominio son cualquier carácter, sin ninguna restricción, solo el punto tiene un significado específico como separador entre etiquetas.
  • los nombres de host son un subconjunto de nombres de dominio que siguen la restricción "letra-dígito-guión" o LDH; en ese subconjunto +no puede aparecer, por lo que no es especial en el sentido de que no hay nada que hacer para protegerlo ya que no puede aparecer en absoluto.

Los pocos caracteres que necesitan un tratamiento especial se encuentran dispersos por todo el documento, pero en resumen:

  • .necesita ser escapado, con\
  • como tal, si quieres un literal \en alguna parte, también tendrás que escapar de él
  • luego, dependiendo de dónde se encuentre en el archivo, es posible que sea necesario escapar un final de línea o una comilla porque, de lo contrario, significaría algo más. Para esta necesidad, y cualquier otro carácter, el valor predeterminado definido es usar \DDDdónde DDDestá el valor decimal del byte (y como tal US-ASCII para cadenas) del que desea escapar
  • $Es posible que deba escaparse dependiendo de dónde se encuentre en la multa y quién lo consume porque se vincula, por ejemplo, y en parte tal vez algún otro software, lo trate $ORIGINcomo $INCLUDEinstrucciones específicas y no como nombres en la zona.

información relacionada