DNS Zaman Aşımı ve Yanıt Yok Sorunu Nasıl Giderilir?

DNS zaman aşımı, istemcinin gönderdiği sorguya belirlenen bekleme süresi içinde kullanılabilir bir yanıt alamaması durumudur. Bu belirti, alan adının bulunamadığını bildiren NXDOMAIN ya da DNS sunucusunun SERVFAIL veya REFUSED yanıtı vermesiyle aynı değildir. Zaman aşımında çoğu kez bir DNS yanıtı veya yanıt kodu alınmaz.
Sorunu gidermek için bütün zaman aşımlarını tek bir nedene bağlamayın; sorgunun geçtiği her noktayı ayrı inceleyin. Bu incelemede cihaz ve yerel ağdan başlayıp recursive resolver (özyinelemeli DNS çözümleyicisi) hizmetini, güvenlik duvarını, kullanılan DNS protokolündeki iletişimi ve yetkili DNS sunucularını ayrı ayrı kontrol etmek gerekir.
Kesin nedeni belirlemek için güncel sorgu sonuçlarını karşılaştırmak gerekir. Aynı belirti yanlış DNS ayarı, paket kaybı, geçici recursive resolver arızası, güvenlik politikası, yetkili DNS sunucularından birine erişilememesi veya bu bileşenler arasındaki ağ yolundan kaynaklanabilir.
Yanıt Yokluğu ile DNS Hata Sonuçları Arasındaki Farklar
Bir DNS hata sonucu alınması, sorguya karşılık bir yanıt paketinin ulaştığını gösterir. Zaman aşımı, yanıtın hiç üretilmemesi, ağda kaybolması, güvenlik cihazının DNS trafiğini sessizce engellemesi veya yanıtın bekleme süresi içinde istemciye ulaşmaması gibi farklı durumlardan kaynaklanabilir.
Aşağıdaki tablo, benzer görünen DNS belirtilerinin ne anlama geldiğini ve önce nereye bakılması gerektiğini gösterir.
| Belirti | Anlam | Önce İncelenecek Alan |
|---|---|---|
| Zaman aşımı veya yanıt yok | Bekleme süresi içinde kullanılabilir bir DNS yanıtı gelmez. | Cihazın ağ bağlantısı, recursive resolver, filtreleme, paket kaybı ve yetkili DNS sunucusuna erişim |
| SERVFAIL | DNS sunucusu sorguyu işlerken hata oluşur ve geçerli sonuç üretemez. | DNSSEC doğrulaması, recursive resolver ile yetkili DNS sunucusu arasındaki iletişim |
| REFUSED | DNS sunucusu sorguyu alır fakat politika veya yetki nedeniyle işlemeyi reddeder. | Erişim politikası, izinler ve sorgunun gönderildiği DNS sunucusunun rolü |
| NXDOMAIN | Sorgulanan ad veya başka bir adı gösteren CNAME zincirinin son hedefi bulunmaz. | Alan adının yazımı, kayıt adı ve yetkili DNS bölgesindeki kayıtlar |
| NODATA | Ad vardır ancak istenen kayıt türü için veri yoktur. NODATA ayrı bir yanıt kodu değildir; bu sonuç NOERROR yanıtı içinde görülür. | Sorgulanan kayıt türü ve yetkili bölgedeki kayıtlar |
Bu nedenle “DNS sunucusu yanıt vermiyor” ile “DNS sunucusu hata döndürüyor” aynı biçimde incelenmez. Yanıt alınmışsa ilgili hata sonucunu değerlendirin; hiç yanıt yoksa önce DNS sunucusuna erişimi, ağ yolunu ve kullanılan DNS protokolündeki iletişimi kontrol edin.
Sorun Cihazda mı, Ağda mı, Recursive Resolver Hizmetinde mi?
Tek bir başarısız deneme, geçici paket kaybını kalıcı arıza gibi gösterebilir. Sınırlı sayıda tekrar yapın ve karşılaştırmalar sırasında alan adı, kayıt türü, DNS sunucusu ve ağ gibi değişkenlerden yalnız birini değiştirin. A kaydı IPv4, AAAA kaydı IPv6 adresini, MX kaydı e-posta sunucularını belirtir; farklı kayıt türlerini sorgulamak aynı testi tekrarlamak değildir.
- Sorunun tek bir alan adıyla mı sınırlı olduğunu kontrol edin. Bir alan adı zaman aşımına uğrarken ilgisiz alan adları yanıt veriyorsa istemcinin DNS erişimi bütünüyle kesilmiş değildir.
- Sorunun tek cihazla mı sınırlı olduğunu kontrol edin. Aynı ağdaki ikinci bir cihaz yanıt alıyorsa sorunu ilk cihazın ayarlarında, güvenlik yazılımında veya kullandığı DNS sunucusunda arayın.
- Farklı ağları karşılaştırın. Aynı cihaz başka bir güvenilir ağda yanıt alıyorsa yerel yönlendiriciyi, ağ politikasını ve internet servis sağlayıcısının trafik yönlendirmesini inceleyin.
- Recursive resolver hizmetlerini karşılaştırın. Bir hizmet zaman aşımına uğrarken diğeri yanıt veriyorsa ilk recursive resolver hizmetini ve ona giden ağ yolunu ayrıca inceleyin.
- Sorunun sürekli mi, aralıklı mı olduğunu belirleyin. Bazı denemelerde yanıt alınması, paket kaybı, DNS sunucularından birinin arızası veya kısa sürede gelen sorguların sınırlandırılması gibi değişken nedenlerle ilişkili olabilir.
Önbellek, karşılaştırma sonuçlarını etkileyebilir. Bir recursive resolver daha önce aldığı başarılı yanıtı önbellekten döndürürken başka bir recursive resolver yetkili DNS sunucusuna ulaşamayabilir. İkinci hizmet bu durumda hata yanıtı döndürebilir; istemcinin bekleme süresi dolana kadar kullanılabilir yanıt vermezse istemci zaman aşımı görür. Bu nedenle tek bir başarılı sonuç, bütün DNS zincirinin o anda sağlıklı olduğunu kanıtlamaz.
Cihaz ve Yerel Ağ Ayarlarını Kontrol Etme
Önce cihazın genel ağ bağlantısının çalıştığını DNS çözümlemesinden bağımsız biçimde doğrulayın. Ağ bağlantısı bütünüyle kesilmişse görülen DNS hatası, temel bağlantı sorununun ikincil belirtisi olabilir.
Cihazda yapılandırılmış DNS sunucusu adreslerinin geçerli olup olmadığını kontrol edin. Otomatik alınan ayarlarla elle girilmiş adresler, birden fazla ağ bağdaştırıcısı veya eski VPN yapılandırmaları birbiriyle çakışabilir.
VPN istemcileri, güvenlik yazılımları, ebeveyn denetimi araçları ve kurumsal ağ uygulamaları DNS sorgularını farklı bir DNS sunucusuna yönlendirebilir. Tarayıcıda etkinleştirilmiş şifreli DNS özelliği de işletim sisteminin kullandığından farklı bir DNS sunucusuna bağlanabilir. Bu nedenle yalnız işletim sistemi ayarına bakmak her zaman yeterli değildir.
Aynı ağdaki diğer cihazları da kontrol edin. Yalnız bir cihaz etkileniyorsa sorun büyük olasılıkla cihaz ayarları veya yerel yazılımla ilgilidir. Bütün cihazlar etkileniyorsa yönlendiricinin DNS iletimini, ağ güvenlik politikasını ve ortak DNS sunucusuna erişimi inceleyin.
DNS önbelleğini temizlemek, cihazda tutulan eski veya başarısız DNS sonucunu kaldırabilir. Ancak yanıtın ağda kaybolması, engellenmesi veya uzak sunucudan hiç gelmemesi halinde önbellek temizliği tek başına çözüm oluşturmaz. Modemi yeniden başlatmak geçici bağlantı veya yönlendirme sorunlarını giderebilir, fakat sorunun nerede olduğunu göstermez.
Recursive Resolver Kaynaklı DNS Zaman Aşımını Belirleme
Recursive resolver, istemci adına DNS çözümleme sürecini yürüten sunucudur. İstemci bu sunucuya ulaşamıyorsa zaman aşımı görebilir. Recursive resolver yetkili DNS sunucularından yanıt alamadığında ise istemciye SERVFAIL döndürebilir. Bu hata yanıtı ile istemcinin hiç kullanılabilir yanıt alamaması farklı durumlardır.
Bir recursive resolver yanıt vermiyor ancak başka bir bağımsız recursive resolver aynı sorguya düzenli olarak yanıt veriyorsa ilk hizmetin durumunu, erişim politikasını, kapasitesini ve ona giden ağ yolunu inceleyin. Yalnız bu hizmet etkileniyorsa alan adının DNS kayıtlarını rastgele değiştirmeyin. Farklı recursive resolver hizmetleri yalnız aynı alan adında başarısız oluyorsa yetkili DNS sunucularını ve üst DNS bölgesinin alan adını bu sunuculara yönlendirmesini, yani delegasyonu inceleyin.
Recursive resolver hizmetleri, tekrarlanan başarısız sorguların DNS altyapısına gereksiz yük oluşturmasını önlemek için çözümleme başarısızlıklarını kısa süreliğine önbelleğe alır. Güncel standart bu kaydın en az bir saniye, en fazla beş dakika tutulmasını ister. Asıl sorun giderilse bile aynı hizmet kısa bir süre daha önbelleğe aldığı başarısızlığa dayanarak hata yanıtı verebilir. Hızla dönen böyle bir SERVFAIL yanıtı, yeni sorgunun zaman aşımına uğradığı anlamına gelmez.
Farklı bir recursive resolver hizmetine geçmek sorunun kaynağını anlamaya yardımcı olur, ancak her durumda kalıcı çözüm değildir. Yetkili DNS sunucularındaki erişim sorunu sürüyorsa diğer recursive resolver hizmetleri de yeni bir yanıt almaya çalıştığında aynı başarısızlıkla karşılaşabilir.
UDP ve TCP Üzerinden DNS Erişimini Kontrol Etme
Klasik DNS sorguları UDP veya TCP üzerinden 53 numaralı portu kullanır. Bu iki taşıma yolundan birinin filtrelenmesi veya güvenilir biçimde çalışmaması, bazı sorgular yanıt verirken diğerlerinin zaman aşımına uğramasına neden olabilir.
UDP sorguları yanıt vermiyor fakat aynı hedefe TCP üzerinden yanıt alınabiliyorsa UDP trafiğinin filtrelenip filtrelenmediğini, paket kaybını ve ağ cihazının UDP trafiğini işleme biçimini inceleyin. UDP çalışıyor ancak TCP başarısız oluyorsa TCP gerektiren sorgular ve daha büyük yanıtlar sorun çıkarabilir.
Küçük DNS yanıtları düzenli gelirken daha büyük yanıtların kaybolması, paket boyutu, parçalanma veya ağ yolu üzerindeki güvenlik cihazlarıyla ilişkili olabilir. Bu belirti, 53 numaralı portun tamamen kapalı olduğu anlamına gelmez.
DoH (DNS over HTTPS) veya DoT (DNS over TLS) kullanılıyorsa yalnız 53 numaralı portu denemek yeterli değildir. DoH genellikle 443 numaralı portu, DoT varsayılan olarak TCP 853 numaralı portu kullanır. Yapılandırılmış hizmet adresini, kullanılan taşıma protokolünü ve şifreli bağlantının sertifika doğrulamasını da kontrol edin.
Kontrolleri yalnız yönetme veya test etme yetkinizin bulunduğu istemciler, recursive resolver hizmetleri ve DNS sunucuları arasında, belirli hedeflerle sınırlı tutun. Geniş veya kontrolsüz port taraması DNS zaman aşımı teşhisi için gerekli değildir ve sorunun kapsamını belirlemek yerine ek güvenlik riski oluşturabilir.
Güvenlik Duvarı ve Ağ Yolunu İnceleme
DNS paketleri kaynak ile hedef arasında güvenlik duvarı, IP adresi ve gerektiğinde port çevirisi yapan NAT cihazı, kurumsal ağ geçidi veya internet servis sağlayıcısının uyguladığı filtrelerden geçebilir. Bu bileşenlerden biri sorguyu ya da dönüş yanıtını sessizce düşürürse istemci bir DNS hata kodu yerine zaman aşımı görür.
Klasik DNS kullanırken yalnız giden UDP 53 iznini kontrol etmek yeterli değildir. Dönüş trafiğini, TCP bağlantılarını, oturum durumunu ve kısa sürede gelen sorguların sınırlandırılıp sınırlandırılmadığını da kontrol edin. Şifreli DNS kullanıyorsanız incelemeyi yapılandırılmış hizmetin portuna ve protokolüne göre yapın. Recursive resolver ile yetkili DNS sunucuları arasındaki iletişim de ayrıca incelenmelidir; bu sunucuları yönetmiyorsanız ilgili günlük ve bağlantı kontrolünü DNS sağlayıcınızdan isteyin.
DNS dışındaki trafiğin çalışması, DNS ağ yolunun da sağlıklı olduğunu göstermez. Güvenlik politikaları hedefe, protokole, paket boyutuna veya trafik miktarına göre farklı davranabilir.
Paket kaybı da filtrelemeyle aynı belirtiyi oluşturabilir. Yanıt yokluğunun güvenlik cihazından mı, ağdaki kayıptan mı yoksa DNS sunucusunun yanıt üretmemesinden mi kaynaklandığını karşılaştırmalı ölçümler ve ilgili ağ kayıtlarıyla belirleyin.
Yetkili DNS Sunucularını Kontrol Etme
Yetkili DNS sunucuları, alan adının kayıtları için son yanıt kaynağıdır. Bir alan adı farklı ağlarda ve birden fazla recursive resolver üzerinden zaman aşımına uğruyorsa delegasyonda belirtilen yetkili DNS sunucularının her birini ayrı ayrı sorgulayın.
Yetkili DNS sunucularından yalnız birinin erişilemez olması aralıklı soruna yol açabilir. Recursive resolver bazı denemelerde çalışan sunucuya, bazı denemelerde yanıt vermeyen sunucuya başvurabileceği için kullanıcılar aynı alan adı için tutarsız sonuçlar görebilir.
Yetkili DNS sunucularını belirten NS kayıtlarının tutarlı olduğunu, delegasyonun doğru sunucuları gösterdiğini ve her yetkili DNS sunucusunun beklenen bölge için yanıt ürettiğini kontrol edin. UDP ve TCP erişimini de ayrı değerlendirin.
DNS Sağlık Kontrolü aracı, yetkili DNS sunucularının ve delegasyonun durumunu birlikte gösterir. Aracın sonucu yalnız test anını yansıtır; geçmişteki veya gelecekteki erişilebilirliği tek başına kanıtlamaz.
Recursive resolver hizmetlerinin önbelleğinde bulunan kayıtlar, yetkili DNS sunucusu kesintisini bir süre gizleyebilir. Kaydın önbellekte normal olarak ne kadar süre geçerli olduğunu saniye cinsinden belirten TTL dolduktan sonra yeni bir yanıt gerektiğinde kesinti fark edilebilir. Bazı hizmetler, yeni yanıt alamazsa belirli koşullarda süresi dolmuş veriyi sunmaya devam edebilir. Bazı kullanıcıların erişebilmesi bu nedenle bütün yetkili DNS sunucularının sağlıklı olduğunu göstermez.
Düzeltmeden Sonra DNS Yanıtlarını Yeniden Karşılaştırma
Düzeltmeden sonra aynı alan adı ve kayıt türünü önce başarısız olan recursive resolver üzerinden ve aynı ağda yeniden kontrol edin. Ardından ikinci bir recursive resolver ve mümkünse ikinci bir ağ ile karşılaştırın. Böylece sorunun yalnız geçici bir ağ değişikliği veya önbellek nedeniyle gizlenip gizlenmediği anlaşılabilir.
Klasik DNS için UDP ve TCP trafiğini, şifreli DNS için kullanılan hizmete bağlantıyı yeniden kontrol edin. Yetkili DNS sunucularında değişiklik yapıldıysa delegasyondaki bütün sunucuların tutarlı yanıt verdiğini ve aralıklı zaman aşımlarının sona erdiğini doğrulayın.
Geçici bir çözümleme hatası önbelleğe alınmışsa altyapı düzelse bile bazı recursive resolver hizmetleri kısa bir süre daha başarısız sonuç verebilir. Ölçümlerde tarih, saat, kullanılan DNS sunucusu, sorgulanan kayıt türü ve sonucun bir yanıt kodu mu yoksa yanıt yokluğu mu olduğunu kaydedin.
Destek Ekibine Gönderilecek Bilgiler
Destek ekibine yalnız “DNS çalışmıyor” demek yerine hangi sorguyu ne zaman, hangi ağda ve hangi recursive resolver hizmetiyle yaptığınızı da bildirin. Aşağıdaki bilgiler, istemci ve ağ ekiplerinin yanı sıra recursive resolver ve yetkili DNS sunucularından sorumlu ekiplerin aynı olayı karşılaştırmasına yardımcı olur.
- Testin tarih ve saati ile sorunun görüldüğü yaklaşık süre aralığı
- Etkilenen alan adı ve sorgulanan DNS kayıt türü
- Kullanılan cihaz, ağ ve DNS sunucusu adresi
- Bir DNS yanıtı alınıp alınmadığı veya yalnız zaman aşımı görüldüğü
- Sorunun tek cihazda, tek ağda veya tek DNS sunucusunda görülüp görülmediği
- Kullanılan DNS protokolü; klasik DNS için UDP ve TCP denemelerinin sonuçları
- Etkilenmiş görünen yetkili DNS sunucusu veya sunucuları
Destek ekibi sorgunun kaynak adresini araştıracaksa DNS sunucusu veya ağ geçidi günlüklerinde o sorgu için görülen IP adresini kullanmalıdır. Bir web sitesinin gördüğü genel IP adresi, VPN veya DNS sorgularının farklı bir yoldan gönderilmesi nedeniyle bu adresle aynı olmayabilir.







