Kurumsal DNS Sunucusunda Aging ve Scavenging Yapılandırması ile Çöp Kayıtları Temizleme
Active Directory ortamlarında DNS sunucusu (DNS Server) isim çözmenin çok ötesindedir; Kerberos kimlik doğrulamasının, etki alanı denetleyicisi (DC) keşfinin ve servis lokasyonlarının (SRV kayıtları) omurgasıdır. Ancak kurumsal ağlarda laptoplar, mobil cihazlar ve geçici sanal makineler gelip geçtikçe DNS veritabanı binlerce çöp kayıtla dolar. Bir IP adresine baktığınızda 4 farklı eski bilgisayar adının aynı IP'yi gösterdiğini görürsünüz (Stale DNS Records). Bu kirlilik Kerberos bilet hatalarına ve dosya paylaşım kopmalarına yol açar. Çözüm: DNS Aging and Scavenging.
1. Aging ve Scavenging Mantığı (Zaman Aralıkları)
Scavenging, belirli bir süre boyunca güncellenmeyen dinamik DNS kayıtlarının sistem tarafından otomatik olarak silinmesidir. İki kritik zaman aralığına dayanır:
- No-Refresh Interval (Yenilemesiz Aralık - Örn: 7 Gün): Bir kayıt oluşturulduktan sonraki ilk 7 gün boyunca kayıt güncellenemez (DNS sunucusuna gereksiz replikasyon trafiği binmesini engellemek için).
- Refresh Interval (Yenileme Aralığı - Örn: 7 Gün): İkinci 7 günlük dönemdir. Bu sürede istemci bilgisayar hala hayattaysa kaydını yeniler ve sayaç sıfırlanır. Eğer bu süre zarfında da yenilenmezse, kayıt artık Stale (Çöp) olarak işaretlenir.
- Scavenging Period: DNS sunucusunun çöp toplayıcısının kaç günde bir (örn: 7 günde bir) çalışıp bu ölü kayıtları sileceğini belirler.
Toplam Ömür = No-Refresh (7 Gün) + Refresh (7 Gün) = 14 Gün!
14 gün boyunca ağa hiç bağlanmayan bir cihazın DNS kaydı güvenle silinir.
2. Üç Seviyede Yapılandırma Zorunluluğu
Aging ve Scavenging'in çalışması için 3 farklı noktada birden aktif edilmesi şarttır:
- Resource Record Seviyesi: Kaydın zaman damgasına (Timestamp) sahip olması gerekir (Dinamik kayıtlar otomatik alır; statik sunucu kayıtları timestamp almaz ve asla silinmez).
- Zone (Bölge) Seviyesi: İlgili Forward Lookup Zone'a sağ tıklanır -> Properties -> Aging -> Scavenge stale resource records işaretlenir.
- Server (Sunucu) Seviyesi: DNS Sunucusuna sağ tıklanır -> Properties -> Advanced -> Enable automatic scavenging of stale records işaretlenir.
3. Scavenging Öncesi Güvenlik Önlemi: Statik Kayıtları Koruma
Yanlış yapılandırılmış bir scavenging işlemi, şirket sunucularının veya yazıcıların DNS kayıtlarını silebilir!
- Statik Kayıtlar: Sunucuların, router'ların ve firewall'ların IP'leri elle girilirken "Delete this record when it becomes stale" seçeneği işaretlenmemelidir (Timestamp:
[Static]kalmalıdır). - Statik kayıtlar asla scavenging mekanizması tarafından silinmez.
Karşılaşılan Kritik Hatalar ve Çözüm İpuçları
- Tüm DC'lerde Scavenging Açma Hatası: Bir Active Directory ormanında scavenging görevini tüm Domain Controller'larda aynı anda açmayın! Replikasyon çakışmalarını önlemek için scavenging işlemi yalnızca tek bir DC (tercihen PDC Emulator rolüne sahip DC) üzerinde zamanlanmalıdır.
- DHCP Kiralama Süresi (Lease Time) Uyuşmazlığı: DNS Scavenging süresi (No-Refresh + Refresh), DHCP kiralama süresinden (Lease Time) kısa olamaz! Eğer DHCP kiralama süreniz 8 gün ise, Scavenging toplam süresi en az 10-14 gün olmalıdır; aksi halde cihaz hala geçerli bir IP kirasına sahipken DNS kaydı silinir.
Mühendis Notu
Scavenging'i ilk kez devreye almadan önce mutlaka DNS veritabanınızın yedeğini alın: dnscmd /zoneexport holding.local holding.local.backup.dns. Ardından dnscmd /startscavenging komutuyla ilk temizliği mesai bitiminde kontrollü olarak başlatın.
