Domain ortamında kullandığınız DNS servisi gerek domain için gerekse hizmet verdiği çevresel ürünler için çok büyük bir öneme sahiptir. Bu nedenle DNS zone’ ları hemen hemen tüm domain ortamları için Active Directory veri tabanında saklanır.
Bildiğiniz gibi, eğer workgroup yani domain olmayan bir ortamda server işletim sistemi bir makine ile dns hizmeti vermek isterseniz, dns bilgileri txt bazlı dosyalarda tutulduğu için yedeklemek son derece kolaydır.
C:\Windows\System32\dns klasörü altında zone’ ları görebilirsiniz.
Örneğin yukarıda bir zone vardır ve ismi “cozumpark.com” dur. Bu dosyanın içeriği ise aşağıdaki gibidir;
Aslında dosya bazlı saklamak son derece riskli bir durumdur. Bir kişi txt editör ile bu dosyayı açar ve içeriğini değiştirir, bir sonraki dns servisi Restart işleminden sonra ise artık bu kayıtlar geçerli olmaya başlar.
Daha güvenli ve birden çok replikasyon noktası olması durumunda dns zone’ ları directory veri tabanı içerisinde saklanır.
Directory veri tabanı içerisindeki 4. Bölüm olan Application bölümü DNS gibi uyumlu olan programlar için kullanılmaktadır. Hal böyle olunca, yani aşağıdaki gibi bir zone AD içerisinde ise klasör bazlı görmeniz mümkün değildir.
Bu zone için dns klasöründe herhangi bir kayıt yoktur.
Peki AD integrated bir zone için yedek nasıl alınır? Aslında biz directory için düzenli System state yedeği alıyoruz ve bu yedek dns bilgilerini de içermektedir. Ancak kimi zaman directory yedeğinden sadece dns verileri için dönmek uzmanlığınıza göre başka sorunları tetikleyebilir. Hele bir den çok domain controller olan bir ortam için şartlar biraz daha zorlaşabilir, bu nedenle aslında belirleyeceğiniz PDC veya en sağlıklı DC için elle yada bunu otomatize ettiğiniz bir komut seti ile System state yedeğinden bağımsız DNS yedeği alsak süper olur değil mi? Bunu Windows Server 2003 sistemlerde kolay bir şekilde yapabiliyorduk.
http://www.cozumpark.com/files/folders/yuklemeler/entry2533.aspx
Ancak bu program 2003 sonrası işletim sistemlerinde çalışmıyor. Bende bu makalemde 2008 ve sonrası için kullanabileceğimiz komut setlerini paylaşacağım.
cd \
cd windows\system32\dns\dnsbackup
del *.* /q
dnscmd dc01 /ZoneExport _msdcs.cozumpark.com dnsbackup\_msdcs.cozumpark.com.dns.bkp
dnscmd dc01 /ZoneExport _sipinternaltls._tcp.cozumpark.com.tr dnsbackup\_sipinternaltls._tcp.cozumpark.com.tr.dns.bkp
dnscmd dc01 /ZoneExport cozumpark.com dnsbackup\cozumpark.com.dns.bkp
Bu komut setini bir bat yapıp zamanlanmış görevlere atayabilirsiniz.
Not: dnsbackup klasörünü önceden oluşturmanız gerekmektedir.
Yedek işlemini tamamladık. Şimdi sıra geldi geri dönüşe. Bunun için önce zone’ u siliyorum ( lütfen siz gerekmedikçe böyle bir deneyi prod ortamlarda yapmayın ).
Silme işleminden sonra, geri dönüş için öncelikle yedek dosyasının dns ana dizinine alıp isim değiştiriyorum.
Sonundaki bkp uzantısını silip dns klasörüne aldım yedek dosyamı. Şimdi yeni bir zone açıyorum.
Zone tipi olarak “Primary Zone” seçiyorum, ancak alt bölümdeki Store AD kutucuğunu temizliyorum.
Silinen veya yedekten geri dönmek istediğim zone ismini yazıyorum.
Var olan dosyayı kullan diyip, yedek klasöründen aldığımız dosya ismini yazıyoruz.
Herhangi bir değişiklik yapmadan devam ediyorum ve işlemi tamamlıyorum.
Yukarıda da gördüğünüz gibi zone içeriği aynen geri geldi. Ancak işimiz henüz bitmedi. İlk olarak bu zone için tekrar AD veri tabanında saklanması ve güncelleme ayarlarını aşağıda gösterdiğimiz gibi değiştiriyoruz.
Önce AD içerisine alıyoruz. Sonra dinamik güncellemeyi secure only ye çekiyoruz.
Evet artık tam anlamı ile zone’ un eksiksiz dönmüş ve ayarlarını da yapmış olduk. Kolay bir uygulama olduğunu düşünüyorum, umarım faydalı olur.
Bir sonraki makalemde görüşmek üzere esen kalın.