İnternet

DNS nedir? Ne işe yarar ve nasıl çalışır?

ChatGPT ile özetlePerplexity ile özetleGrok ile özetle
DNS nedir? Ne işe yarar ve nasıl çalışır?
İçindekiler
  1. Kısaca
  2. DNS nedir?
  3. DNS ne işe yarar?
  4. DNS nasıl çalışır?
  5. DNS kayıtları nelerdir?
  6. DNS önbelleği ve TTL nedir?
  7. DNS güvenli mi?
  8. DNS ile ilgili sık karıştırılan noktalar neler?
  9. DNS sorunlarında neye bakılır?
  10. Sık Sorulan Sorular

DNS (Domain Name System, Türkçesiyle Alan Adı Sistemi), meraklikafa.com gibi insanların okuyabildiği alan adlarını bilgisayarların kullandığı sayısal IP adreslerine çeviren sistemdir. DNS sayesinde bir siteye girmek için rakam dizisi ezberlemek gerekmez. Tarayıcıya adı yazarsınız, DNS de o adın hangi sunucuda durduğunu bulur.

Kısaca

  • DNS, alan adlarını (örneğin www.example.com) IP adreslerine (örneğin 192.0.2.44) çeviren, dünya geneline dağıtılmış bir adlandırma sistemidir.
  • Bir DNS sorgusu sırasıyla özyinelemeli çözümleyiciye, kök ad sunucusuna, TLD ad sunucusuna ve alan adının yetkili ad sunucusuna gider.
  • IANA'ya göre DNS kök bölgesi A'dan M'ye 13 adlandırılmış yetkili sunucuyla tanımlıdır, ancak bu adların arkasında birçok ülkeye yayılmış yüzlerce sunucu çalışır.
  • DNS yanıtları, kaydın TTL (yaşam süresi) değeri dolana kadar önbellekte tutulur. Bu yüzden DNS değişiklikleri her yerde aynı anda görünmez.
  • Geleneksel DNS sorguları şifrelenmez. DNS over TLS ve DNS over HTTPS sorguyu şifreler, DNSSEC ise yanıtın sahte olmadığını doğrular.

DNS nedir?

DNS, internete bağlı kaynakların adlarını IP adresleriyle eşleştiren, hiyerarşik ve dağıtık bir veritabanı sistemidir. İnternetteki her cihazın bir IP adresi vardır ve cihazlar birbirini bu adresle bulur. İnsanlar ise adları hatırlar. DNS bu iki dünya arasında çevirmenlik yapar. Amazon Web Services'in DNS açıklaması da sistemi aynı şekilde, okunabilir adları makinelerin okuduğu adreslere çeviren yapı olarak tanımlar.

DNS'in bugünkü temelini Kasım 1987 tarihli RFC 1034 belgesi oluşturur. Belgeye göre DNS'ten önce ad-adres eşleşmeleri HOSTS.TXT adlı tek bir dosyada tutuluyor ve bütün bilgisayarlar bu dosyayı FTP ile indiriyordu. Ağ büyüdükçe tek dosya yöntemi sürdürülemez hale geldi. Kurumlar da kendi adlarını kendileri yönetmek istiyordu.

DNS çoğu zaman alan adıyla karıştırılır. Alan adı sitenin adıdır, DNS ise o adı sunucuya bağlayan sistemdir. Alan adının ne olduğunu ve nasıl satın alındığını domain nedir ve nasıl alınır yazımızda anlattık.

DNS ne işe yarar?

DNS, bir adı yazdığınızda bağlantının doğru sunucuya gitmesini sağlar. Web sitelerinin açılması, e-postaların doğru posta sunucusuna ulaşması ve uygulamaların kendi servislerini bulması DNS sorgularına dayanır. Google Public DNS tanıtım belgesine göre ortalama bir internet kullanıcısı her gün yüzlerce DNS sorgusu yapar ve bu durum gezinme deneyimini yavaşlatır.

  • Adres çevirisi: Alan adını IPv4 veya IPv6 adresine dönüştürür.
  • E-posta yönlendirme: Bir alan adına gelen e-postanın hangi posta sunucusuna teslim edileceğini bildirir.
  • Esneklik: Site başka bir sunucuya taşındığında ad aynı kalır, yalnızca DNS kaydındaki adres güncellenir.
  • Doğrulama: Alan adının sahibine ait metin kayıtları, e-posta kimlik doğrulaması gibi işlemlerde kullanılır.

Aynı Google belgesi, web sayfalarının birden fazla alan adından kaynak yüklediğini, bu nedenle tek bir sayfayı görüntülemek için birden çok DNS sorgusu gerektiğini belirtir. DNS yanıtlarının gecikmesi bu yüzden sayfanın açılış süresine yansır.

DNS nasıl çalışır?

DNS, bir alan adının IP adresini bulmak için sorguyu genelden özele doğru bir dizi sunucuya sorar. Sormayı sizin adınıza özyinelemeli çözümleyici (recursive resolver) yapar. Yanıt ise o alan adının kayıtlarını tutan yetkili ad sunucusundan (authoritative name server) gelir. Amazon Web Services'in anlatımına göre süreç şu adımlarla işler:

  1. Tarayıcıya www.example.com gibi bir adres yazarsınız.
  2. İstek, genellikle internet servis sağlayıcınızın işlettiği DNS çözümleyicisine gider.
  3. Çözümleyici isteği bir kök ad sunucusuna iletir.
  4. Çözümleyici, uzantıya (.com, .net, .org gibi) bakan TLD ad sunucusuna sorar ve alan adının yetkili ad sunucusunu öğrenir.
  5. Çözümleyici isteği yetkili ad sunucusuna gönderir.
  6. Yetkili ad sunucusu, alan adının kayıtlarından IP adresini bulup çözümleyiciye bildirir.
  7. Çözümleyici IP adresini tarayıcıya verir ve yanıtı bir süre önbelleğinde saklar.
  8. Tarayıcı o IP adresindeki web sunucusuna bağlanır ve sayfa yüklenir.

Zincirin en üstündeki kök sunucular için IANA'nın kök sunucular sayfası A'dan M'ye 13 adlandırılmış yetkili sunucu listeler. Bu sunucuları Verisign, ICANN, RIPE NCC, NASA ve Netnod gibi kuruluşlar işletir. IANA, kök bölgeye hizmet veren yapının birçok ülkeye dağılmış yüzlerce sunucudan oluşan bir ağ olduğunu da belirtir.

DNS kayıtları nelerdir?

DNS kayıtları, bir alan adının yetkili ad sunucusunda tutulan ve o adla ilgili hangi sorunun nasıl yanıtlanacağını söyleyen satırlardır. Her kaydın bir türü, bir değeri ve bir TTL süresi bulunur. En sık kullanılan DNS kayıt türleri, IBM'in DNS kayıtları rehberine göre şöyledir:

Kayıt türüNe yapar?
AAlan adını bir IPv4 adresine bağlar.
AAAAAlan adını bir IPv6 adresine bağlar.
CNAMEBir takma adı (örneğin bir alt alan adını) asıl alan adına yönlendirir.
MXAlan adına gelen e-postaların hangi posta sunucusuna gideceğini belirtir.
TXTMetin bilgisi saklar. SPF, DKIM ve DMARC gibi e-posta doğrulama kayıtları burada tutulur.
NSAlan adının yetkili ad sunucusunun hangisi olduğunu gösterir.
SOAAlan adıyla ilgili yönetimsel bilgileri (yönetici iletişimi, yenileme süreleri) tutar.
PTRA kaydının tersini yapar ve IP adresini alan adına bağlar.
SRVBelirli bir hizmet için sunucu adını ve port numarasını bildirir.

Bir site sahibi alan adını barındırma hizmetine bağlarken çoğunlukla A, CNAME ve NS kayıtlarını, kurumsal e-posta kurarken MX ve TXT kayıtlarını düzenler.

DNS önbelleği ve TTL nedir?

DNS önbelleği, daha önce alınmış DNS yanıtlarının geçici olarak saklandığı bellektir. TTL (time to live, yaşam süresi) ise bir kaydın önbellekte ne kadar tutulabileceğini belirten süredir. Önbellek sayesinde çözümleyici aynı ad için kök, TLD ve yetkili sunuculara yeniden sormaz ve yanıtı hemen verir.

RFC 1034, TTL'yi bir kaydın atılmadan önce ne kadar süre önbellekte kalabileceği olarak tanımlar. Belge, tipik bir sunucu için günler mertebesinde süreler önerir. Bu, 1987 tarihli belgenin önerisidir. Amazon Web Services'in anlatımına göre çözümleyicinin yanıtı ne kadar süre saklayacağını kaydı yöneten kişi belirler. RFC 1034, planlı bir değişiklikten önce TTL'nin geçici olarak düşürülmesini de tavsiye eder. Bir DNS kaydı değiştirildiğinde eski adresin bir süre daha görünmesinin nedeni budur. Önbellekler, TTL dolana kadar eski yanıtı kullanmayı sürdürür.

Önbellek yalnızca çözümleyicide tutulmaz, cihazınızda da bulunur. Microsoft'un DNS istemcisi sorun giderme belgesine göre bir DNS sunucusundan gelen olumsuz yanıt da Windows istemcisinde önbelleğe alınabilir. Belge, ipconfig /displaydns çıktısında sorunlu adın aranmasını önerir. Microsoft'a göre Windows'ta DNS önbelleğini temizlemek için ipconfig /flushdns komutu çalıştırılır.

DNS güvenli mi?

Geleneksel DNS, şifreleme ve kimlik doğrulama düşünülmeden tasarlandığı için tek başına güvenli sayılmaz. Google'ın güvenli DNS aktarımları belgesine göre klasik DNS sorguları ve yanıtları UDP veya TCP üzerinden şifrelenmeden gönderilir. Bu durum sorguları gözetlemeye, sahte yanıtlara ve DNS tabanlı filtrelemeye açık bırakır.

Bu açıkları kapatmak için iki ayrı koruma türü kullanılır:

  • Yanıt doğrulama: DNSSEC (DNS Güvenlik Uzantıları) bu işi yapar. ICANN'in DNSSEC açıklamasına göre alan adı sahibi DNS verisini açık anahtarlı kriptografiyle imzalar, çözümleyiciler de bu imzayı doğrular. DNSSEC, saldırganın sahte yanıt yerleştirdiği önbellek zehirleme (cache poisoning) saldırılarına karşı korur. Verinin kaynağını ve bütünlüğünü doğrular, sorguyu gizlemez.
  • Sorgu şifreleme: DNS over TLS (DoT) ve DNS over HTTPS (DoH) bu işi yapar. DoT, cihaz ile çözümleyici arasındaki DNS trafiğini TLS ile şifreler. Google Public DNS bu hizmeti 853 numaralı porttan verir. DoH ise DNS sorgularını HTTPS içinde, 443 numaralı porttan taşır. İki yöntemde de sorgu aradaki ağlarda düz metin olarak okunamaz.

İki koruma türü birbirinin alternatifi değildir. DNSSEC "bu yanıt gerçekten alan adının sahibinden mi geldi" sorusunu yanıtlar. DoT ve DoH ise "sorgumu yolda biri okuyabilir veya değiştirebilir mi" sorusunu çözer. Google'ın belgesine göre DoH ve DoT, istemci ile çözümleyici arasındaki gizliliği ve güvenliği artırır ve Google Public DNS'in DNSSEC doğrulamasını tamamlar.

DNS ile ilgili sık karıştırılan noktalar neler?

DNS anlatılırken karıştırılan üç konu kök sunucu sayısı, VPN ve DNSSEC'tir.

  • "İnternette yalnızca 13 kök sunucu var." 13 sayısı, kök bölgede tanımlı adlandırılmış yetkili sunucuları ifade eder. IANA'ya göre bu adların arkasında dünya geneline yayılmış yüzlerce sunucu bulunur.
  • "DNS değiştirmek VPN kullanmakla aynı şeydir." DNS çözümleyicisi yalnızca adın IP karşılığını söyler. Sayfanın içeriği, tarayıcı ile web sunucusu arasında ayrıca taşınır. Trafiğin tamamını bir tünelden geçiren teknoloji farklıdır. Ayrıntısı VPN nedir yazımızda yer alıyor. Google'ın güvenli aktarımlar belgesi, şifrelenmemiş DNS'in DNS tabanlı internet filtrelemesine açık olduğunu da belirtir.
  • "DNSSEC sorgularımı şifreler." DNSSEC veriyi imzalar ve doğrular. Sorgunun şifrelenmesi DoT veya DoH ile sağlanır.

DNS sorunlarında neye bakılır?

İnternet bağlantısı çalıştığı halde siteler adlarıyla açılmıyorsa sorun çoğunlukla ad çözümleme aşamasındadır. Windows'ta görülen "DNS sunucusu yanıt vermiyor" uyarısı da çoğunlukla cihazın kullandığı çözümleyiciden yanıt alamadığına işaret eder. Microsoft'un DNS istemcisi sorun giderme belgesindeki komutlarla Windows'ta şu sıra izlenebilir:

  1. Sorunun cihazda mı çözümleyicide mi olduğunu ayırt edin. Komut isteminde nslookup example.com komutunu çalıştırın. Microsoft'a göre nslookup, cihazın DNS önbelleğini kullanmaz ve adı doğrudan yapılandırılmış DNS sunucusuna sorar. Komut yanıt alıyor ama aynı ad tarayıcıda açılmıyorsa sorun büyük olasılıkla cihazdaki önbellektedir. Komut yanıt alamıyorsa sorun cihazın kullandığı çözümleyicide veya ona giden bağlantıdadır.
  2. Önbelleği temizleyin. ipconfig /flushdns komutunu çalıştırın. Microsoft'un belgesi, istemcide önbelleğe alınmış olumsuz yanıtları gidermek için bu komutu verir.
  3. Başka bir çözümleyici deneyin. Çözümleyiciyi internet servis sağlayıcınız atar, ancak isterseniz değiştirebilirsiniz. Google'a göre Google Public DNS, 8.8.8.8 ve 8.8.4.4 adreslerinden ücretsiz hizmet veren bir özyinelemeli çözümleyicidir. Windows, Android ve iOS'ta ayarın nerede olduğunu ve diğer adresleri DNS nasıl değiştirilir ve güncel DNS adresleri rehberimizde bulabilirsiniz.
  4. Ağ yapılandırmasını kontrol edin. ipconfig /all komutunu çalıştırın. Microsoft'un belgesi, çıktıda geçerli bir IP adresi, alt ağ maskesi ve varsayılan ağ geçidi bulunduğunun ve listelenen DNS sunucusu adreslerinin doğru olduğunun kontrol edilmesini önerir.

Site sahipleri için pratik kural TTL ile ilgilidir. Sunucu taşıma gibi planlı bir değişiklikten önce ilgili kaydın TTL değerini düşürmek, eski adresin önbelleklerde kalma süresini kısaltır. RFC 1034 de bu yöntemi önerir.

Sık Sorulan Sorular

DNS adresi nedir?

DNS adresi, cihazınızın alan adlarını çözmek için sorgu gönderdiği DNS çözümleyicisinin IP adresidir. Bu adresi çoğunlukla internet servis sağlayıcınız atar. İsterseniz ağ ayarlarından farklı bir çözümleyici girebilirsiniz. Örneğin Google Public DNS'in IPv4 adresleri 8.8.8.8 ve 8.8.4.4'tür.

DNS yayılımı (propagation) ne kadar sürer?

DNS yayılımının sabit bir süresi yoktur, süre değiştirilen kaydın TTL değerine bağlıdır. Çözümleyiciler eski yanıtı TTL dolana kadar önbellekte tutar, bu yüzden değişiklik her ağda aynı anda görünmez. Planlı bir değişiklikten önce kaydın TTL değeri düşürülürse eski adresin önbelleklerde kalma süresi kısalır.

DNS değiştirmek interneti hızlandırır mı?

DNS değiştirmek yalnızca ad çözümleme süresini etkileyebilir. Google'ın belgelerine göre bir sayfa birden fazla alan adından kaynak yüklediği için birden çok DNS sorgusu gerekir ve yanıtların gecikmesi gezinmeyi yavaşlatır. Daha hızlı yanıt veren bir çözümleyici sayfaların açılmaya başlama süresini kısaltabilir, ancak etkisi ağınıza göre değişir.

İnternet sağlayıcım DNS sorgularımı görebilir mi?

Klasik DNS kullanıyorsanız sorgularınız yolda okunabilir. Google'ın güvenli aktarım belgesine göre geleneksel DNS sorguları şifrelenmeden gönderilir ve gözetlemeye açıktır. DNS over TLS veya DNS over HTTPS kullanıldığında sorgu, cihaz ile çözümleyici arasında şifrelenir. Sorguyu yanıtlayan çözümleyicinin işletmecisi ise isteği her durumda görür.

DNS ile alan adı arasındaki fark nedir?

Alan adı bir sitenin example.com gibi okunabilir adıdır, DNS ise bu adı IP adresine çeviren sistemdir. Alan adı kaydedilir ve tek bir sahibi olur. DNS tarafında ise o alan adının yetkili ad sunucusunda tutulan A, MX ve NS gibi kayıtlar, adın hangi sunucuya ve hangi posta sunucusuna bağlanacağını belirler.

Kaynaklar

  1. What is DNS? – Introduction to DNS – AWS (aws.amazon.com)
  2. RFC 1034: Domain names - concepts and facilities (rfc-editor.org)
  3. Root Servers – IANA (iana.org)
  4. Introduction to Google Public DNS (developers.google.com)
  5. Secure transports for DNS – Google Public DNS (developers.google.com)
  6. DNSSEC – What Is It and Why Is It Important? – ICANN (icann.org)
  7. What Are DNS Records? – IBM (ibm.com)
  8. Troubleshooting DNS clients – Microsoft Learn (learn.microsoft.com)

Bu yazı yapay zekâ desteğiyle, yukarıda listelenen kaynaklardan derlenmiştir. Bir hata fark ederseniz bize bildirin.