DNS (Domain Name System) Hakkında Detaylı Rehber

1. DNS Nedir?

DNS (Domain Name System), internet üzerindeki alan adlarını (example.com gibi) IP adreslerine (192.168.1.1 gibi) çeviren sistemdir. Tarayıcınıza bir web adresi yazdığınızda, DNS bu adresin hangi IP’ye karşılık geldiğini bularak bağlantıyı sağlar. DNS, hiyerarşik bir yapıya sahiptir ve dünya çapında birçok sunucu tarafından yönetilir.

image-22-1024x365 DNS (Domain Name System) Hakkında Detaylı Rehber

2. DNS Nasıl Çalışır ?

Sorgu Başlatma:

  • Kullanıcı Tarafı: Bir tarayıcıya “google.com” gibi bir URL yazdığınızda, bilgisayarınız öncelikle yerel DNS önbelleğini kontrol eder, bilgisayarınız daha önce bu adresi sorguladıysa, önbellekte kayıtlı IP adresi kullanılır.”

Recursive Resolver (Yineleyici Çözücü):
Eğer önbellekte kayıt yoksa, isteğiniz bir recursive DNS sunucusuna (genellikle ISS veya servis sağlayıcınızın sunduğu sunucu) gönderilir. Bu sunucu, adım adım doğru IP adresini bulmak için farklı DNS sunucularıyla iletişime geçer.

  • Örnek: “Bilgisayarınız, öncelikle root sunucularına, ardından .com gibi üst seviye (TLD) sunucularına, en sonunda da yetkili DNS sunucusuna ulaşarak google.com’un IP adresini öğrenir.”

Yetkili DNS Sunucuları:
Her domain ismi, o isme ait kayıtların bulunduğu yetkili sunucular tarafından yönetilir. Bu sunucular, en doğru ve güncel IP adresi bilgisini sağlar.

  • Örnek: “Google.com için yetkili DNS sunucuları, google’ın IP adreslerini tutar ve recursive resolver bu sunucudan doğru bilgiyi alır.”

Önbellekleme (Caching):
Alınan IP adresi, sonraki sorguların hızlanması için belirli bir süre önbellekte tutulur. Böylece aynı siteye tekrar erişmek istediğinizde sorgu süresi azalır.

image-21-1024x394 DNS (Domain Name System) Hakkında Detaylı Rehber

3. DNS Resource Records & Zones

DNS kaynak kayıtları (Resource Records – RR), DNS sunucularında saklanan temel bilgilerdir. En yaygın kayıt türleri şunlardır:

  • A (Address) Kaydı: IPv4 adresi döndürür. Bir alan adını (örneğin, example.com) belirli bir IPv4 adresine eşler.
    • Örnek:
      • example.com. 3600 IN A 192.168.1.1
    • Tarayıcı, example.com adresine gittiğinde, DNS sorgusu bu A kaydını döndürerek, kullanıcıyı 192.168.1.1 IP adresine yönlendirir.
  • AAAA Kaydı: A kaydının IPv6 versiyonudur. Alan adını bir IPv6 adresine yönlendirir.
    • Örnek:
      • example.com. 3600 IN AAAA 2001:db8::1
  • CNAME (Canonical Name) Kaydı: A kaydı bulunan bir host için birden fazla kayıt girilebilmesini sağlar. A kayıtlarına yönlendirme yapar.
    • Örnek:
      • www.example.com. 3600 IN CNAME example.com.
    • www.example.com adresine erişmeye çalışan biri, aslında example.com adresine yönlendirilmiş olur.
  • MX (Mail Exchange) Kaydı: E-posta sunucularını belirtir. Birden fazla mail sunucusu varsa,priority vererek öncelik belirleyebilir.
    • Örnek:
      • example.com. 3600 IN MX 10 mail.example.com.
    • example.com için e-postalar mail.example.com adresine yönlendirilir. “10” öncelik seviyesini gösterir; daha düşük değer, daha yüksek öncelik anlamına gelir.
  • NS (Name Server) Kaydı: Alan adının hangi DNS sunucusu tarafından yönetildiğini gösterir.
    • Örnek:
      • example.com. 3600 IN NS ns1.example.com.
      • example.com. 3600 IN NS ns2.example.com.
    • example.com için DNS hizmetini sağlayan sunucular ns1.example.com ve ns2.example.com olarak belirtilmiştir.
  • TXT Kaydı: Serbest metin bilgileri eklenebilir (örneğin, SPF kayıtları için).
    • Örnek:
      • example.com. 3600 IN TXT "v=spf1 mx -all"
    • Bu SPF kaydı, example.com için sadece MX kaydında belirtilen sunucuların e-posta gönderebileceğini belirtir.
  • PTR (Pointer) Kaydı: IP adresini alan adına çevirir (ters DNS çözümlemesi).
    • Örnek:
      • 1.1.168.192.in-addr.arpa. 3600 IN PTR example.com.
    • 192.168.1.1 IP adresine sahip bir sunucu sorgulandığında, DNS example.com alan adını döndürür.
  • SOA Record (Start of Authority Kaydı):Bir alan adının otorite bilgilerini içerir.
    • Örnek:
      • example.com. 3600 IN SOA ns1.example.com. admin.example.com. 2024022201 7200 3600 1209600 86400
    • ns1.example.com → Yetkili DNS sunucusu.
    • admin.example.com → DNS yöneticisinin e-posta adresi.
    • 2024022201 → Seri numarası (Değişiklik olduğunda artar).
    • 7200 → Refresh süresi.
    • 3600 → Retry süresi.
    • 1209600 → Expiry süresi.
    • 86400 → Minimum TTL değeri.
  • SRV Record (Servis Kaydı):Domaindeki servisler gibi, DC’leri de belirtir. Kaydında LDAP ve Kerberos gibi hizmetlerin bilgilerini tutar.
    • Örnek:
      • _sip._tcp.example.com. 3600 IN SRV 10 5 5060 sipserver.example.com.
    • _sip._tcp.example.com → SIP servisi için kayıt.
    • 10 → Öncelik seviyesi.
    • 5 → Ağırlık.
    • 5060 → Port numarası.
    • sipserver.example.com → SIP servisini çalıştıran sunucu.
  • CAA (Certification Authority Authorization) Kaydı:Hangi SSL sertifika sağlayıcılarının bu alan adı için sertifika verebileceğini belirler.
    • Örnek:
      • example.com. 3600 IN CAA 0 issue "letsencrypt.org"
    • Bu kayıt, yalnızca Let’s Encrypt’in example.com için SSL sertifikası verebileceğini belirtir.

DNS Zones (Bölgeler): DNS bölge yapısı, bir alan adının yönetildiği bölümü ifade eder. Bölgeler şunlardır:

  • Primary Zone: Ana kayıtları barındıran ve değişikliklerin yapıldığı bölgedir.
  • Secondary Zone: Primary Zone’dan yedekleme amaçlı okunan bölgedir.
  • Stub Zone: Sadece NS ve SOA kayıtlarını içeren minimal bölgedir.
  • Forward Lookup Zone: Alan adlarını IP adreslerine çevirir.
  • Reverse Lookup Zone: IP adreslerini alan adlarına çevirir.

4. DNS Forwarders & Conditional Forwarders Nedir?

DNS Forwarders (DNS Yönlendiricileri):
DNS sunucuları, kendi önbelleğinde veya yönetim bölgelerinde (zone) bulunmayan sorguları çözmek için forwarders kullanır. Bu, sunucunun sorguları belirli bir dış DNS sunucusuna (örn. Google DNS, OpenDNS) yönlendirmesini sağlar. Temel özellikleri:

  1. Genel Kullanım: Tüm çözülemeyen sorgular, tanımlanan forwarder’lara gönderilir.
  2. Performans: Forwarder’lar geniş önbelleklere sahip olabilir (örn. ISP veya halka açık DNS), bu da çözüm süresini kısaltır.
  3. Güvenlik ve Kontrol: Şirket içi politikalar (filtreleme, loglama) uygulanabilir veya güvenilen bir sunucu üzerinden trafik yönetilebilir.
  4. Yapılandırma: DNS sunucusunda genel ayar olarak eklenir (örn. tüm harici sorgular 8.8.8.8’e yönlendirilir).

Örnek: Bir şirket DNS sunucusu, tüm harici sorguları Google DNS’e (8.8.8.8) yönlendirerek performansı artırır ve güvenlik duvarı üzerinden filtreleme yapar.

Ekran-goruntusu-2025-02-23-203032 DNS (Domain Name System) Hakkında Detaylı Rehber

Conditional Forwarders (Koşullu Yönlendiriciler):
Belirli bir etki alanına (domain) ait sorguları, özel olarak tanımlanmış DNS sunucularına yönlendirir. Bu, belirli domain’ler için özel çözümleme kuralları sağlar. Temel özellikleri:

  1. Domain Bazlı Yönlendirme: Sorgu hedef domain’e göre filtrelenir (örn. sirket.local sorguları iç DNS’e, partner.com sorguları partner DNS’ine).
  2. Ağ Optimizasyonu: Özellikle iç ağlarda veya hibrit yapılarda, sorgular doğrudan yetkili sunucuya gönderilerek gecikme azaltılır.
  3. Güvenlik: Hassas domain’lerin çözümlemesi kontrol altında tutulur (örn. Active Directory domain’leri dış DNS’e sızmaz).
  4. Yapılandırma: Her domain için ayrı hedef DNS sunucusu tanımlanır (örn. sirket.local → 10.0.0.5).

Örnek: Bir holdingde, sube.sirket.com sorguları yerel şube DNS’ine, merkez.sirket.com ise merkez sunucuya yönlendirilir. Bu, iç trafiği optimize eder.

2-16 DNS (Domain Name System) Hakkında Detaylı Rehber

5. DNS Sunucularında Gelişmiş Özellikler

DNS sunucuları, standart alan adı çözümlemenin ötesinde birçok gelişmiş özelliğe sahiptir.

1-15 DNS (Domain Name System) Hakkında Detaylı Rehber

1. Recursion (Özyineleme)

  • Ne İşe Yarar? DNS sunucusunun, istemci adına diğer DNS sunucularını sorgulayarak tam çözümleme yapmasını sağlar.
  • Çalışma Mantığı:
    • İstemci example.com ister → DNS sunucusu önce önbelleğine bakar.
    • Bulamazsa, kök (root) sunuculardan başlayarak hiyerarşik bir şekilde sorguyu çözer (TLD → Yetkili DNS).
  • Kullanım Senaryosu:
    • İç ağdaki kullanıcıların harici domain’lere erişimi.
  • Güvenlik Notu:
    • Açık recursion (herkese izin verilmesi), DDoS saldırılarına hedef olabilir.
    • Sadece güvenilen ağlara recursion izni verilmeli (Recursion Scope ayarı).

2. BIND Secondary (İkincil DNS)

  • Ne İşe Yarar? BIND (Berkeley Internet Name Domain), Unix/Linux tabanlı DNS sunucu yazılımıdır. Secondary DNS, birincil (primary) sunucudan bölge (zone) verilerini otomatik olarak çeker (zone transferi).
  • Çalışma Mantığı:
    • Primary DNS, zone dosyasını günceller.
    • Secondary DNS, belirli aralıklarla (SOA kaydındaki refresh değeri) zone transferi yaparak veriyi senkronize eder.
  • Kullanım Senaryosu:
    • Yüksek erişilebilirlik (HA) ve yedeklilik sağlamak için.

3. Fail on Load (Yükleme Hatası)

  • Ne İşe Yarar? DNS sunucusu, bir zone dosyasını yüklerken hata tespit ederse (örn. format hatası), servisi durdurur veya uyarı verir.
  • Çalışma Mantığı:
    • fail on load etkinse → DNS servisi başlamaz/çöker.
    • Devre dışıysa → Hatalı zone atlanır, diğer zone’lar çalışmaya devam eder.
  • Kullanım Senaryosu:
    • Kritik ortamlarda yapılandırma hatalarının önceden tespiti için etkinleştirilir.

4. Round Robin

  • Ne İşe Yarar? Bir domain için birden fazla IP kaydı (A/AAAA) varsa, DNS sunucusunun bu IP’leri döngüsel (sırayla) döndürmesini sağlar.
  • Çalışma Mantığı:
    • example.com → 192.168.1.10, 192.168.1.11, 192.168.1.12
    • Her sorguda IP sırası değişir (1. istek: 1.10, 2. istek: 1.11 vb.).
  • Kullanım Senaryosu:
    • Basit yük dağıtımı (load balancing) için kullanılır.
    • Not: Sunucu sağlığını izlemez; sadece trafiği döndürür.

5. Netmask Ordering (Ağ Maskesi Sıralaması)

  • Ne İşe Yarar? DNS sunucusu, istemcinin IP subnet’ine en yakın IP’yi öncelikli olarak döndürür.
  • Çalışma Mantığı:
    • İstemci IP: 10.0.1.5
    • Kayıtlı IP’ler: 10.0.1.20 (aynı subnet), 192.168.1.30 (farklı subnet)
    • DNS, 10.0.1.20’yi önce gösterir.
  • Kullanım Senaryosu:
    • Coğrafi veya ağ içi optimizasyon (yakın sunucuya yönlendirme).

6. Secure Cache (Güvenli Önbellek)

  • Ne İşe Yarar? DNS önbellek zehirlenmesi (cache poisoning) saldırılarını önlemek için tasarlanmıştır.
  • Mekanizmalar:
    • Kaynak Port Rastgeleleştirme: Sorgular için rastgele UDP portu kullanır.
    • Transaction ID Rastgeleleştirme: Her sorguda benzersiz bir ID atanır.
    • Önbellek Doğrulama: Yanıtların tutarlılığı kontrol edilir.
  • Kullanım Senaryosu:
    • Kamuya açık DNS sunucularında güvenlik artırımı.

7. DNSSEC Validation (DNSSEC Doğrulama)

  • Ne İşe Yarar? DNS yanıtlarının bütünlüğünü ve kaynağını doğrular.
  • Çalışma Mantığı:
    • RRSIG Kaydı: Zone’daki kayıtların dijital imzası.
    • DNSKEY: Zone’un public key’i.
    • İstemci sorgusu → DNSSEC destekli DNS, imzaları doğrular.
  • Kullanım Senaryosu:
    • Sahte DNS yanıtlarını engellemek (örneğin, phishing saldırıları).
  • Önemli Not:
    • DNSSEC, zone sahipleri tarafından etkinleştirilmeli ve imzalanmalıdır.

6. DNS Sorgularını Loglama

DNS sunucularının yaptığı tüm sorguları kaydetme işlemidir. Bu loglar, sorun gidermegüvenlik analiziperformans izleme ve uyumluluk için kritik öneme sahiptir.

image-23 DNS (Domain Name System) Hakkında Detaylı Rehber

Neden DNS Sorgularını Loglarız?

DNS loglaması, birçok farklı amaç için kullanılabilir:

  • Güvenlik İzleme: DNS logları, kötü amaçlı yazılımlar, DNS tünelleme (DNS tunneling) ve DNS cache poisoning gibi saldırıları tespit etmek için kullanılabilir.
  • Ağ Performansı ve Optimizasyon: DNS sorgularının yoğun olduğu saatleri veya hangi alan adlarının sıkça sorgulandığını analiz etmek için kullanılır.
  • Hata Ayıklama (Troubleshooting): Yanlış yapılandırmalar, yavaş sorgular veya başarısız sorgular tespit edilerek düzeltilir.
  • Uyumluluk ve Denetim (Compliance & Auditing): Loglar, yasal gereklilikler ve şirket içi politikalar kapsamında izleme için kullanılabilir.
  • DNS Trafik Analizi: Şirket içi veya genel DNS kullanım trendlerini analiz etmek için kullanılabilir.

Windows DNS Sunucusunda Query Logging Aktifleştirme

  1. DNS Manager’ı açın (dnsmgmt.msc).
  2. Sunucuya sağ tıklayın → Properties (Özellikler) → Debug Logging sekmesine gidin.
  3. “Log packets for debugging” seçeneğini işaretleyin.
  4. Aşağıdaki seçenekleri işaretleyerek hangi paketleri loglamak istediğinizi belirleyin:
    • Queries/Responses (Sorgular ve Yanıtlar)
    • UDP/TCP paketleri
    • Inbound/Outbound (Gelen ve Giden)
  5. Kaydet ve çık. Loglar genellikle C:\Windows\System32\DNS\ altında saklanır.

Örnek Windows DNS Log Kaydı

3-14-1024x374 DNS (Domain Name System) Hakkında Detaylı Rehber

7. DNS Zone Backup & Restore

DNS Zone Nedir?

DNS Zone, bir domain’e ait tüm DNS kayıtlarını (A, MX, CNAME, NS vb.) içeren yapılandırma dosyasıdır. Örneğin, example.com domain’inin tüm IP eşleşmeleri bu zone’da saklanır.

Neden DNS Zone Yedeklemeliyiz?

  • Veri Kaybını Önleme: Sunucu çökmesi, yanlış yapılandırma veya insan hatası durumunda hızlı kurtarma.
  • Disaster Recovery (Felaket Kurtarma): Doğal afet veya siber saldırı senaryolarında hizmet sürekliliği.
  • Güncelleme Öncesi Güvenlik: Zone değişikliklerinden önce yedek alarak geri dönüş imkanı.

Windows DNS Sunucusunda Yedekleme

  • DNS Manager Aracı:
    Windows Server üzerinde DNS Manager ile zone yedeklemesi yapılabilir.
  • dnscmd Komutu Kullanımı:
    Komut satırında şu komutla zone dosyasını dışa aktarabilirsiniz:
dnscmd /zoneexport example.com backup\example.com.bak

Bu komut, example.com zone dosyasını example.com.bak olarak C:\Windows\System32\dns\backup altına kaydeder.

Windows DNS Sunucusunda Restore

GUI ile DNS Zone Geri Yükleme

  1. DNS Manager’ı açın.
  2. Forward Lookup Zones sağ tıklayın ve “New Zone” seçeneğini seçin.
  3. Store the zone in Active Directory seçeneğindeki işareti kaldırın.
  4. Zone name girin.
  5. Daha önce kaydedilen yedek dosyanızı seçin (C:\Windows\System32\dns\backup içinde olmalı).
  6. Geri yükleme işlemini tamamlayın ve Zone üzerine gelerek sağ tıklayın.
  7. Type: Primary → Change ve Store the zone in Active Directory seçeneğini tekrar işaretleyin.
  8. Dynamic Updates → Secure only olarak değiştirin.
  9. Restore işlemi tamamlanmıştır.

Sonuç

DNS, internetin temel yapı taşlarından biri olup, doğru yapılandırma ve yönetim ile güvenli ve hızlı bir deneyim sunar. DNS konfigürasyonunda yapılacak hatalar erişim problemlerine ve güvenlik açıklarına neden olabilir. Bu nedenle, DNS yönetiminde dikkatli olmak, güvenlik önlemlerini almak ve düzenli yedekleme yapmak kritik öneme sahiptir.

Share this content:

Merhabalar,ben Barış.Ağ ve sistem alanlarında kendimi geliştirmekteyim.Öğrenme sürecimde edindiğim tecrübeleri sizlerle paylaşarak fayda sağlamayı amaçlıyorum.

Yorum gönder