Che cosa significa TTL su un record CNAME?


22

A causa del numero di server coinvolti nella mia rete, ho difficoltà a mantenerli tutti organizzati. Alcuni di loro non hanno IP statici, quindi ho pensato che sarebbe stato carino se avessi creato un dominio config.mydomain.com. Su questo dominio, potrei archiviare i record A e l'IP per ciascuno dei server. Ecco come l'ho impostato:

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

Ognuno di questi record ha un TTL di 60, nel caso in cui ho bisogno di cambiare rapidamente un IP, ma non voglio necessariamente aggiornare i client che si connettono ogni 60 secondi. Ora diciamo che ho impostato i miei domini per usarli, in questo modo:

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

I TTL per CNAMES sono più alti, quindi diciamo che vado su mydomain.com. Chiede al mio server DNS l'IP di mydomain.come il mio server ritorna CNAME s2.config.mydomain.com.Quindi chiede al mio server l'IP di s2.config.mydomain.come il mio server ritorna 10.0.0.1.

Memorizzerebbe il CNAME s2.config.mydomain.comrecord per 3600 secondi e il A 10.0.0.1record per 60 secondi? Significa che ogni 60 secondi chiederà comunque al mio server l'indirizzo IP?

O memorizzerà nella cache la vista CNAME s2.config.mydomain.com, prenderà il A 10.0.0.1e li memorizzerà entrambi per 3600 secondi.

Se è il primo, probabilmente dovrò trovare un altro modo per gestirli, quindi spero sia il secondo, ma non ne sono sicuro. Conosci un modo migliore per tenerne traccia?


Si può definire più chiaramente che si intende per 'si è in cache'? Sfortunatamente ci sono molte diverse implementazioni di resolver, non sarei affatto sorpreso se scoprissi che entrambi i comportamenti erano veri.
Zoredache,

@zoredache Penso che @Ryan voglia sapere: i resolver DNS normalmente memorizzano nella cache CNAME o il risultato di una ricerca CNAME risolta?
coredump,

@coredump, sì, è quello che volevo dire.
Ryan Pendleton,

Risposte:


10

Secondo questo messaggio sulla mailing list ISC , CNAME e il record a cui punta vengono memorizzati nella cache risolvendo i server dei nomi ( server dei nomi risolventi sani ) ciò viene fatto per consentire ai risolutori di essere in grado di ottimizzare il processo di risoluzione / memorizzazione nella cache sul lato client.

Quindi, se il CNAME TTL è valido ma la A a cui punta non è valida, ripeterà solo la ricerca fino al record puntato, non il CNAME originale (fino a quando anche il CNAME TTL è attivo).


Quindi, se capisco questo diritto, il record CNAME verrà richiesto dopo la scadenza del TTL e verrà richiesto anche il record A a cui punta, ma dopo la scadenza del proprio TTL?
Ryan Pendleton,

1
Sì. Ciò significa che TTL funziona per i record CNAME come per altri record.
coredump,

3

Tutti i record CNAME verranno memorizzati nella cache per un massimo di 3600, 10800 e 21600 secondi.

I record A vengono gestiti in modo indipendente e verranno interrogati nuovamente ogni 60 secondi.

Tuttavia, nel caso in cui CNAME scada, il record A deve essere aggiornato contemporaneamente.

I record CNAME hanno vari gotcha spiegati in RFC 1912. mydomain.com. non può essere un CNAME, perché hai usato SOA e record NS: è una delegazione di com. dominio.

La tua domanda è vecchia Al giorno d'oggi alcuni provider DNS non seguono gli RFC consentendo agli utenti di inserire CNAME nella SOA (lo chiamano domini APEX). Ancora una volta, utilizzare a proprio rischio.

Ultimo ma non meno importante, l'immissione di valori TTL più elevati nei tuoi CNAME potrebbe essere utile quando i tuoi clienti chiedono un record IPv6: AAAA. Almeno la mappatura CNAME rimarrà nella cache e verrà richiesto solo due volte l'indirizzo IP.

In breve: mettere un TTL più alto sul CNAME ridurrà la dimensione delle risposte viste dai tuoi clienti. Dovrebbe anche aiutare il server di risoluzione. Tuttavia, il numero di richieste al secondo dovrebbe essere più o meno lo stesso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.