Panel

DNS değişikliği neden hemen yansımaz? TTL'yi anlamak

"DNS yayılması 48 saat sürer" sözünün aslı nedir? Önbelleklerin nasıl çalıştığını ve sunucu taşırken kesintiyi dakikalara indirmek için TTL'yi nasıl planlayacağınızı anlatıyoruz.

DNS'te "yayılma" diye bir süreç aslında yoktur. Kayıtlar bir yerden bir yere yayılmaz; dünyadaki çözümleyiciler (resolver) bir kaydı bir kez sorup TTL süresi boyunca önbellekte tutar. Değişikliğin "yansıması", eski kaydı önbelleğinde tutan çözümleyicilerin bu süreyi doldurmasıdır.

TTL nedir

Her DNS kaydının bir TTL (time to live) değeri vardır ve saniye cinsindendir:

www.alanadiniz.com.tr.  3600  IN  A  203.0.113.10

Burada 3600, bir çözümleyicinin bu cevabı bir saat boyunca tekrar sormadan kullanabileceği anlamına gelir.

48 saat nereden çıkıyor

İki sebebi var. Birincisi, ad sunucusu (NS) değişikliklerinde üst bölgedeki (örneğin .com.tr) kayıtların TTL'si sizin kontrolünüzde değildir ve genellikle uzundur. İkincisi, bazı çözümleyiciler TTL'yi tam olarak uygulamaz. Ancak aynı ad sunucusu üzerinde bir A kaydını değiştiriyorsanız, bekleme süreniz eski kaydın TTL'si kadardır.

Taşıma öncesi TTL düşürme

Bir siteyi yeni sunucuya taşıyacaksanız:

  1. Taşımadan en az bir eski TTL süresi önce, ilgili kayıtların TTL'sini 300 saniyeye (5 dakika) düşürün. Eski TTL 86400 ise bunu bir gün önceden yapmalısınız.
  2. Taşıma anında A kaydını yeni IP ile değiştirin. Çözümleyicilerin çoğu en geç beş dakika içinde yeni adresi görür.
  3. Her şey yolundaysa TTL'yi tekrar 3600 gibi bir değere yükseltin.

Bu yöntem, ad sunucusu değiştirmediğiniz sürece işe yarar. Ad sunucularını da değiştirecekseniz önce kayıtları yeni ad sunucusunda birebir oluşturun, sonra NS değişikliğini yapın; böylece hangi çözümleyici hangi ad sunucusunu sorarsa sorsun doğru cevabı alır.

Kontrol etmek

Kendi bilgisayarınızın önbelleği yanıltıcı olabilir. Doğrudan yetkili ad sunucusuna sorun:

dig +short NS alanadiniz.com.tr
dig @ns1.raguron.com.tr www.alanadiniz.com.tr A

Farklı genel çözümleyicilerin ne gördüğüne bakmak için:

dig @1.1.1.1 www.alanadiniz.com.tr A +noall +answer
dig @8.8.8.8 www.alanadiniz.com.tr A +noall +answer

Cevaptaki ikinci sütun kalan TTL'dir; bu sayı sıfıra indiğinde ilgili çözümleyici yeni kaydı soracaktır.

Negatif önbellek

Henüz var olmayan bir kaydı sorgularsanız, "yok" cevabı da önbelleğe alınır. Bu sürenin üst sınırını bölgenizin SOA kaydındaki son değer belirler. Yeni bir alt alan adı oluşturmadan önce onu sorgulamak, birkaç dakikalık gereksiz beklemeye yol açabilir.

Bu yazıyla ilgili hizmetler

İlgili yazılar