DNS Değişikliklerinin Görünmesi Ne Kadar Sürer?

DNS sağlayıcınız yeni kaydı bütün yetkili DNS sunucularında yayımladığında bu sunucular güncel yanıtı vermeye başlar. Ancak recursive resolver (özyinelemeli DNS çözümleyicisi) hizmetleri eski yanıtı önbellekte tutabildiği için yeni değer bütün recursive resolver hizmetlerine aynı anda yansımaz.
Bu yüzden DNS değişikliğinin bütün recursive resolver hizmetlerinde ne zaman görüneceğini kesin bir saatle söylemek mümkün değildir. Süreyi önceki TTL değeri, bulunamayan kayıtlar için tutulan olumsuz yanıtların önbellek süresi, değiştirdiğiniz kaydın türü ve DNS sağlayıcısının yeni veriyi yetkili DNS sunucularına aktarma hızı birlikte belirler.
DNS Yayılımı Nasıl Gerçekleşir?
“Yayılım” ifadesi, yeni kaydın tek merkezden bütün DNS sunucularına gönderildiği izlenimini oluşturabilir. DNS'in normal işleyişinde recursive resolver, gerektiğinde yetkili DNS sunucularından veya sorguyu ilettiği başka bir DNS hizmetinden aldığı yanıtı önbelleğe alır. Yanıt normalde kaydın TTL değeriyle belirlenen süre boyunca yeniden kullanılabilir.
Bir recursive resolver eski kaydı değişiklikten kısa süre önce aldıysa, TTL bitene kadar bu değeri kullanabilir. Başka bir recursive resolver hizmetinin önbelleğinde kayıt bulunmuyorsa aynı anda yetkili DNS sunucusuna başvurup yeni değeri alması mümkündür. Bu nedenle iki recursive resolver hizmeti aynı alan adı için geçici olarak farklı yanıtlar döndürebilir.
Değişikliğin DNS panelinde kaydedilmiş olması da tek başına sürecin tamamlandığını göstermez. DNS sağlayıcısının değişikliği bölgenin bütün yetkili DNS sunucularına uygulaması, bu sunucuların tutarlı yanıt vermesi ve önbellekteki eski yanıtların sona ermesi ayrı aşamalardır.
TTL DNS Yayılım Süresini Nasıl Etkiler?
TTL, bir DNS kaydının normal koşullarda yeniden sorgulanmadan kullanılabileceği süreyi saniye olarak belirtir. Yazılım kaydı daha erken kaldırabilir; süre dolması da tek başına hemen yeni sorgu başlatmaz, sonraki sorguda yeni bilgi gerekebilir. Kayıt değiştirildiğinde bekleme süresini çoğunlukla yeni kayda verilen TTL değil, eski yanıt recursive resolver hizmetine ulaştığında geçerli olan önceki TTL belirler. Yetkili DNS sunucularına ulaşılamayan istisnai durumlarda bazı recursive resolver hizmetleri süresi dolmuş veriyi geçici olarak sunabilir.
Eski Kaydın TTL Değeri Bekleme Süresini Etkiler
Bir kayıt uzun TTL ile önbelleğe alındıktan sonra TTL'yi düşürmek, daha önce saklanan yanıtların kalan süresini geriye dönük olarak azaltmaz. Recursive resolver eski yanıtı, bu yanıtla birlikte aldığı süre sona erene kadar kullanabilir.
Planlı bir IP adresi değişikliğinden veya hizmet geçişinden önce TTL'yi düşürün. Eski uzun TTL ile önbelleğe alınmış kayıtların sürelerinin dolmasını bekledikten sonra asıl kaydı değiştirirseniz eski değerin uzun süre görünme olasılığı azalır.
TTL yine de bütün internet için ortak bir bitiş saati oluşturmaz. Recursive resolver hizmetleri kaydı farklı zamanlarda önbelleğe almış olabilir; bazıları ise değişiklikten önce kaydı hiç sorgulamamış olabilir. Bu nedenle yeni değerin görülmeye başladığı zaman ile eski değerin artık görülmediği zaman aynı değildir.
Negatif Önbellek Yeni Kayıtları Etkileyebilir
DNS önbelleği yalnız mevcut kayıtları saklamaz. Alan adı bulunamadığında dönen NXDOMAIN yanıtı veya alan adı var olduğu halde istenen kayıt türü bulunamadığında dönen NODATA yanıtı da belirli bir süre negatif önbellekte tutulabilir.
Örneğin daha önce bulunmayan bir alt alan adı oluşturulduğunda yetkili DNS sunucuları yeni kaydı doğru biçimde sunabilir. Ancak bu adı daha önce sorgulayıp olumsuz yanıtı önbelleğe alan recursive resolver hizmetleri nedeniyle yanıtın geçerlilik süresi dolana kadar alan adı bulunamıyormuş gibi görünebilir.
Bu durumda yalnız yeni kaydın TTL değerine bakmak yanıltıcıdır. Negatif önbellek süresi, bölgenin yönetim bilgilerini taşıyan SOA kaydının TTL değeri ile MINIMUM alanındaki sürenin küçüğünden hesaplanır; recursive resolver bu süreyi ayrıca sınırlayabilir. Önbellekten gelen olumsuz yanıtın yetki bölümündeki SOA kaydında kalan TTL görülebilir. Kaydı eklemeden önce olumsuz yanıt alınıp alınmadığını bu süreyle birlikte değerlendirin.
DNS Kaydı ile Ad Sunucusu Değişikliği Arasındaki Fark Nedir?
A ve AAAA adresleri, CNAME takma ad hedefini, MX e-posta sunucularını, TXT ise metin bilgilerini belirtir. Bu kayıtları değiştirmekle alan adının yetkili sunucularını belirten NS kayıtlarını değiştirmek aynı süreç değildir. Mevcut bir kaydın değerini değiştirirken çoğunlukla eski yanıtın önbellekten çıkmasını beklersiniz. Ad sunucusu değişikliğinde ise üst bölgenin alan adını hangi sunuculara yönlendirdiğini belirleyen delegasyon da güncellenir.
Tablo, değişikliğin nerede uygulandığını ve yeni yanıtın görülme süresini etkileyen başlıca unsurları karşılaştırır.
| Değişiklik türü | Yeni verinin bulunduğu yer | Görünme süresini etkileyen unsurlar |
|---|---|---|
| Mevcut DNS kaydının değiştirilmesi | Alan adının mevcut yetkili DNS sunucuları | Eski yanıtın TTL süresi ve DNS sağlayıcısının kaydı uygulama zamanı |
| Yeni bir kayıt eklenmesi | Mevcut yetkili DNS sunucuları | Negatif önbellek ve yetkili DNS sunucularının tutarlılığı |
| NS delegasyonunun değiştirilmesi | Üst bölge ve yeni yetkili DNS sunucuları | Eski NS kayıtlarının önbellek süresi, alan adı kayıt kuruluşunun değişikliği uygulama süresi ve gerekiyorsa glue kayıtları |
NS değişikliğinde recursive resolver, üst bölgeden daha önce aldığı eski ad sunucusu listesini önbellekte tutabilir. Yeni ad sunucusu delegasyonu üst bölgede yayımlanmış olsa bile eski NS bilgisinin kalan süresi dolana kadar sorguların eski sunuculara yönelmesi mümkündür.
Bu nedenle eski ad sunucularının geçiş tamamlanmadan kapatılması erişim sorunlarına yol açabilir. Eski ve yeni ad sunucularının bir süre aynı bölge verisini sunması, farklı ad sunucusu listelerini önbellekte tutan recursive resolver hizmetlerinin tutarlı yanıt almasını sağlar.
Glue Kayıtları Ad Sunucusu Değişikliğini Nasıl Etkiler?
Ad sunucusunun adı, yetkili olduğu alan adının içinde bulunuyorsa çözümlemenin başlayabilmesi için üst bölgede glue adı verilen adres bilgisine ihtiyaç duyulabilir. Örneğin bir alan adının ad sunucusu yine aynı alan adının altındaysa, bu sunucunun IP adresine ulaşmak için üst bölgedeki bilgi kullanılır.
Ad sunucusu adları aynı kalırken bu sunucuların IP adresleri değiştiriliyorsa yalnız alan adının kendi DNS bölgesindeki A veya AAAA kaydını değiştirmek yeterli olmayabilir. Alan adı kayıt kuruluşunda veya üst bölgede tutulan glue bilgisinin de doğru IP adreslerini göstermesi gerekir.
DNS Kaydı Güncellendiği Halde Neden Görünmez?
DNS kaydını güncellediğiniz halde yeni değeri göremiyorsanız sorunu hemen yayılıma bağlamayın. Önce değişikliğin yetkili DNS sunucularına ulaştığını, ardından eski yanıtın önbellekte kalıp kalmadığını kontrol edin.
- Yetkili DNS sunucularını karşılaştırın: Aynı ad ve kayıt türünü sorgulayın; her yetkili DNS sunucusunun kendi yapılandırmasına uygun güncel yanıt verdiğini doğrulayın.
- Değişiklik türünü belirleyin: DNS kaydı güncellemesi ile NS delegasyonu değişikliğini aynı süreç olarak değerlendirmeyin.
- Önceki TTL'yi kontrol edin: Eski kaydın önbelleğe alındığı sıradaki TTL, kalan bekleme süresini belirleyebilir.
- Negatif önbelleği değerlendirin: Yeni eklenen kayıt daha önce sorgulanıp bulunamadıysa eski olumsuz yanıt geçerliliğini sürdürüyor olabilir.
- Farklı recursive resolver hizmetlerini karşılaştırın: Testin hangi DNS sunucusuna gittiğini belirleyin; tek bir test bütün hizmetlerin güncellendiğini göstermez.
Coğrafi yönlendirme veya yük dağıtımı nedeniyle farklı geçerli yanıtlar alınabilir; her farklılık hata değildir. Ancak yeni yapılandırmada kaldırılan bir değeri bazı yetkili DNS sunucuları sunmaya devam ediyorsa sorun yalnız recursive resolver önbelleğinden kaynaklanmaz. DNS sağlayıcısındaki bölge eşitlemesini, ikincil yetkili DNS sunucularının güncellenip güncellenmediğini ve yanlış yapılandırılmış bir yetkili DNS sunucusu bulunup bulunmadığını inceleyin.
Yetkili DNS sunucularının tamamı yeni değeri döndürüyor fakat bazı recursive resolver hizmetleri eski yanıtı gösteriyorsa önbellek süresinin dolmasını bekleyebilirsiniz. Eski yanıt beklenen TTL süresinden sonra da görünüyorsa sorguladığınız kaydı ve sorgunun izlediği DNS çözümleme yolunu yeniden doğrulayın.
Yerel DNS Önbelleğini Temizleyince Ne Değişir?
Bilgisayar, telefon, tarayıcı, modem veya yerel ağdaki DNS sunucusu daha önce aldığı DNS yanıtını saklıyor olabilir. Bu yerel önbelleği temizlemek, cihazın bir sonraki sorguda yeniden çözümleme yapmasını sağlayabilir.
Yerel önbelleği temizlemek internet üzerindeki diğer recursive resolver hizmetlerinin kayıtlarını silmez. İnternet servis sağlayıcısının, kurumsal ağın veya genel DNS hizmetinin önbelleği kendi TTL süresine göre çalışmaya devam eder. Bu nedenle yerel temizleme işlemi küresel DNS yayılımını hızlandıran bir komut değildir.
Tarayıcı ile komut satırı aracı farklı sonuç gösteriyorsa tarayıcının kendi DNS önbelleği, açık bağlantıları veya ayrı bir güvenli DNS sunucusu kullanması etkili olabilir. Buna karşılık farklı ağlardaki cihazların tamamı eski sonucu görüyorsa yalnız yerel önbelleğe odaklanmak yeterli değildir.
DNS Değişikliği Yaparken Kesinti Nasıl Önlenir?
Planlı geçişte önce mevcut TTL değerini öğrenin. Gerekirse TTL'yi yeterince erken düşürün ve önceki TTL ile önbelleğe alınmış kayıtların sürelerinin dolmasını bekleyin. Ardından ilgili kaydı yeni hedefe göre güncelleyin ve bütün yetkili DNS sunucularının beklenen güncel yanıtları verdiğini doğrulayın.
Eski ve yeni sunucuların bir süre birlikte çalışması, farklı önbellekleri kullanan cihazların hizmete erişmeye devam etmesini sağlar. Özellikle web sunucusu, e-posta altyapısı veya ad sunucusu değişikliğinde eski hedefi hemen kapatmak, eski kaydı kullanan istemcilerin bağlantı kuramamasına neden olabilir.
Ad sunucusu delegasyonunu değiştiriyorsanız yeni DNS bölgesini önceden hazırlayın, gerekli kayıtları eski bölgeyle karşılaştırın ve gerekiyorsa glue bilgilerini de güncelleyin. Üst bölgedeki delegasyonu doğrulamadan yalnız DNS sağlayıcısının paneline güvenmeyin.
DNS verisini imzalarla doğrulayan DNSSEC etkinse DNS sağlayıcılarının anahtar ve DS kaydı geçiş planını da uygulayın. Üst bölgedeki DS kaydı, alt bölgenin DNSKEY kaydındaki açık anahtara güven bağlantısı kurar; anahtarlar, imzalar ve önbellekteki eski DS bilgisi birlikte hesaba katılmalıdır. Sadece önbelleğin boşalmasını beklemek, üst bölge ile yeni DNS sunucusu arasında süren bir DNSSEC yapılandırma hatasını düzeltmez. Geçiş boyunca eski ve yeni DNS sunucularından gelen yanıtların güven zincirini doğrulayın.
Farklı recursive resolver hizmetlerinde görülen yanıtları karşılaştırmak için DNS Yayılım Kontrolü kullanılabilir. Bu kontrol, sorgulanan noktalardaki mevcut yanıtları gösterir; bütün recursive resolver hizmetlerinin kesin olarak güncellendiğine dair küresel bir garanti vermez.







