DNS SERVFAIL Hatası Nedir ve Nasıl Giderilir?

DNS'te SERVFAIL, DNS sunucusunun bir sorun nedeniyle sorguyu işleyemediğini bildiren hata yanıtıdır. Bu yanıtı hem yetkili DNS sunucuları hem de istemci adına tam yanıtı bulmaya çalışan recursive resolver (özyinelemeli DNS çözümleyicisi) hizmetleri verebilir. Alan adının kesin olarak var olmadığını göstermez.
Sorun DNSSEC doğrulaması, yetkili DNS sunucularına erişim, delegasyon zinciri, tutarsız DNS verisi veya recursive resolver hizmetindeki geçici bir arızayla ilişkili olabilir. Güncel sorgu sonuçlarını karşılaştırmadan hatanın tek bir nedenden kaynaklandığını söylemek doğru olmaz.
SERVFAIL ile Diğer DNS Hataları Arasındaki Farklar
DNS sorununu gidermek için alınan yanıtın ne söylediğini doğru anlamak gerekir. SERVFAIL, bir kaydın bulunamadığını değil, çözümleme işleminin başarılı biçimde tamamlanamadığını anlatır.
Aşağıdaki karşılaştırma, birbirine benzeyebilen temel DNS durumlarının ne anlama geldiğini gösterir.
| Durum | Ne Anlatır? | Önce Neresi Kontrol Edilir? |
|---|---|---|
| SERVFAIL | DNS sunucusu bir sorun nedeniyle sorguyu işleyemez. | DNSSEC doğrulaması, delegasyon, yetkili DNS sunucuları ve recursive resolver hizmeti |
| NXDOMAIN | Sorgulanan alan adının bulunmadığını gösterir. | Alan adının yazımı ve DNS bölgesindeki varlığı |
| NODATA | Alan adı bulunur, ancak istenen kayıt türü yoktur. | Sorgulanan kayıt türü ve ilgili kaydın varlığı |
| REFUSED | DNS sunucusu sorguyu işlemeyi reddeder. | Erişim politikası, yetki ve sorgu kabul kuralları |
| Zaman aşımı | Beklenen sürede kullanılabilir bir DNS yanıtı gelmez. | Ağ erişimi, paket kaybı ve DNS sunucusunun yanıt durumu |
Zaman aşımında çoğu durumda kullanılabilir bir DNS yanıtı alınmaz. SERVFAIL durumunda ise DNS sunucusu, işlemin başarısız olduğunu belirten bir yanıt üretir. Bu nedenle yalnız bağlantı testi yapmak, SERVFAIL nedenini açıklamak için yeterli değildir.
SERVFAIL Hatasının Başlıca Nedenleri
SERVFAIL tek bir arızanın adı değildir. Recursive resolver hizmetinin geçerli bir sonuç oluşturmasını engelleyen farklı sorunlar aynı SERVFAIL yanıtına yol açabilir.
DNSSEC İmza ve Güven Zinciri Sorunları
DNSSEC, DNS verisinin kaynağını ve bütünlüğünü dijital imzalarla doğrulamaya yarar. DNSKEY kaydı açık anahtarı taşır; üst bölgedeki DS kaydı ise alan adı ve DNSKEY verisinden hesaplanan özeti kullanarak alt bölgenin anahtarına güven bağlantısı kurar. DNSSEC doğrulaması yapan recursive resolver bu zinciri kuramazsa veya yanıtın imzasını doğrulayamazsa SERVFAIL döndürebilir.
Bu durum özellikle DNS sağlayıcısı değişikliği, anahtar yenileme veya DNSSEC yapılandırmasının yalnız bir bölümünün güncellenmesi sırasında ortaya çıkabilir. Ancak SERVFAIL görülmesi tek başına DNSSEC hatasını kanıtlamaz.
Yetkili DNS Sunucusu Sorunları
Recursive resolver önbellekten yanıt veremediğinde gereken DNS verisini kendisi arar veya sorguyu başka bir DNS sunucusuna iletir. Bu işlem sırasında yetkili DNS sunucularının hiçbirinden kullanılabilir veri alınamazsa çözümleme SERVFAIL ile sonuçlanabilir. Yetkili sunucuya erişilememesi, sunucunun bölge verisini yükleyememesi veya geçersiz yanıt vermesi buna yol açabilir.
Birden fazla yetkili DNS sunucusundan yalnız birinin hatalı olması da aralıklı sorun oluşturabilir. Recursive resolver çalışan sunucudan kullanılabilir yanıt alabilir; sorunlu sunucuya giden sorgularda yeniden denemeler de sonuçsuz kalırsa alan adı aralıklı hata verebilir.
Delegasyon Tutarsızlıkları
Delegasyon, üst DNS bölgesinin bir alan adı için hangi yetkili DNS sunucularının kullanılacağını bildirmesidir. Yetkili DNS sunucularını belirten NS kayıtları üst bölgede yanlış veya artık hizmet vermeyen sunucuları gösteriyorsa recursive resolver gerekli veriye ulaşamayabilir.
Bu sorun, ad sunucusu değişikliklerinin yalnız kayıt kuruluşunda veya yalnız DNS sağlayıcısında yapılmasıyla oluşabilir. Eski ve yeni DNS sunucularının birbiriyle uyumsuz veriler sunması da çözümleme sorunlarına yol açabilir.
Recursive Resolver Hizmetinde veya Ağ Yolunda Geçici Sorunlar
Recursive resolver hizmetindeki geçici yoğunluk veya iç arıza SERVFAIL oluşturabilir; yetkili DNS sunucularına giden ağ yolundaki bir kesinti de aynı sonuca yol açabilir. Aynı alan adı bağımsız başka bir recursive resolver hizmeti üzerinden doğru çözümleniyorsa sorun, alan adının kalıcı yapılandırmasından çok yalnız belirli bir hizmetle ilişkili olabilir.
RFC 9520 standardına göre recursive resolver hizmetleri çözümleme başarısızlıklarını en az bir saniye önbelleğe almalı, ancak bu süre beş dakikayı aşmamalıdır. Bu nedenle asıl sorun düzeltilmiş olsa bile aynı recursive resolver hizmeti bir süre daha SERVFAIL yanıtı verebilir.
SERVFAIL Hatasının Kaynağını Bulma
SERVFAIL hatasını gidermek için önce sorunun nerede oluştuğunu belirlemek gerekir; rastgele DNS kaydı değiştirmek çözüm değildir. Aşağıdaki kontroller, sorunun kullanılan cihaz veya ağdan mı yoksa alan adının DNS yapılandırmasından mı kaynaklandığını ayırmaya yardımcı olur.
- Sorunun kapsamı: Hatanın yalnız bir alan adında mı, belirli alt alanlarda mı yoksa çok sayıda bağımsız alan adında mı görüldüğünü kontrol edin. Birçok bağımsız alan adı aynı anda etkileniyorsa yerel ağı ve kullanılan DNS sunucusunu kontrol edin; bu durum, ortak kullanılan bir yetkili DNS hizmetindeki kesintiden de kaynaklanabilir.
- Farklı recursive resolver hizmetlerinin sonuçları: Aynı alan adını ve kayıt türünü en az iki bağımsız recursive resolver hizmetinde kontrol edin. Sonuçların farklı olması, bu hizmetlerin önbellek, ağ yolu veya doğrulama davranışlarının farklı olduğunu gösterebilir.
- Yetkili DNS sunucularının yanıtları: Delegasyonda listelenen her yetkili DNS sunucusunun ilgili alan adı için tutarlı ve kullanılabilir yanıt verip vermediğini kontrol edin. Tek bir sunucunun sürekli başarısız olması aralıklı SERVFAIL nedeni olabilir.
- DNSSEC doğrulaması: Alan adı DNSSEC kullanıyorsa DS ve DNSKEY ilişkisini, imzaları ve güven zincirini denetleyin. Yalnız doğrulama yapan recursive resolver hizmetlerinde hata görülmesi DNSSEC ihtimalini güçlendirir ancak tek başına kesin kanıt oluşturmaz.
- Delegasyon bilgileri: Üst bölgede ilan edilen NS kayıtlarının aktif yetkili DNS sunucularıyla aynı olduğundan emin olun. DNS sağlayıcısı değişikliği sonrasında kalan eski ad sunucularını özellikle kontrol edin.
- Farklı zaman ve ağlardaki sonuçlar: Tek bir sorgu yerine farklı zamanlarda ve mümkünse farklı ağlardan alınan sonuçları karşılaştırın. Aynı hata sürekli tekrarlanıyorsa kalıcı bir yapılandırma sorunu olma ihtimali artar.
- Değişiklik sonrası doğrulama: Bir kayıt veya sunucu ayarı düzeltildiğinde bütün yetkili DNS sunucularının doğrudan yanıtlarını ve farklı recursive resolver hizmetlerinin sonuçlarını yeniden kontrol edin. DNSSEC kullanılıyorsa doğrulama zincirini de denetleyin; tek bir başarılı sorguyu yeterli saymayın.
Farklı Sorgu Sonuçları Nasıl Yorumlanır?
Tek bir DNS sorgusu sorunun yerini kesin biçimde göstermez. Aynı alan adını farklı recursive resolver hizmetlerinden ve yetkili DNS sunucularından sorgulamak, sorunun recursive resolver hizmetinde mi, ağda mı yoksa yetkili DNS sunucusunda mı olduğunu anlamaya yardımcı olur.
- Tüm recursive resolver hizmetleri SERVFAIL veriyor ve yetkili DNS sunucuları da yanıt üretemiyorsa sorun büyük olasılıkla yetkili DNS hizmetinde veya delegasyondadır.
- Bazı recursive resolver hizmetleri geçerli yanıt verirken yalnız biri SERVFAIL veriyorsa sorun, o hizmetin önbelleğinden, ağ erişiminden veya iç arızasından kaynaklanabilir.
- Yetkili DNS sunucuları kullanılabilir yanıt veriyor ancak doğrulama yapan recursive resolver hizmetleri başarısız oluyorsa DNSSEC zincirinde hata olabilir.
- Yetkili DNS sunucuları birbirinden farklı yanıtlar veriyorsa önce farkın yapılandırmaya uygun olup olmadığını kontrol edin. GeoDNS gibi konuma göre yanıt veren hizmetlerde veya yük dağıtımında bu beklenen bir davranış olabilir; beklenmeyen ve çelişkili veriler ise sunucular arasında uyumsuzluk olduğunu gösterebilir.
- Hata yalnız belirli bir kayıt türünde görülüyorsa sorun ilgili kayıtta veya ona bağlı çözümleme zincirinde olabilir.
DNSSEC Kaynaklı SERVFAIL Nasıl Giderilir?
DNSSEC şüphesi varsa güvenlik özelliğini rastgele kapatmayın. Üst bölgedeki DS kayıtlarından doğrulayıcının desteklediği birinin aktif DNSKEY kaydıyla eşleştiğini ve bu anahtarla DNSKEY kayıt kümesinin imzasının doğrulandığını kontrol edin. DS eşleşmesi tek başına yeterli değildir; sorgulanan verinin imzası ve zincirin diğer bağlantıları da geçerli olmalıdır.
DNS sağlayıcısı yakın zamanda değiştirildiyse eski DNS sağlayıcısına ait DS kaydı üst bölgede kalmış olabilir. Eksik DNSKEY kaydı, imzayı taşıyan RRSIG kaydındaki sürenin dolması veya doğrulayıcı sunucunun saatinin yanlış olması da doğrulamayı bozabilir. DNSSEC Doğrulama aracıyla imzaları ve güven zincirini inceleyerek hatanın hangi bağlantıda oluştuğunu kontrol edebilirsiniz.
DS kaydını yalnız mevcut anahtarlarla uyumsuz olduğu doğrulanırsa ve DNS sağlayıcısının geçiş planına uygun biçimde değiştirin. İmza sorunu varsa imzalama yapılandırmasını düzeltip geçerli imzaları yayımlayın; saat sorunu varsa ilgili sunucunun saatini düzeltin. Yetkiniz olmayan bir DNS hizmetinde bulguları hizmet yöneticisine iletin. Rastgele kayıt silmek geçerli güven zincirini bozabilir veya doğrulamayı devre dışı bırakarak asıl sorunu gizleyebilir.
Yetkili DNS Sunucusu ve Delegasyon Sorunları Nasıl Giderilir?
Yetkili DNS sunucularından kaynaklanan SERVFAIL durumunda delegasyonda listelenen bütün ad sunucularını tek tek kontrol edin. Her sunucunun alan adı için yetkili olması, gerekli DNS bölgesini yüklemesi ve yapılandırmayla uyumlu, kullanılabilir yanıtlar vermesi gerekir.
Alan adı başka bir DNS hizmetine taşındıysa kayıt kuruluşundaki ad sunucusu listesini yeni DNS sağlayıcısındaki bölge yapılandırmasıyla karşılaştırın. Eski DNS sağlayıcısına ait sunucuların listede kalması, yeni sunucuların eksik eklenmesi veya sunucuların birbiriyle çelişen bölge verileri sunması aralıklı SERVFAIL oluşturabilir.
Sunucuların yalnız ağ üzerinden erişilebilir olması yeterli değildir. Alan adı için geçerli ve yetkili bir DNS yanıtı verebilmeleri gerekir. Hangi sunucunun başarısız olduğunu doğruladıktan sonra sorunu onarın. Sunucu devreden çıkarılacaksa yeterli sayıda çalışan yetkili sunucunun kaldığından emin olun ve hem üst bölgedeki delegasyonu hem de alan adının NS kayıtlarını geçiş planına uygun biçimde güncelleyin.
Geçici Arıza ile Kalıcı Yapılandırma Hatasını Ayırma
Recursive resolver hizmetlerinde oluşan geçici arızalar genellikle yalnız belirli bir hizmette görülür veya kısa sürer. Başka recursive resolver hizmetlerinin doğru yanıt vermesi, yetkili DNS sunucularının geçerli yanıt üretmesi ve hatanın daha sonra değişiklik yapılmadan kaybolması, sorunun geçici olduğuna işaret eder.
Hatanın farklı ağlarda ve bağımsız recursive resolver hizmetlerinde tekrarlanması, sorunun ortak DNS altyapısında olabileceğini gösterir; tek başına kalıcı yapılandırma hatasını kanıtlamaz. Bütün yetkili DNS sunucularını etkileyen geçici bir kesinti de aynı sonucu verebilir. Kalıcı yapılandırma hatasını doğrulamak için yanlış sunucuya yönlendiren NS kaydı veya mevcut anahtarlarla kurulamayan DNSSEC güven zinciri gibi somut bir uyumsuzluk bulunmalıdır.
Hata ortadan kalktıktan sonra aynı recursive resolver hizmetinde kısa süre daha görülmesi, başarısızlık sonucunun önbellekte tutulmasından kaynaklanabilir. Bu durum tek başına düzeltmenin başarısız olduğunu göstermez; yetkili DNS sunucusundan alınan güncel yanıtı farklı recursive resolver hizmetlerinin sonuçlarıyla karşılaştırın.







