Tenemos problemas para crear el registro TXT largo para la clave DKIM en la interfaz web de nuestro host.
Cada línea solo puede aceptar 256 caracteres.
Intentamos varias líneas, luego intentamos agregar ("
al principio y ")
después del último, como sugieren algunos. Ninguno de los dos funciona.
Luego intentamos hacer un CNAME a un registro en otro proveedor de alojamiento, donde nos podemos hacer los registros DKIM TXT.
Pero ahora la interfaz web se queja sobre el nombre ilegal en el CNAME
registro.
mail._domainkey.example.com TXT
está bien
mail._domainkey.example.com CNAME
no está bien
mail.domainkey.example.com CNAME
está bien, pero no es lo que queremos.
¿La interfaz web está decidida a volvernos locos o es realmente "ilegal" tener guiones bajos CNAME
?
fuente
Respuestas:
Sí, los nombres DNS (esto también incluye A / AAAA) solo pueden contener
[0-9], [a-z], -
, por lo que el guión bajo no es válido. Tenga en cuenta que un registro TXT no es un nombre de host, y esta restricción no se aplica. Y una última edición:-
tampoco se puede usar como primer carácter, pormail.-domainkey.our.dom
lo que no sería válido.https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_hostnames
Edición final: estaba parcialmente equivocado. Cuando se utiliza un CNAME como nombre de host, se aplican las restricciones anteriores. Parece que un CNAME no se considera un nombre de host en el contexto DKIM y, en ese caso,
_
debería ser una parte válida de una entrada CNAME. Ver /programming/13650233/underscore-in-cname-required-by-ses-not-allowed-by-registrar/26692491#26692491fuente
_foo CNAME _bar
es completamente legítimo, puedes probar connamed-checkzone
.Todos los caracteres válidos están permitidos en DNS. Ver https://tools.ietf.org/html/rfc2181#section-11
"El DNS mismo solo impone una restricción en las etiquetas particulares que pueden usarse para identificar registros de recursos. Esa restricción se relaciona con la longitud de la etiqueta y el nombre completo. La longitud de cualquier etiqueta está limitada a entre 1 y 63 octetos. "
El cliente debe validar los valores de nombre, por ejemplo, un registro MX puede contener el valor "Alice", pero después de la búsqueda, ese valor debe ser rechazado ya que "Alice" no es una dirección de correo electrónico válida.
En este caso, parece que su proveedor está "validando" su entrada y debería poder ingresarla manualmente.
fuente
_
lo que o cualquier otra cosa que desee. Pero, para algunos registros, solo puede usar nombres de host y no nombres de dominio. Los nombres de host son solo letras, dígitos y guiones, nada más. Por ejemplo, el propietario de unaA
oAAAA
registro es un nombre de host, no un nombre de dominio. El RDATA (destino) de unNS
registro también es un nombre de host, no un nombre de dominio.RFC 1034: las etiquetas deben seguir las reglas para los nombres de host ARPANET. Deben comenzar con una letra, terminar con una letra o dígito y tener como caracteres interiores solo letras, dígitos y guiones. También hay algunas restricciones en la longitud. Las etiquetas deben tener 63 caracteres o menos.
fuente
_
.3com.com
por ejemplo, esta regla se relajó, consulte tools.ietf.org/html/rfc1123#page-13 "Se modifica un aspecto de la sintaxis del nombre de host: la restricción sobre el primer carácter se relaja para permitir una letra o un dígito ".esp_245537
se usa como nombre de host, entonces la actualización de DNS debe rechazarse ya que no es un nombre de host válido. Si se usa como nombre de dominio, la actualización de DNS debería tener éxito (de lo contrario, es un error), ya que es una etiqueta de DNS válida.La respuesta de @ Sven, con la edición, ya es correcta, pero solo para expresar las cosas directamente.
TL; DR yes subrayado es válido en un
CNAME
registro en ambos lados, lea a continuación para saber por qué.RFC 1034 y otros definen registros basados en "nombres de dominio", que son etiquetas con cualquier carácter, por ejemplo
_
.Pero algunos registros tienen reglas más estrictas para el nombre del propietario y / o los datos de recursos (RDATA). Solo se aceptará un nombre de host y, de hecho, las reglas son ahora (se relajaron en el pasado donde un nombre de host no podía comenzar con un dígito) que puede usar cualquier letra ASCII (sin distinción entre mayúsculas y minúsculas), cualquier dígito ASCII y los guiones , además de algunas reglas de posición adicionales: sin guiones al inicio o al final y sin guiones dobles en las posiciones 3 y 4 (debido a la "reserva" para los IDN que son de la forma
xn--
que solo se permite).Por ejemplo el nombre del propietario de una
A
oAAAA
registro es un nombre de host, no un nombre de dominio. Entoncestest.example.com A 192.0.2.1
es válido por qué todos estos no son:Es fácil probar cosas con el
named-checkzone
programa (parte delbind
software del servidor de nombres pero puede usarse e instalarse por separado y otros servidores de nombres pueden tener herramientas de verificación similares y probablemente también hay interfaces en línea para eso de todos modos), simplemente coloque los registros en un archivo y ejecute en:(el número antes del
IN
es el TTL, esto no está relacionado con nuestro problema aquí, pero solo se necesita para pasar la validación de sintaxis de un registro).Para otros registros, es todo lo contrario:
NS
no hay restricciones para el propietario, sino restricciones para el "objetivo" que son los datos. Los datos solo pueden ser un nombre de host, no un nombre de dominio, porque debe apuntar a servidores de nombres autorizados que son hosts físicos que responden a las consultas DNS.Ahora
CNAME
, aquí están las citas relevantes de RFC 1034, en la sección 3.6:Entonces, tanto el propietario de un
CNAME
(lo que está a su izquierda) como los datos de recursos adjuntos a él, su destino / destino (lo que está a su derecha) son nombres de dominio y no solo nombres de host. Básicamente, cualquier personaje, por lo que_
está permitido en ambos lados.Nuevamente, fácil de probar con
named-checkzone
:No hay errores en absoluto sobre el
CNAME
(se esperan los otros errores ya que en mi zona falsa no puse ningunoSOA
oNS
registros como lo habría hecho una zona verdadera)fuente