DNS Sorun Giderme Neden Karmaşık Görünüyor?
Web siteniz açılmadığında aklınıza gelen ilk şey sunucuda bir sorun olduğudur. Ancak çoğu durumda sorunun kökeni başka yerdedir: DNS ayarlarında. DNS, internetin telefon rehberi gibi çalışır; bu rehberde yanlış bilgi varsa, kullanıcılar doğru adresi yazsalar bile hedefe ulaşamazlar.
Sorun şu ki, DNS hataları her zaman aynı görünmez. Bazen site hiç açılmaz, bazen sadece e-postalar çalışmaz ve bazen site bazı kullanıcılar için açılırken bazıları için açılmaz. Bu makalede, DNS sorun giderme için sistematik bir yöntem öğreneceksiniz: önce her hatanın belirtilerini tanıyacak, sonra doğru sırayla kayıtları kontrol ederek kök nedene ulaşacaksınız.
Yaygın DNS Hata Belirtileri ve Anlamları
Komutlara geçmeden önce, her belirtinin ne tür bir hataya işaret ettiğini bilmelisiniz. Bu zihinsel tabloyu oluşturun:
1. "DNS_PROBE_FINISHED_NXDOMAIN" Hatası
Bu hata, alan adınızın hiç var olmadığı veya onun için hiçbir kayıt bulunmadığı anlamına gelir. Tarayıcı şunu söyler: "Bu adresi hiçbir DNS sunucusunda bulamadım."
- Olası neden: Alan adı süresi dolmuş, DNS kayıtları tamamen silinmiş veya alan adı henüz aktifleştirilmemiş.
- Not: Alan adını yeni satın aldıysanız, DNS yayılımı (propagasyon) henüz tamamlanmamış olabilir.
2. "DNS_PROBE_FINISHED_SERVFAIL" Hatası
Bu hata, alan adınızın DNS sunucusunun yanıt verdiği ancak doğru bilgiyi döndüremediği anlamına gelir. Genellikle sorun ad sunucuları (Name Server) tarafındadır.
- Olası neden: DNS sunucusunda yanlış ayarlar, bozuk SOA kaydı veya alan adının yetkili (authoritative) sunucularında sorun.
- Not: Bu hata genellikle geçicidir; ancak tekrarlanırsa ad sunucusu ayarlarını kontrol etmelisiniz.
3. Site Bazıları İçin Açılıyor, Bazıları İçin Açılmıyor
Bu belirti klasik eksik DNS yayılımının işaretidir. Bir kaydı değiştirdiğinizde, dünya genelindeki DNS sunucuları eski bilgiyi önbellekte tutar. Bazı kullanıcılar yeni bilgiyi almış sunuculara bağlanırken, diğerleri eski sunuculara bağlanır.
- Olası neden: Kayıtlarda yakın zamanda yapılan değişiklik, çok yüksek TTL (Time To Live).
- Not: Değişiklikten önce TTL'yi düşük bir değere (örneğin 300 saniye) ayarladıysanız, yayılım daha hızlı gerçekleşir.
4. Web Sitesi Açılıyor Ama E-posta Çalışmıyor
Bu sorun genellikle MX ve SPF kayıtlarıyla ilgilidir. Siteniz doğru hosting'de olabilir, ancak MX kaydı yanlış e-posta sunucusuna işaret ediyorsa, e-postalar hedefe ulaşmaz.
- Olası neden: Yanlış MX kaydı, eksik SPF kaydı veya mail.example.com için A kaydının ayarlanmamış olması.
- Not: E-postalar genellikle kullanıcıya net bir hata göstermez; sadece e-postalar kaybolur veya spam'e düşer.
DNS Sorun Gidermede Kayıtları Kontrol Etmenin Doğru Sırası
Artık belirtileri tanıdığınıza göre, sistematik olarak kontrol etme zamanı. Kök nedene ulaşmak için aşağıdaki sırayı izleyin:
Adım 1: A ve AAAA Kayıtlarını Kontrol Edin
A kaydı (ve IPv6 için AAAA) en önemli kayıtlardır. Bunlar yanlışsa, başka hiçbir şey doğru çalışmaz. dig komutunu kullanın:
dig example.com A
dig example.com AAAA
Çıktı geçerli bir IP adresi içermelidir. ANSWER SECTION bölümü boşsa, kayıt yok demektir. IP adresini görüyorsanız ancak site açılmıyorsa, sorun DNS'te değil; sorun web sunucusundadır.
Yaygın hata: Birçok kişi site açılmadığında önce DNS'e bakar. Ancak A kaydı doğruysa ve IP adresini gösteriyorsa, web sunucusunu, güvenlik duvarını veya port ayarlarını kontrol etmelisiniz. DNS sadece adresi bulur; yanıt verme sorumluluğu sunucudadır.
Adım 2: NS ve SOA Kayıtlarını Kontrol Edin
NS (Name Server) kayıtları, alan adınıza hangi sunucuların yanıt verdiğini belirler. Bunlar yanlışsa, tüm alan adı çalışmaz. Kontrol edin:
dig example.com NS
dig example.com SOA
NS çıktısında en az iki ad sunucusu görmelisiniz. SOA çıktısında MNAME (birincil sunucu), REFRESH ve RETRY alanlarına dikkat edin. Anormal değerler (3600'den düşük REFRESH gibi) kararsızlığa neden olabilir.
Ayrıca NS kayıtlarının iki yerde tutarlı olduğundan emin olun: alan adı kayıt kuruluşunda (alan adını satın aldığınız yer) ve kendi DNS bölgenizde. Bu ikisi farklıysa, garip sorunlar ortaya çıkar.
Adım 3: MX ve SPF Kayıtlarını Kontrol Edin
Site açıksa ancak e-posta çalışmıyorsa, bu adımı uygulayın:
dig example.com MX
dig example.com TXT
MX kaydı geçerli bir ana bilgisayar adına (örneğin mail.example.com) işaret etmeli ve 0 ile 65535 arasında bir öncelik (Priority) değerine sahip olmalıdır. SPF kaydı TXT bölümünde olmalı ve v=spf1 ile başlamalıdır. Örnek:
v=spf1 mx include:_spf.google.com ~all
SPF yoksa veya yanlışsa, e-postalarınız spam'e düşebilir veya tamamen reddedilebilir.
Adım 4: CNAME ve Özel Kayıtları Kontrol Edin
CNAME kayıtları alt alan adları için kullanılır (örneğin www veya blog). Kontrol edin:
dig www.example.com CNAME
dig blog.example.com CNAME
Yaygın bir hata, ana alan adı için (örneğin example.com) CNAME kaydı ayarlamaktır. Bu işlem RFC standardına göre izin verilmez; ana alan adının A kaydı olmalıdır. Bu hatayı yaptıysanız, CNAME kaydını silin ve yerine A kaydı ayarlayın.
Adım 5: Yerel ve Genel DNS Önbelleğini Kontrol Edin
Bazen sorun sunucuda değil, sizin tarafınızdadır. Sisteminizin DNS önbelleğini temizleyin:
# Linux'ta (systemd-resolved ile)
sudo systemd-resolve --flush-caches
# macOS'ta
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Windows'ta
ipconfig /flushdns
Önbelleği temizledikten sonra tekrar kontrol edin. Sorun çözüldüyse, yerel önbellek bozuktu. Çözülmediyse, 8.8.8.8 (Google) veya 1.1.1.1 (Cloudflare) gibi genel bir DNS kullanın:
dig @8.8.8.8 example.com A
dig @1.1.1.1 example.com A
Genel DNS ile doğru yanıt alıyorsanız ancak ISP'nizin varsayılan DNS'i ile alamıyorsanız, sorun ISP'nizin DNS sunucusundadır.
DNS Sorun Giderme için Yardımcı Araçlar
Komut satırı araçlarına ek olarak, çevrimiçi araçlar da yardımcı olabilir:
- dnschecker.org: DNS yayılımını dünya genelinde kontrol eder.
- whatsmydns.net: Kayıtların farklı noktalardan durumunu görüntüler.
- Google Admin Toolbox: Google'ın DNS kontrolü için kapsamlı aracı.
Bu araçlar, sorunun yalnızca sizin bölgenizde mi yoksa tüm dünyada mı olduğunu gösterir. Her yerde hata görüyorsanız, sorun sizin ayarlarınızdadır; yalnızca bir bölgedeyse, sorun o bölgenin altyapısındadır.
Pratik Senaryo: Kapsamlı Bir Sorun Giderme Örneği
Bir kullanıcının shop.example.com sitesinin açılmadığını bildirdiğini varsayalım. Aşağıdaki adımları sırayla uyguluyoruz:
- A kaydını kontrol edin:
dig shop.example.com A— Çıktı IP adresini gösteriyor. Yani DNS çalışıyor. - Sunucuya bağlantıyı kontrol edin:
curl -I http://shop.example.com— timeout hatası alıyoruz. Sorun sunucuda, DNS'te değil. - Portu kontrol edin:
nc -zv shop.example.com 80— Port kapalı. Güvenlik duvarı veya web sunucusunda sorun var. - Sonuç: DNS doğru; sorun sunucu altyapısında. Bu zaman tasarrufu, sistematik sorun gidermenin değerini gösterir.
Özet: DNS Sorun Giderme Yol Haritası
Her zaman doğru yolu izlemek için bu kontrol listesini aklınızda tutun:
- Önce A ve AAAA kayıtlarını kontrol edin; doğruysa, sorun başka yerdedir.
- NS ve SOA kayıtlarını kontrol edin; yanlışsa, tüm alan adı çalışmaz.
- E-posta sorunları için MX ve SPF'yi kontrol edin.
- Sorunun sizden kaynaklanmadığından emin olmak için yerel önbelleği ve genel DNS'i deneyin.
- Küresel yayılımı kontrol etmek için çevrimiçi araçları kullanın.
Bu yöntemle artık tahmin yürütmekle uğraşmazsınız. Her belirti bir hata kategorisine işaret eder ve her kategori belirli bir kontrol sırasına sahiptir. Sorun giderme sırasında DNS altyapınızın kapsamlı bir revizyona ihtiyacı olduğu sonucuna varırsanız, ServerNet'in DNS yönetim hizmetlerinden yararlanarak ayarların profesyonelce gözden geçirilmesini sağlayabilirsiniz. Ancak çoğu durumda, bu basit rehber sorunu bulup çözmek için yeterlidir.