¿Qué significa el TTL en un registro CNAME?

22

Debido a la cantidad de servidores involucrados en mi red, me resulta difícil mantenerlos todos organizados. Algunos de ellos no tienen IP estáticas, así que pensé que sería bueno si creara un dominio config.mydomain.com. En este dominio, podría almacenar registros A y la IP para cada uno de los servidores. Así es como lo configuré:

s1.config.mydomain.com.     A   10.0.0.1    #ttl 60
s2.config.mydomain.com.     A   10.0.0.2    #ttl 60
s3.config.mydomain.com.     A   10.0.0.3    #ttl 60
# etc

Cada uno de esos registros tiene un TTL de 60, en caso de que necesite cambiar una IP rápidamente, pero no necesariamente quiero que los clientes que se conectan cada 60 segundos se actualicen. Ahora digamos que configuré mis dominios para usarlos, así:

mydomain.com.           CNAME   s2.config.mydomain.com.   #ttl 3600
mail.mydomain.com.      CNAME   s2.config.mydomain.com.   #ttl 10800
svn.mydomain.com.       CNAME   ns1.config.mydomain.com.  #ttl 21600

Los TTL para los CNAMES son más altos, así que digamos que voy a mydomain.com. Pide a mi servidor DNS la IP de mydomain.com, y mi servidor regresa. CNAME s2.config.mydomain.com.Luego le pide a mi servidor la IP de s2.config.mydomain.com, y mi servidor regresa 10.0.0.1.

¿Guardaría en caché el CNAME s2.config.mydomain.comregistro durante 3600 segundos y el A 10.0.0.1registro durante 60 segundos? ¿Significa que cada 60 segundos todavía le pedirá a mi servidor la dirección IP?

¿O almacenará en caché la vista CNAME s2.config.mydomain.com, obtendrá A 10.0.0.1y los almacenará en caché durante 3600 segundos?

Si es el primero, probablemente tendré que encontrar otra forma de administrarlos, así que espero que sea el segundo, pero no estoy seguro. ¿Conoces una mejor manera de seguirlos?

Ryan Pendleton
fuente
Se puede definir más claramente quién se refiere con 'tendrá que almacenar en caché'? Desafortunadamente, hay muchas implementaciones de resolvers diferentes, no me sorprendería en absoluto si descubriera que ambos comportamientos son ciertos.
Zoredache
@zoredache Creo que lo que @Ryan quiere saber es: ¿los solucionadores DNS normalmente almacenan en caché el CNAME o el resultado de una búsqueda resuelta de CNAME?
coredump
@coredump, sí, eso es lo que quise decir.
Ryan Pendleton

Respuestas:

10

De acuerdo con este mensaje en la lista de correo de ISC , CNAME y el registro al que apunta se almacenan en caché resolviendo servidores de nombres (servidores de nombres con resolución sensata ), esto se hace para permitir que los resolutores puedan optimizar el proceso de resolución / almacenamiento en caché en el lado del cliente.

Entonces, si el CNAME TTL es válido pero el A al que apunta no es válido, solo repetirá la búsqueda en el registro señalado, no el CNAME original (hasta que el CNAME TTL también esté activo).

volcado de memoria
fuente
Entonces, si entiendo este derecho, se solicitará el registro CNAME después de que expire TTL, y también se solicitará el registro A al que apunta, pero después de que expire su propio TTL.
Ryan Pendleton
1
Sí. Eso significa que TTL funciona para los registros CNAME de la misma manera que para otros registros.
coredump
3

Todos sus registros CNAME se almacenarán en caché durante un máximo de 3600, 10800 y 21600 segundos.

Los registros A se manejan de forma independiente y se volverán a consultar cada 60 segundos.

Sin embargo, en caso de que expire el CNAME, el registro A debe actualizarse al mismo tiempo.

Los registros CNAME tienen varias trampas explicadas en RFC 1912. midominio.com. no puede ser un CNAME porque tiene registros SOA y NS utilizados: es una delegación de com. dominio.

Tu pregunta es vieja. Hoy en día, algunos proveedores de DNS no siguen los RFC al permitir que los usuarios pongan CNAME en el SOA (lo llaman dominios APEX). Nuevamente, úselo bajo su propio riesgo.

Por último, pero no menos importante, poner valores TTL más altos en sus CNAME podría ayudar cuando sus clientes soliciten un registro IPv6: AAAA. Al menos el mapeo CNAME permanecerá en caché, y solo se le pedirá dos veces la dirección IP.

En resumen: poner un TTL más alto en el CNAME reducirá el tamaño de las respuestas vistas por sus clientes. También debería ayudar al servidor de resolución. Sin embargo, el número de solicitudes por segundo debería ser aproximadamente el mismo.

Xavier Nicollet
fuente