Ana içeriğe geç

Rehberler / Bir web sitesi nasıl kontrol edilir: pratik rehberler

DNS yayılımı nasıl kontrol edilir

DNS hiçbir yere "yayılmaz" (propagate): bir değişiklik yetkili isim sunucularınızda anında geçerli olur, ve beklediğiniz şey eski yanıtın önbelleğe alınmış her kopyasının süresinin dolmasıdır. Bunun ne kadar süreceği eski kaydın TTL'i ile yol boyunca çözümleyicilerin onunla ne yapmayı seçtiğine bağlıdır.

Bekleme nereden geliyor

Bir sorgunun izlediği zinciri düşünün. Cihazınız, İSS'nizin veya genel bir sağlayıcının çalıştırdığı özyinelemeli (recursive) bir çözümleyiciye sorar. O çözümleyicinin önbelleğinde yakın zamanlı bir yanıt varsa, kimseye sormadan önbellekteki yanıtı döndürür. Yalnızca önbellek süresi dolduğunda kök sunuculara, üst düzey alan adının kayıt kuruluşuna ve son olarak düzenlediğiniz kaydı tutan yetkili isim sunucularınıza iner.

Yani bir A kaydını değiştirdiğinizde, yeni değer DNS sağlayıcınızın onu kaydettiği anda var olur. Eski yanıtı hala tutan her çözümleyici, kendi kopyasının süresi dolana kadar onu sunmaya devam eder. TTL, yani yaşam süresi (time to live), kayda eklenmiş, çözümleyicilere onu ne kadar süre önbelleğe alabileceklerini söyleyen saniye cinsinden bir sayıdır. TTL'i 3600 olan bir kayıt, alındıktan sonra bir saat boyunca önbellekten sunulabilir, bu yüzden düzenlemenizden hemen önce onu almış bir çözümleyici için en kötü durum bir saattir.

Aynı ofisteki iki kişinin farklı sonuçlar görebilmesinin ve kendi önbelleğinizi temizlemenizin başka kimseye yardımcı olmamasının nedeni budur. Beklenecek küresel bir yayılım yoktur, yalnızca farklı anlarda tükenen birçok bağımsız zamanlayıcı vardır.

Birden fazla çözümleyiciden nasıl kontrol edilir

Elle yapılan yöntem, birkaç çözümleyiciye aynı soruyu sorup yanıtlarını karşılaştırmaktır:

dig +short example.com @8.8.8.8      # Google Public DNS
dig +short example.com @1.1.1.1      # Cloudflare
dig +short example.com @9.9.9.9      # Quad9
dig +short example.com               # kendi çözümleyiciniz
dig +short example.com @ns1.yourdns.example  # yetkili: gerçeğin kaynağı

Yetkili sorgu önemli olandır. Yeni değeri döndürüyorsa, değişikliğiniz doğru ve eksiksizdir, ve geri kalan her şey bir önbellekleme sorusudur. Eski değeri döndürüyorsa, değişiklik kaydedilmemiştir, yanlış bölgeyi düzenlemişsinizdir, veya alan adının isim sunucuları sandığınız sunucular değildir.

Yalnızca değeri değil kalan önbellek süresini görmek için +short'u bırakın ve TTL sütununu okuyun:

dig example.com @8.8.8.8 | grep -A1 "ANSWER SECTION"

Kayıt türünden önceki sayı, önbelleğe alınmış kopya eskidikçe geri sayar; bu size o çözümleyicinin eski yanıtı tam olarak ne kadar daha süreyle sunacağını söyler. Windows'ta, nslookup example.com 8.8.8.8 ek araca gerek kalmadan aynı karşılaştırmayı yapar. Aynı anda birçok konumdan sorgulayan web tabanlı bir DNS sorgu aracı aynı işi daha hızlı yapar, ve ayrıca kendi makinenizden erişemeyeceğiniz çözümleyicileri de kapsar.

Neden saatler sürebilir

  • Yeni TTL değil, eski TTL geçerlidir. Kaydın TTL'i 86400 idiyse ve değişikliği yaparken bunu düşürürseniz, eski kaydı önbelleğe almış çözümleyiciler yine de tam bir güne hak kazanmıştır. TTL'i düşürmek yalnızca bir sonraki değişikliğe yardımcı olur.
  • Bazı çözümleyiciler kısa TTL'leri yok sayar. Birçok İSS, kaydınız ne derse desin genellikle bir saat veya daha fazla olan kendi asgari değerini uygular.
  • İsim sunucusu değişiklikleri daha yavaştır. Kayıt kuruluşu düzeyindeki NS kayıtları genellikle gün cinsinden ölçülen bir TTL taşır, bu yüzden DNS sağlayıcısı değiştirmek her yerde oturması gerçekten bir iki gün alabilir.
  • Negatif önbellekleme de sayılır. Biri bir adı aradığında ad mevcut değilse, "mevcut değil" yanıtı da bölgenin SOA minimum alanının belirlediği süre boyunca önbelleğe alınır.
  • Zincirlenmiş önbellekler. Bir tarayıcı DNS'i önbelleğe alır, işletim sistemi DNS'i önbelleğe alır, ve bir kurumsal çözümleyici genel olanın önünde durabilir. Her katman kendi gecikmesini ekler.
  • Uzun ömürlü bağlantılar. Başlangıçta bir kez bir ana bilgisayar adını çözen uygulamalar, DNS şimdi ne derse desin yeniden başlayana kadar o adresi kullanmaya devam eder.

Bir sonraki değişikliği nasıl hızlandırırsınız

  1. Önce TTL'i düşürün, sonra bekleyin. Kaydın TTL'ini 300 saniyeye düşürün ve asıl değişikliği yapmadan önce en azından eski TTL'in süresi kadar bekletin. O zamana kadar önbelleğe alınmış her kopya kısa değeri taşıyor olacaktır.
  2. Değişikliği yapın. 300 saniyelik bir TTL ile çoğu çözümleyici bunu beş dakika içinde alır.
  3. Örtüşme sırasında eski sunucunun yanıt vermeye devam etmesini sağlayın. DNS güncellendiği anda onu kapatmayın. Ona giden trafik durana kadar yanıt vermeye devam etsin, böylece geçiş kimse fark etmeden gerçekleşir.
  4. Tamamlandığını ilan etmeden önce yetkili isim sunucularına ve birkaç genel çözümleyiciye karşı doğrulayın.
  5. Değişiklik oturduktan sonra TTL'i tekrar yükseltin, böylece normal trafik yeniden önbelleklemeden yararlanır.

Bir isim sunucusu değişikliği için kısa yol yoktur, çünkü kayıt kuruluşunun TTL'i sizin belirleyebileceğiniz bir şey değildir. Bir iki gün için plan yapın ve bir çözümleyicinin hangisine sorduğunun önemi olmaması için iki DNS sağlayıcısının da boyunca aynı kayıtları sunmasını sağlayın.

Değişiklik oturduktan sonra

Birkaç çözümleyiciyi elle kontrol etmek, size baktığınız anda bir değişikliğin ne kadar yayıldığını söyler; bu bir geçiş sırasında yararlı, geri kalan zamanda ise işe yaramazdır. Yakalamaya değer arızalar sonradan gelenlerdir: kimse fark etmeden değişen bir kayıt, yanıt vermeyi bırakan bir isim sunucusu, süresi dolan bir bölge. Sürekli DNS izleme, birçok konumdan belirli bir zamanlamayla sorgular ve yanıt olması gerekenle eşleşmemeye başladığında uyarır; bu tek bir sorgunun göremeyeceği "buradan çalışıyor, oradan bozuk" durumunu da yakalar. Şimdi DNS sorgu aracıyla bir sorgu çalıştırın. Site sizin için erişilemezken başka yerde sorunsuzsa, herkes için mi çökük yoksa yalnızca benim için mi oradan devam eder.

Şimdi kontrol edin

Ücretsiz kontrolü kendi sitenizde çalıştırın - hesap gerekmez.

Dns query

Bunu sürekli izleyin

Bir sorun çıktığı anda haberdar olun: HostTracker 300’den fazla konumdan kontrol eder ve size e-posta, SMS, Slack, Telegram ve daha fazlasıyla bildirim gönderir.

HostTracker özellikleri

Bu bölümde daha fazlası: Bir web sitesi nasıl kontrol edilir: pratik rehberler