Alan Adı Sistemi (DNS) Nasıl Çalışır?

Alan Adı Sistemi (DNS) Nasıl Çalışır?

DNS, Nameserver, A Kayıtları ve IP Yönlendirmesini Anlama. Tarayıcınızın alan adlarını sunucu konumlarına nasıl dönüştürdüğünü öğrenin.

Technology TLDix Editör Ekibi Yayınlandı: Güncellendi: 6 dk okuma

Bir web sitesini her açtığınızda, e-posta gönderdiğinizde ya da bir API’yi çağırdığınızda cihazınız önce basit bir soruyu yanıtlamak zorundadır: Bu ada hangi IP adresi karşılık geliyor? Alan Adı Sistemi (DNS), bu soruyu yanıtlayan küresel ve dağıtık rehberdir. Günlük olarak kullanılan en eski internet altyapılarından biridir ve genellikle görünmeden çalıştığı için pek çok site sahibi onun nasıl işlediğini ancak bir şeyler bozulduğunda öğrenir. Bu rehberde bir DNS sorgusunun baştan sona yolculuğunu sade bir dille anlatıyor, önbelleğin neden bu kadar önemli olduğunu açıklıyor ve tüm süreci kendi gözünüzle görebileceğiniz komutları gösteriyoruz.

DNS aslında ne yapar?

Bilgisayarlar trafiği 93.184.215.14 (IPv4) veya 2606:2800:21f:cb07:6820:80da:af6b:8b2c (IPv6) gibi sayısal adreslerle yönlendirir. İnsanlar ise isimleri tercih eder. DNS bu ikisi arasında eşleme yapar; ancak basit bir arama tablosundan çok daha fazlasıdır. Hiyerarşik ve yetki devrine dayalı bir veritabanıdır: Hiçbir sunucu tüm yanıtları tek başına bilmez. Sorumluluk bölgelere (zone) ayrılır ve her bölgeyi onu kontrol eden taraf yönetir.

⚡ TLDix Araçlar Radarı

Alan Adınızı ve Web Sitenizi Anında İnceleyin

TLDix'in WHOIS Domain, Hosting Tespiti ve Domain Oracle (AI) servisleri ile herhangi bir web sitesinin arka plan altyapısını saniyeler içinde analiz edin.

🔍 Domain WHOIS 🖥️ Hosting Tespiti 🔮 Domain Oracle ✨ Ücretsiz Üye Ol →

Bu tasarımın üç pratik sonucu vardır:

  • Ölçeklenebilirlik: Kök sunucuların milyarlarca ana makine adını bilmesi gerekmez; yalnızca her üst düzey alan adının nerede bulunacağını bilirler.
  • Özerklik: Bir alan adı size devredildiğinde, içinde hangi kayıtların olacağına kimseye sormadan siz karar verirsiniz.
  • Dayanıklılık: Her seviye birden fazla sunucu tarafından, çoğu zaman anycast yönlendirmesiyle farklı kıtalara yayılmış biçimde hizmet verir.

Bir bölgenin içindeki A, AAAA, CNAME ve MX gibi kayıtları DNS kayıtlarını anlama rehberimizde ayrıntılı olarak ele aldık. Burada ise bir çözümleyicinin bu kayıtları en başta nasıl bulduğuna odaklanıyoruz.

DNS hiyerarşisi: kök, TLD ve yetkili sunucular

Bir alan adını sağdan sola okuduğunuzda DNS ağacını yukarıdan aşağıya okumuş olursunuz. www.example.com. adı aslında kökü temsil eden görünmez bir noktayla biter.

SeviyeÖrnekKim işletir?Ne bilir?
Kök.13 adlandırılmış kök sunucu kimliğini (a’dan m’ye) işleten 12 kuruluş; her birinin çok sayıda anycast kopyası vardırHer TLD için yetkili sunucuların hangileri olduğu
Üst düzey alan adı (TLD)com., de., com.tr.Kayıt kuruluşu (registry); örneğin .com için Verisign, .de için DENICKayıtlı her alan adı için yetkili ad sunucuları
İkinci düzey alan adıexample.com.Alan adı sahibi; genellikle bir DNS sağlayıcısı ya da hosting firması aracılığıylaGerçek kayıtlar: adresler, posta sunucuları, metin kayıtları
Alt alan adıwww.example.com.Ayrıca devredilmediyse üst bölgeyle aynı tarafO ana makineye ait kayıtlar

Seviyeler arasındaki bağlantıya yetki devri (delegation) denir. Bir alan adını kaydedip kayıt firmanızda ad sunucularını belirlediğinizde, kayıt firması bu NS kayıtlarını registry’ye iletir ve registry bunları TLD bölgesinde yayımlar. Ad sunucuları alan adının kendi içindeyse (örneğin ns1.example.com), tavuk-yumurta sorununu önlemek için registry bu sunucuların IP adreslerini de glue kaydı olarak yayımlar.

Adım adım: Adres çubuğuna bir URL yazdığınızda neler olur?

Yeni bir ağda www.example.com adresini ilk kez ziyaret ettiğinizi düşünelim. Sorgu kabaca şu şekilde ilerler:

  1. Yerel kontroller. Tarayıcı önce kendi önbelleğine bakar, ardından işletim sistemine sorar. İşletim sistemi de kendi önbelleğini ve hosts dosyasını kontrol eder.
  2. Stub çözümleyiciden özyinelemeli çözümleyiciye. Önbellekte bir şey yoksa işletim sistemindeki stub çözümleyici, tanımlı özyinelemeli çözümleyiciye sorgu gönderir. Bu genellikle internet servis sağlayıcınızın sunucusu, modeminiz ya da 1.1.1.1, 8.8.8.8 veya 9.9.9.9 gibi herkese açık bir hizmettir.
  3. Çözümleyici kök sunucuya sorar. Çözümleyicide kök sunucu adreslerinin bir listesi (root hints) hazır bulunur. Bunlardan birine www.example.com adını sorar. Kök yanıtı bilmez ama bir yönlendirme döndürür: “.com için ad sunucuları bunlar.”
  4. Çözümleyici TLD sunucularına sorar. Bir .com sunucusu yeni bir yönlendirmeyle yanıt verir: example.com için yetkili ad sunucuları ve gerekiyorsa glue kayıtları.
  5. Çözümleyici yetkili sunucuya sorar. Bölgeyi barındıran bu sunucu gerçek yanıtı, örneğin IPv4 adresi içeren bir A kaydını döndürür ve AA (yetkili yanıt) bayrağını işaretler.
  6. Yanıt iletilir ve önbelleğe alınır. Çözümleyici yanıtı cihazınıza iletir; hem bu yanıtı hem de topladığı yönlendirmeleri, her kaydın TTL süresi boyunca saklar.

Çözümleyici, cihazınızın özyinelemeli sorgusunu yanıtlarken hiyerarşiye doğru yinelemeli sorgular yapar. Dizüstü bilgisayarınız bir kez sorar ve bekler; yolu yürüyen çözümleyicidir. Uygulamada 3. ve 4. adımlara nadiren gerek kalır, çünkü çözümleyicide kök ve .com yönlendirmeleri zaten önbellekte bulunur.

dig +trace ile süreci izlemek

BIND araçlarının bir parçası olan ve Linux ile macOS’ta bulunan dig, bu yürüyüşü kendisi yapıp her yönlendirmeyi ekrana yazdırabilir. Aşağıdaki çıktı kısaltılmıştır:

$ dig +trace www.example.com A

.                 518400  IN  NS  a.root-servers.net.
.                 518400  IN  NS  b.root-servers.net.
;; Received 239 bytes from 127.0.0.53#53

com.              172800  IN  NS  a.gtld-servers.net.
com.              172800  IN  NS  b.gtld-servers.net.
;; Received 1170 bytes from 198.41.0.4#53(a.root-servers.net)

example.com.      172800  IN  NS  a.iana-servers.net.
example.com.      172800  IN  NS  b.iana-servers.net.
;; Received 361 bytes from 192.5.6.30#53(a.gtld-servers.net)

www.example.com.  300     IN  A   93.184.215.14
;; Received 60 bytes from 199.43.135.53#53(a.iana-servers.net)

Her blok bir adımı gösterir: kök, TLD ve yetkili sunucu. Addan sonraki sayı, saniye cinsinden TTL değeridir.

Önbellek ve TTL: DNS neden bu kadar hızlı?

Her sorgu ağacın tamamını dolaşsaydı kök ve TLD sunucuları altında ezilir, internette gezinmek de ağırlaşırdı. Bunu önbellek engeller. Her kayıt, bölge sahibinin belirlediği bir TTL (Time To Live, yaşam süresi) değeri taşır ve çözümleyicilere yanıtı yeniden sormadan önce kaç saniye kullanabileceklerini söyler.

  • Uzun TTL’ler (saatler ya da bir gün) sorgu yükünü azaltır ve yetkili sunuculardaki kısa kesintilere karşı sitenizi daha dayanıklı kılar; ancak değişikliklerin herkese ulaşması uzun sürer.
  • Kısa TTL’ler (60 ile 300 saniye) sunucu değişikliklerini hızla yapmanızı sağlar, karşılığında daha fazla sorgu oluşur.
  • Negatif önbellek: “Bu ad yok” (NXDOMAIN) yanıtı da, bölgenin SOA kaydından türetilen bir süre boyunca önbellekte tutulur. Biri bir adı sorguladıktan hemen sonra kaydı oluşturursanız, bir süre çalışmıyormuş gibi görünebilir.

Bir taşıma öncesinde edinilecek iyi bir alışkanlık: Değiştireceğiniz kayıtların TTL değerini bir iki gün önceden düşürün, geçişi yapın ve trafik yeni sunucuya geçtikten sonra TTL’yi yeniden yükseltin.

“DNS yayılması” gerçekte ne demek?

Bir kaydı düzenlediğinizde internet üzerinde hiçbir şey aktif olarak dağıtılmaz. “Yayılma” dediğimiz şey, binlerce çözümleyicideki önbellek kopyalarının süresinin dolması için geçen zamandır. Burada iki farklı sayaç devreye girer:

  • Bölgenizin içindeki kayıtlarda yapılan değişiklikler, o kayıtların TTL değerlerine bağlıdır.
  • Ad sunucusu değişiklikleri ise TLD bölgesinde yayımlanan yetki devrini ilgilendirir. Bu NS kayıtlarının TTL değerini registry belirler ve bazı TLD’lerde 48 saat ya da daha uzundur. Eski yetkilendirmeyi önbelleğe almış çözümleyiciler, süresi dolana kadar onu kullanmaya devam eder.

Ad sunucusu geçişi sırasında eski DNS sağlayıcısının aynı kayıtları yayınlamaya devam etmesini sağlarsanız, geçiş ziyaretçileriniz için tamamen fark edilmez olur.

Sık karşılaşılan DNS sorunları ve teşhisi

BelirtiOlası nedenNasıl kontrol edilir?
Sahibi olduğunuz alan adı için NXDOMAINAlan adının süresi dolmuş, askıya alınmış ya da registry’deki yetkilendirme kaldırılmışWHOIS/RDAP sorgusunda durum ve bitiş tarihini kontrol edin
Çözümleyicilerden SERVFAILYetkili sunuculara ulaşılamıyor, hatalı yetkilendirme ya da bozuk DNSSEC zinciridig @ns1.yourdns.net example.com ve dig +trace
Bazı kullanıcılar eski siteyi görüyorÖnbellekteki kayıtların TTL süresi henüz dolmamışBirkaç açık çözümleyiciyi sorgulayıp sonuçları karşılaştırın
Web çalışıyor ama e-posta gelmiyorSağlayıcı değişikliğinden sonra MX veya SPF kayıtları eksikdig example.com MX

Hatalı yetkilendirme (lame delegation), TLD’nin gerçekte bölgenize hizmet vermeyen ad sunucularını göstermesidir. Çoğu zaman NS kayıtları güncellenmeden bir hosting paketinin iptal edilmesiyle ortaya çıkar. Bir alan adının hangi ad sunucularına devredildiğini, kayıt firmasını ve bitiş tarihini TLDix WHOIS sorgulama aracıyla hızlıca görebilirsiniz.

Özyinelemeli çözümleyiciler, gizlilik ve güvenlik

Klasik DNS, UDP 53 numaralı port üzerinden düz metin olarak iletilir; bu yüzden ağ yolu üzerindeki herkes sorguları görebilir ve hatta değiştirebilir. Bu sorunlara yönelik birkaç iyileştirme vardır:

  • DNS over TLS (DoT) ve DNS over HTTPS (DoH), cihazınız ile özyinelemeli çözümleyici arasındaki bağlantıyı şifreleyerek ilk adımda gizliliği korur.
  • QNAME minimizasyonu, çözümleyicinin her sunucuya yalnızca ihtiyaç duyduğu kısmı göndermesini sağlar; böylece kök sunucu, aradığınız tam ana makine adını öğrenmez.
  • DNSSEC, yanıtlara kriptografik imzalar ekleyerek çözümleyicilerin yanıtın gerçekten bölge sahibinden geldiğini ve değiştirilmediğini doğrulamasına olanak tanır. Şifreleme sorguları gizler, DNSSEC ise yanıtın gerçekliğini kanıtlar. Farklı sorunları çözerler ve birlikte iyi çalışırlar.

Alan adınızın DNS sağlığını korumak

DNS kesintilerinin çoğu sıra dışı saldırılardan değil, sıradan gözden kaçmalardan kaynaklanır: süresi dolmuş bir alan adı, unutulmuş bir DNS barındırma hesabı ya da kimsenin not almadığı bir ad sunucusu değişikliği. Basit bir rutin işinizi kolaylaştırır:

  1. En az iki yetkili ad sunucusu kullanın; mümkünse farklı ağlarda olsunlar.
  2. Bölgenizi hangi sağlayıcının barındırdığını ve kimlerin erişimi olduğunu kayıt altına alın.
  3. Alan adı kaydını ve DNS barındırma hesabını yenileyin; mümkünse otomatik yenilemeyi açın.
  4. Her sağlayıcı değişikliğinden sonra yetkilendirmeyi dig NS ve dig +trace ile kontrol edin.
  5. Bitiş tarihlerini tek bir yerden takip edin. TLDix alan adı panelinde alan adlarınızı, SSL sertifikalarınızı ve hosting yenilemelerinizi bir arada izleyebilir, süresi dolmadan önce hatırlatma alabilirsiniz.

Kökten yetkili sunucuya uzanan zinciri anladığınızda DNS gizemlerinin çoğu basitleşir: Beklenmeyen yanıtı hangi halkanın verdiğini bulun, TTL değerine bakın ve veriyi kaynağında düzeltin.

Sık sorulan sorular

Bir DNS sorgusu normalde ne kadar sürer?
Yanıt özyinelemeli çözümleyicinin önbelleğinde varsa sorgu genellikle birkaç milisaniyede tamamlanır. Kök, TLD ve yetkili sunuculara tek tek gitmesi gereken, hiç önbelleğe alınmamış bir sorgu ise ağ mesafesine ve sunucuların yanıt süresine bağlı olarak onlarca ila birkaç yüz milisaniye sürebilir. Tarayıcılar ve işletim sistemleri de kısa ömürlü önbellek tuttuğu için tekrar ziyaretler çoğu zaman anında gerçekleşir.
Henüz görünmeyen DNS değişikliklerini hızlandırabilir miyim?
Diğer çözümleyicileri önbelleklerini silmeye zorlayamazsınız, ancak kendi önbelleğinizi temizleyebilirsiniz. Tarayıcının DNS önbelleğini temizleyin, işletim sistemi önbelleğini boşaltın ve doğrudan açık bir çözümleyiciyle deneyin. Gelecekteki değişiklikler için kaydın TTL değerini bir iki gün önceden düşürün; böylece geçişi yaptığınızda önbellekler hızla yenilenir. Ardından değeri yeniden yükseltin.
DNS çözümleyicimi herkese açık bir hizmetle değiştirmek güvenli mi?
Saygın açık çözümleyiciler genellikle güvenlidir ve çoğu DNSSEC doğrulamasını, DNS over HTTPS veya TLS şifrelemesini destekler. Bunun bedeli, çözümleyiciyi işleten kuruluşun sorguladığınız adları görebilmesidir; bu yüzden gizlilik politikasını okumakta fayda var. Bazı şirket ve servis sağlayıcı ağları iç adlar için kendi çözümleyicilerini kullanır, bu durumda değişiklik iç hizmetlere erişimi bozabilir.
Kayıt firması ile DNS sağlayıcısı arasındaki fark nedir?
Kayıt firması, alan adını kaydettiğiniz ve yenilediğiniz, ayrıca hangi ad sunucularını kullanacağını belirlediğiniz yerdir. DNS sağlayıcısı ise bu yetkili ad sunucularını çalıştırır ve bölge kayıtlarınızı barındırır. İkisi aynı şirket olabileceği gibi farklı şirketler de olabilir. Alan adı kaydı ya da DNS barındırma hizmetinden herhangi birinin süresi dolarsa çözümleme başarısız olabilir.
Alan adım neden bir ağda açılıp başka bir ağda açılmıyor?
Farklı ağlar farklı özyinelemeli çözümleyiciler kullanır ve her biri yanıtları bağımsız olarak önbelleğe alır. Biri eski bir kaydı TTL süresi içinde hâlâ tutuyor, negatif bir NXDOMAIN yanıtını saklıyor ya da diğerinin yapmadığı bir DNSSEC doğrulamasında başarısız oluyor olabilir. Birkaç çözümleyiciden aldığınız yanıtları dig ile karşılaştırmak ve dig +trace çalıştırmak, farkın hangi adımda olduğunu genellikle ortaya çıkarır.
Sıkça Sorulan Sorular

Merak Edilenler ve Yanıtları

TLDix.com, domain sorgulama ve AI servisleri hakkında en çok sorulan sorular.