Kısaca Secondary DNS Zone nedir diye açıklamak gerekirse, primary dns zone da bulunan tüm kayıtların bir kopyasını salt okunur (read-only) olarak tutan ve aynı zamanda güncel tutan bir zone tipidir.
Kullanılma amacı, hem primary zone un yükünü paylaşmak, o sunucunun network yükünü hafifletmek ve aynı zamanda sistemin yedeği olarak çalışıp sağlamlığı-devamlılığı sağlar, primary zone da bir arıza olduğunda secondary zone sistemi yürütmeye devam eder.
Secondary zone un yapılandırılabilmesi için öncelikle primary zone dan o
sunucuya izin verilmesi gerekir. Peki o ayar nereden yapılır? Primary zone un
özelliklerinden “Zone transfers” kısmına geçilerek yapılır. Varsayım olarak o
ayar “only to servers listed on the name servers tab” seçeneğindedir, yani
sadece o zone a ait nameserver lara izin verilir. O özelliği kullanabilmek için
Secondary zone için kullanacağımız makinanın nameserver kayıtlarında olması
gerekir, yani oraya eklememiz gerekir.
Diğer izin seçenekleri ise; -tüm
sunuculara izin ver : yani secondary zone olmak isteyen kim varsa hepsine izin
ver demek , - sadece listedeki sunuculara izin ver: sadece listeye elle
eklediğimiz ip listesine ait sunuculara izin verilir.
Bu koşullar
sağlandığında başka bir authentication a gerek kalmadan secondary zone umuzu
kurabiliriz.
Kurulum için önce DNS konsolumuzu açıyoruz, forward lookup zone sağ tıklayıp new zone u seçiyoruz :
Karşımıza çıkacak seçeneklerden Secondary Zone u seçiyoruz. Görüldüğü üzere Active Directory Integrated yapamıyoruz bu zone türünü. Primary ve Stub Zone için geçerli oluyor AD integration :
Şimdiki ekranda bize Zone adını soruyor, oraya primary zone olarak kurulmuş olan zone un adını giriyoruz, ben örnek olarak srv1.net adıyla kurmuştum, onu oraya yazdım:
Evet bu ekranda da master dns server olarak tanımlanan yine primary dns zone un kurulduğu sunucunun IP adresini yazmamız gerekiyor:
Ve kurulum bu şekilde tamamlanıyor:
Görüldüğü gibi kurulumun herhangi bir zorluğu veya püf noktası yok. Basit bir
şekilde kurulum gerçekleşiyor. Tek dikkat etmek gereken konu Secondary olarak
kuracağımız server ı daha önceden primary zone sunucusunda nameserver listesine
eklenmesi gerekiyor veya Zone Transfers kısmındaki izin verilen sunucu IP leri
listesine eklememiz gerekiyor, yoksa zone u transfer edemeyiz.
Kurulumdan
sonra hemen transfer gerçekleşiyor ve de görüldüğü gibi kayıtlar secondary dns
sunucumuza aktarılmış oluyor, ve aynı zamanda görüyoruz ki herhangi bir aksiyon
yapamıyoruz bu zone üzerinde yani salt okunur olarak çalışıyor:
Aynı şekilde zone un özelliklerine girdiğimizde oradaki bilgileri de değiştiremediğimizi görüyoruz:
Primary zone ile secondary zone arasında 2 türlü transfer methodu
vardır:
- AXFR (Full Zone Transfer)
-
IXFR (Incremental Zone Transfer)
İlk kurulumda tabii ki Secondary zone olarak kullanacağımız dns sunucu full transfer gerçekleştirir, daha sonra ise zone üzerinde yapılan değişikliklerle birlikte Incremental transferler yapılır. Böylece her değişiklikte zone un tamamının aktarılmasına gerek kalmaz sadece değişmiş olan kayıtlarla ilgili bilgiler aktarılır, daha az network trafiği oluşmuş olur.
Normal koşullar altında Primary DNS sunucuda herhangi bir dns kayıdı ile ilgili bir değişiklik yapıldığında secondary dns sunucunun bundan hemen haberi olur ve de değişiklik gecikme olmaksızın secondary zone da da sağlanır, yani replikasyon gerçekleşir.
Peki secondary dns sunucusunun bu değişiklikten nasıl haberi oluyor diye sorarsanız, Notify özelliği sayesinde oluyor. Primary DNS sunucu, zone da herhangi bir değişiklik olduğunda secondary zone un bulunduğu sunucu/lar a notify gönderir, yani zone da değişiklik olduğunu bildirir. Secondary sunucu(lar) da transfer işlemini başlatır. Zaten transfer işlemi her zaman için secondary dns sunucular tarafından başlatılıyor, primary dns sunucular sadece notify yapıyor.
Notify ayarlarına ulaşmak için, yine primary zone un üzerine sağ tıklayıp
properties e giriyoruz, ordan Zone Transfers kısmına geçiyoruz. O penceredeki
Notify tuşuna basıyoruz ve karşımıza bu ekran çıkıyor:
Yine burada da default olarak Name Server listesinde bulunan sunuculara notify gönderilmesi seçili olarak geliyor, eğer secondary zone olarak kuracağımız sunucu nameserver listesinde değilse yine ikinci seçenek olan The following servers ı seçip, sunucunun IP adresini ekliyoruz yoksa sunucumuzun değişikliklerden haberi olamıycak.
Şimdi yine primary dns zone umuzdan properties e girip SOA kayıtlarına bir
göz atıyoruz:
Bir DNS zone unda olmazsa olmaz kayıtlardır bunlar.
Hemen en üstte Serial
number kayıdı göze çarpıyor. Bu rakam ile Zone üzerinde değişiklik yapılıp
yapılmadığı ortaya çıkıyor. Zone üzerinde yapılan her değişiklikte bu sayı
otomatik olarak artıyor. Secondary zone herhangi bir incremental transfer
işlemine gerek olup olmadığını bu sayıya bakarak anlıyor. Eğer kendi üzerinde
bulunan SOA kayıtlarındaki seri numarası, primary zone daki numaradan daha küçük
ise zone da değişiklik yapıldığı anlaşılıyor ve transfer işlemi
gerçekleştiriliyor. Sayı aynı ise transfere gerek kalmıyor.
Refresh interval : Secondary dns zone, bu belirtilen süre aralıklarında primary zone ile replikasyon yapmak için bağlantı kurar. Gerçi zaten primary zone da yapılan bir değişiklik hemen secondary zone a iletiliyor ama Notify hizmetinde herhangi bir problem olabilir, notify için o sunucu tanımlanmamış olabilir veya bağlantıda bir sorun olabilir, o yüzden secondary dns sunucu varsayım olarak her 15 dakika da bir zone da değişik var mı diye kontrol eder, varsa transfer gerçekleştirilir.
Retry interval : Eğer refresh interval süresinin sonunda yapılması gereken kontrol yapılamadıysa yani primary sunucu ile arada bir network bağlantı sorunu varsa, bu sefer ‘retry interval’ devreye girer ve bu belirtilen süre aralıklarında (yani default 10 dakika) primary zone ile bağlantı kurulmaya çalışılır.
Expires after : Tekrar tekrar deneme işleminin ne zaman sonlanacağını belirten süredir. Yani 10 dakika aralıklarla yapılan bağlantı kurma çalışmasının ne zaman kesileceğini belirtir. Default olarak 1 günün sonunda secondary dns sunucu artık primary zone ile bağlantı kurmaya çalışmayı keser ve de o zone için client lardan gönderilen query lere cevap vermez artık, zone u pasif hale getirir.
Minimum (default) TTL : Default olarak o zone da yaratılan
kayıtlara verilen Time to Live süresini belirtir. TTL süresi her kayıt için ayrı
olarak girilebilir tabii, fakat burdaki veri yeni yaratılan her kayıt için
otomatik verilecek ttl süresini belirtir.
Peki TTL ne için kullanılır
? Başka bir DNS sunucu bu zone daki bir kayıt ile ilgili sorgu
gönderdiğinde ve cevabını aldığında o cevabı aynı zamanda kendi cache ine yazar
ki bi daha ki sefere aynı sorgu client tarafından gönderildiğinde tekrar
bağlantı kurmak zorunda kalmasın. İşte o cache ‘e alınmış kayıdın cache’de ne
kadar süre tutulacağını belirtiyor. O süre dolduğunda kayıt eskimiş demektir ve
yine o zone dan sorumlu sunucuya sorgu gönderir.
Peki kurduğumuz secondary dns sunucusunu diğer bir secondary sunucuya veya
stub zone a kaynak olarak kullanabilir miyiz ? Cevap: Evet.
Secondary dns
zone kurulduktan sonra, varsayılan olarak Allow Zone Transfers kutusu seçili
gelmiyor, o yüzden öncelikle onu işaretleyip sonra da hangi serverlara bu
transfer iznini vereceğimizi seçmemiz gerekir. 2nci secondary sunucu da
nameserver listesinde yer alıyorsa name servers ile ilgili seçenek seçilebilir
veya aşağıya sunucunun IP adresi eklenebilir.
Peki Notify olayı ne durumda
diye soracak olursanız, o da var Yani
secondary zone da yapılmış olan bir değişiklik 2. secondary zone a notify
yapılarak hemen iletiliyor.
Yalnız secondary dns zone daki notify bölümüne
girdiğimizde değişik bir durum ile karşılaşıyoruz :
Name Server ile ilgili seçeneğin pasif olduğunu seçilemediğini görüyoruz, o
yüzden 2. secondary dns sunucusunun ip adresini elle girmemiz gerekiyor
buna.
Ayrıca not olarak belirtmek istiyorum, bu ekranda windows un sanırım
bir bug ı var, çünkü, automatically notify kutusunun işaretini kaldırıp tekrar
seçtiğimizde Name Servers ile ilgili seçenek de açılıyor, hadi açılmışken
seçelim bari deyip OK liyoruz, fakat tekrar Notify ekranına girdiğimizde
Automatically Notify kutusunun işaretinin kendiliğinden kalktığını görüyoruz.
Öyle bir ilginç durum oluşuyor.
Aynı şekilde Stub zone a da kaynak olabiliyor secondary zone. Fakat onda Notify özelliği kullanılamıyor, update etmesi için refresh interval süresi bekleniyor ve stub zone gerekli kayıtları o süre aralıklarında çekiyor.
Primary Zone –> Secondary Zone –> Secondary Zone
Primary Zone –> Secondary Zone –> Stub Zone
şeklinde farklı yapılar oluşturabileceğimizi görüyoruz.
Ahmet YÜKSEKTEPE
Sistem Yöneticisi