- Konu sahibi
- #1
DNS (Domain Name System), alan adlarıyla ilgili kayıtları sorgulamayı sağlayan dağıtık adlandırma sistemidir. Web sitesi açarken adın IPv4 veya IPv6 adresini bulmak için kullanılır; e-posta sunucuları, takma adlar ve doğrulama bilgileri de DNS kayıtlarıyla bildirilebilir. Dolayısıyla DNS’i yalnızca “alan adını IP’ye çeviren servis” diye düşünmek eksik kalır.
Örneğin tarayıcı
Bir web isteğinde süreç genellikle şöyle ilerler:
Buradaki adresler örnektir. Gerçek kaydın adı, türü ve değeri hizmet sağlayıcısının verdiği bilgilerle eşleşmelidir. CNAME hedefi IP adresi değil, bir alan adı olur. A kaydının değiştirilmesi site dosyalarını taşımaz; MX kaydının eklenmesi de tek başına çalışan bir posta hesabı oluşturmaz.
Yeni TTL değerini düşürmek, daha önce saklanmış eski yanıtın kalan süresini geriye dönük değiştirmez. Kayıt yok yanıtları da önbelleğe alınabilir. Bu nedenle yeni oluşturulan bir ad, yetkili sunucuda görünmesine rağmen bir çözümleyicide bir süre daha bulunamayabilir. Ayrıca bazı çözümleyiciler, yetkili sunucuya erişilemediğinde kesintiyi azaltmak için süresi geçmiş yanıt sunabilir; yalnız bekleme süresine bakarak kesin teşhis koymayın.
Örneğin tarayıcı
www.example.com için adres ararken A veya AAAA kayıtlarından yararlanır. Bir e-posta sunucusu ise aynı alan adına posta teslim etmek için MX kayıtlarını sorgular. DNS, bu hizmetlerin yerini tutmaz; web sayfasını sunan ya da e-postayı kabul eden sistem ayrı çalışır.DNS sorgusu nasıl yanıtlanır?
Cihazınızın kullandığı recursive resolver (özyinelemeli çözümleyici), sizin adınıza yanıtı bulur. Authoritative nameserver (yetkili ad sunucusu) ise sorumlu olduğu DNS bölgesinin kayıtlarını sunar. İnternet sağlayıcısının çözümleyicisiyle alan adınızın yetkili DNS sunucusu aynı görevi yapmaz.Bir web isteğinde süreç genellikle şöyle ilerler:
- Cihazdaki geçerli önbellek kontrol edilir. Uygun yanıt zaten saklanmışsa yeni sorguya gerek kalmayabilir.
- Çözümleyiciye sorgu gönderilir. Recursive resolver kendi önbelleğinde yanıtı bulabilir; bulamazsa gerekli ad sunucularından bilgi toplar. Önbelleğin durumuna göre kök, üst düzey alan adı ve yetkili sunucu aşamalarının hepsine yeniden gidilmesi gerekmez.
- Yetkili kayıt üzerinden yanıt tamamlanır. Örneğin bir CNAME varsa işaret ettiği adın adres kayıtları da çözümlenir. Sonuç uygun süreyle önbelleğe alınabilir.
- Uygulama hedefe bağlanır. Tarayıcı elde edilen adresle web bağlantısını kurmayı dener. Adresin bulunması, hedefteki sitenin veya HTTPS yapılandırmasının sağlıklı olduğunu tek başına kanıtlamaz.
Temel DNS kayıt türleri
DNS yönetiminde hangi kaydı değiştirdiğiniz önemlidir. Web adresini düzeltirken e-posta kayıtlarını silmek başka bir hizmeti kesintiye uğratabilir.| Kayıt | Görevi | Örnek kullanım |
|---|---|---|
| A | Bir adın IPv4 adresini bildirir. | example.com → 203.0.113.10 |
| AAAA | Bir adın IPv6 adresini bildirir. | example.com için IPv6 adresi |
| CNAME | Bir adı başka bir adın takma adı olarak tanımlar. | www.example.com → example.com |
| MX | Posta teslim edilecek sunucuyu ve önceliğini belirtir. | Öncelik 10; mail.example.com |
| TXT | Metin biçiminde bilgi taşır. | Alan adı doğrulaması veya e-posta politikası |
Buradaki adresler örnektir. Gerçek kaydın adı, türü ve değeri hizmet sağlayıcısının verdiği bilgilerle eşleşmelidir. CNAME hedefi IP adresi değil, bir alan adı olur. A kaydının değiştirilmesi site dosyalarını taşımaz; MX kaydının eklenmesi de tek başına çalışan bir posta hesabı oluşturmaz.
TTL ve önbellek neden farklı sonuçlara yol açar?
TTL, bir DNS kaydının normal koşullarda ne kadar süre yeniden kullanılabileceğini saniye olarak belirtir. Bir çözümleyici eski yanıtı önbelleğinde tutarken diğeri güncel kaydı öğrenmiş olabilir. Bu yüzden değişiklik herkes tarafından aynı anda görülmeyebilir.Yeni TTL değerini düşürmek, daha önce saklanmış eski yanıtın kalan süresini geriye dönük değiştirmez. Kayıt yok yanıtları da önbelleğe alınabilir. Bu nedenle yeni oluşturulan bir ad, yetkili sunucuda görünmesine rağmen bir çözümleyicide bir süre daha bulunamayabilir. Ayrıca bazı çözümleyiciler, yetkili sunucuya erişilemediğinde kesintiyi azaltmak için süresi geçmiş yanıt sunabilir; yalnız bekleme süresine bakarak kesin teşhis koymayın.
DNS sorununu nasıl ayırt edersiniz?
- Tam adı ve kayıt türünü belirleyin. example.com ile www.example.com farklı adlardır; A sorgusunun sonucu MX kaydının durumunu göstermez.
- Yanıtın anlamını okuyun. NXDOMAIN, sorgulanan adın bulunmadığını bildirir. NOERROR/NODATA, adın bulunup istenen türde kayıt olmamasını ifade eder. SERVFAIL, çözümlemenin tamamlanamadığı bir hata yanıtıdır; zaman aşımıysa beklenen sürede yanıt alınamamasıdır. Bunları otomatik olarak “kayıt henüz yayılmadı” diye yorumlamayın.
- Yetkili yanıtla çözümleyiciyi karşılaştırın. Yetkili sunucuda doğru kayıt yoksa DNS bölgesini ve alan adının doğru ad sunucularına delege edilip edilmediğini inceleyin. Yetkili kayıt doğruysa çözümleyici önbelleği veya sorgu yolu ayrıca değerlendirilir.
- Doğru adres döndüğünde web katmanını kontrol edin. Bağlantı, sunucu, güvenlik duvarı, port, TLS ve uygulama sorunlarını DNS kaydını rastgele değiştirerek çözmeye çalışmayın.