CNAME kaydındaki TTL ne anlama geliyor?


22

Ağımda kaç tane sunucu bulunduğuna bağlı olarak, hepsini düzenli tutmakta zorlanıyorum. Bazılarında statik IP yok, bu yüzden config.mydomain.com alan adı oluştursaydım iyi olacağını düşündüm. Bu etki alanında, sunucuların her biri için A kayıtlarını ve IP'lerini depolayabilirim. Bu şekilde ayarladım:

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

Bir IP'yi hızlıca değiştirmem gerekebilir diye bu kayıtların her birinin 60 TTL'si vardır, ancak istemcileri güncellemek için her 60 saniyede bir bağlantı kurmak istemiyorum. Şimdi, etki alanlarımı bunları kullanacak şekilde ayarladım diyelim:

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

CNAMES'in TTL’leri daha yüksek, o yüzden diyelim ki etkialanıma.com. DNS sunucumun IP adresini sorar mydomain.comve sunucum döner. CNAME s2.config.mydomain.com.Sonra sunucumun IP'sini ister s2.config.mydomain.comve sunucum döner 10.0.0.1.

CNAME s2.config.mydomain.comKaydı 3600 saniye, A 10.0.0.1kayıdı 60 saniye önbelleğe alır mı? Yani her 60 saniyede bir hala sunucumdan IP adresini isteyecek mi?

Ya da bkz önbelleğe alır CNAME s2.config.mydomain.com, almak A 10.0.0.1ve 3600 saniye boyunca ikisini de önbelleğe.

İlk ise, muhtemelen onları yönetmek için başka bir yol bulmam gerekecek, bu yüzden ikincisini umuyorum, ancak emin değilim. Onları izlemenin daha iyi bir yolunu biliyor musun?


Daha açıkça 'olacak demek kim tanımlayabilir o önbelleğe'? Maalesef birçok farklı çözümleyici uygulaması var, her iki davranışın da doğru olduğunu tespit ederseniz hiç şaşırmam.
Zoredache

@zoredache @Ryan'ın bilmek istediği şeyin ne olduğunu düşünüyorum: dns resolvers normalde CNAME'yi veya çözülmüş bir CNAME aramasının sonucunu önbelleğe alır mı?
coredump

@ coredump, evet demek istediğim buydu.
Ryan Pendleton

Yanıtlar:


10

ISC posta listesindeki bu mesaja göre , CNAME ve ad sunucularının çözümlenmesiyle ( akıllı sunucu çözümleme ad sunucuları ) önbelleğe alındığını gösteren kayıt, çözümleyicilerin istemci tarafında çözümleme / önbellekleme işlemini optimize edebilmelerini sağlamak için yapılır.

Bu nedenle, eğer CNAME TTL geçerliyse, ancak işaret ettiği A geçersizse, orijinal CNAME'yi değil (CNAME TTL de olana kadar) sadece işaretli kayıtlara bakmaya devam edecektir.


Öyleyse, bu hakkı anlarsam, CNAME kaydının TTL süresi dolduktan sonra isteneceği ve işaret ettiği A kaydının da isteneceği, ancak kendi TTL süresi dolduktan sonra istenecek?
Ryan Pendleton

1
Evet. Bu, TTL'nin CNAME kayıtları için çalıştığı diğer kayıtlarla aynı olduğu anlamına gelir.
coredump

3

Tüm CNAME kayıtlarınız maksimum 3600, 10800 ve 21600 saniye için önbelleğe alınır.

A kayıtları bağımsız olarak tutulur ve her 60 saniyede bir yeniden sorgulanır.

Bununla birlikte, CNAME'in süresinin dolması durumunda, A kaydı aynı anda güncellenmelidir.

CNAME kayıtlarında, RFC 1912'de açıklanan çeşitli kazanımlar var. CNAME olamaz, çünkü kullanılan SOA ve NS kayıtlarınız var: bu bir com delegasyonudur. alanı.

Sorunuz eski. Günümüzde bazı DNS sağlayıcıları, kullanıcıların SOA’ya CNAME koymalarına izin vererek RFC’leri izlememektedir (buna APEX etki alanı diyorlar). Tekrar kullanmak kendi sorumluluğunuzdadır.

Son olarak, en önemlisi, CNAME'lerin üzerine daha yüksek TTL değerleri koymak, müşterileriniz bir IPv6 kaydı isterken yardımcı olabilir: AAAA. En azından CNAME eşlemesi önbellekte kalacak ve sadece IP adresi iki kez sorulacak.

Kısacası: CNAME'ye daha yüksek TTL koymak, müşterilerinizin gördüğü yanıtların boyutunu azaltacaktır. Ayrıca çözümleyici sunucusuna yardımcı olmalıdır. Ancak, saniye başına istek sayısı aşağı yukarı aynı olmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.