Windows Server 2003 ün network servislerinden biri olan DNS servisinin
yapılandırma türlerinden biridir. Genel olarak amacı, büyük network
yapılarında isim çözümlenmesi işini daha sistematik ve verimli hale
getirmektir.
Bunu nasıl gerçekleştireceğini düşündüğümüzde aklımıza birçok
olası senaryo gelebilir. Fakat genel olarak belli başlı kullanılma yerlerine ve
amaçlarına bakarsak; Parent zone (üst domain diyebiliriz) ‘u barındıran DNS server a kurulup child zone (ona da alt domain
diyelim) u barındıran yetkili dns serverların bilgilerinin güncel olarak
tutulmasını sağlar. Child zone dan sorumlu serverlarda herhangi bir değişiklik
yapıldığında, yani yeni bir serverın eklenmesi veya diğerinin çıkarılması vs.
gibi durumlarda, bundan üst domaindeki dns serverların haberinin olması
sağlanıyor. Tabii ki Stub Zone’u Active Directory ortamında kullanılan bir
özellik olarak düşünmemek lazım. Active directory den bağımsız olarak görev
yapan işe yarar bir servis olarak da kullanılır.
Bir şirketin birbirine WAN
ile bağlı farklı domain leri için de düşünebiliriz veya birbiriyle anlaşma
yapmış farklı şirketlerin ortak çalışması durumlarında da düşünebiliriz Stub
Zone’u. İki tarafta da Stub Zone kurularak, client lar karşı taraf için isim
çözümlemesi talep ettiğinde, isim çözümlemesinin internetdeki root server lar
üzerinden gidip çok sayıda name server üzerinden geçerek yapılmasından dolayı
oluşan zaman kaybı ve trafiğin önüne geçilmiş olunur.
Aynı şekilde, büyük bir
Forest yapısı içinde de isim çözümlenmesi ihtiyacı durumunda root serverlardan
üzerinden gidilmeden direkt olarak o zone a ait gerekli nameserver bilgileri
tutularak direkt erişim sağlanmış olur ve de daha verimli bir isim çözümlemesi
yapılmış olur.
Ayrıca, forest içinde kullanılan Stub Zone lar Active
Directory yapısına entegre olarak replike edilebildiği için replikasyon diğer
DNS sunuculara daha kolay ve verimli bir şekilde gerçekleştirilir.
Stub Zone ‘un teknik olarak yaptığı şey nedir peki? Belirli bir zone (domain
diyebiliriz) ‘un 3 tip kayıdını üzerinde tutar, zone ‘a ait diğer kayıtlarla
ilgilenmez. Bu 3 kayıt şunlardır:
. Zone’un SOA (Start Of Authority)
kayıdı
. Zone için yetkilendirilmiş NameServer kayıtlarının listesi
. Zone
için yetkili serverların A tipi kayıtları
Bu kayıtları o zone dan sorumlu Master Server dan alır, ve SOA kayıdında belirlenmiş süre aralıklarında Master Server’dan replike eder. Replike işlemi normalde DNS zone transferinde kullanılan UDP protokolü ile değil TCP protokolü ile gerçekleştirilir.
Ayrıca, Secondary Zone larda zone transferi için gerekli olan
authorization Stub Zone lar için geçerli değildir, herhangi bir izine gerek
kalmadan(yani master serverda ‘Allow zone transfers’ seçeneği işaretli olmasa
dahi) zone ile ilgili belirtilen 3 tip kayıt replike edilir.
Secondary Zone
dan bir diğer farkı da, primary zone da herhangi bir kayıt değişikliği
yapıldığında bu secondary zone server a anında iletilip gerekli değişiklilerin
yapılması sağlanır, fakat stub zone da bu yoktur, primary zone da yapılan
herhangi bir name server değişikliği anında stub zone a bildirilmez, SOA
kayıdındaki ‘refresh interval’ süresi dolduğunda pull işlemi ile stub zone
update edilir.
Stub Zone’un “Conditional Forwarding” yönteminden farkı nedir peki? “Conditional forwarding” yönteminde belirtilen zone dan sorumlu dns sunucular elle girilir ve sabit kalır, bu server larda herhangi bir değişiklik yapıldığında bundan conditional forwarding yapan sunucumuzun haberi olmaz, fakat Stub Zone kullanan DNS sunucumuz düzenli olarak master server dan replikasyon yaptığı için o zone a ait nameserver larda yapılan bir değişiklikten hemen haberi olur, güncel olarak kalır.
Kurulum:
Stub Zone’un kurulumunu anlatmak için kendi oluşturduğum senaryoda, srv1.net
isimli bir domain var ve server1 isimli server bu domain için domain controller
görevi yapıyor ve aynı zamanda srv1.net zone unun yetkili DNS sunucusunu
barındırıyor. Diğer tarafta başka bir network de, Server2 adlı tamamen bağımsız
çalışan bir sunucu var ve bu sunucuya Stub Zone u kurucaz. Ayrıca Server2
makinası ile aynı network de olan bir de XP client makinamız, Xp client’ın ip
yapılandırmalarında DNS sunucu olarak Server2 nin ip adresini giriyoruz.
Ve
kurulum için Server2′de DNS konsolumuzu açıyoruz, Server2 üzerine sağ tıklayıp
New Zone u seçiyoruz:
stub zone kurulum - 1
Ardından, karşımıza ne tip bir zone kurmak istediğimizi soran ekran geliyor, burdan tabii ki Stub Zone u işaretliyoruz. Görüldüğü üzere “Store the zone in Active Directory” seçeneği aktif değil, çünkü şuan üzerinde çalıştığımız makina Domain Controller olarak kullanılmıyor, hatta srv1.net domaininin üyesi bile değil. Eğerki sunucumuz DC olarak görev yapsaydı, o seçeneği seçip replikasyonun active directory üzerinden yapılmasını sağlayabilirdik:
Stub Zone kurulum - 2
Şimdi ki ekranda Stub Zone un Forward Lookup mı yoksa Reverse Lookup mı olacağını seçiyoruz. Zone, Master Server’da forward lookup olarak kurulduğu için, burda da aynı şekilde seçiyoruz:
Stub Zone kurulum - 3
Bir sonraki ekranda Zone un adını giriyoruz. Master Server’da Zone nun adı ne ise aynısını buraya yazıyoruz:
Stub Zone kurulum - 4
Sonraki ekranda kayıtların tutulduğu dosyanın adını değiştirebiliyoruz istersek, veya aynen devam ediyoruz:
Stub Zone kurulum - 5
Ve karşımıza Master DNS Server’ın ip adresini soran ekran çıkıyor, buraya karşıdaki server’ın ip adresini giriyoruz:
Stub Zone kurulum - 6
Ve kurulum işlemi bitiyor:
Stub Zone kurulum - 7
Kurulum işleminden sonra oluşturduğumuz Stub Zone a baktığımızda böyle bir ekran karşımıza geliyor, tabii buradaki örnekte srv1.net zone’una ait nameserver olarak ben sadece bir kayıt girmiştim, daha fazla nameserver girilmiş ise hepsi bu ekranda gözükecektir, tabii A kayıtları ile birlikte:
Oluşturulan Stub Zone tamamen Read-Only durumdadır. Üzerinde herhangi bir değişiklik, ekleme veya silme yapamayız, sadece Master Server dan kayıtların tekrar yüklenmesi yenilenmesi ile ilgili işlemler yapılabilir. Bunu aşağıdaki görüntüden de anlayabiliyoruz:
Aynı şekilde Zone un Properties kısmına girdiğimizde yine read-only olarak zone hakkındaki bilgileri görebiliyoruz:
Stub Zone kurulum - 10
Şimdi biraz atraksiyon yapıp Stub Zone un ne şekilde çalıştığına bakıcaz. Bunun için DNS konsolumuzda, Server adına sağ tıklayıp Properties e giriyoruz, ordan da Debug Logging sekmesine geçiyoruz. Default olarak kutunun seçili olmadığını görüyoruz. Debug Logging i aktifleştirip DNS server üzerinden gelen giden paketleri inceliycez:
Stub Zone debug logging - 1
Kutucuğu işaretledikten sonra aşağı kısımda Log dosyasının nereye
kaydedileceğini elle girmemiz gerekiyor. Ben bunun için C:\dnslog klasörünün
içinde dnslog.txt adında bir log dosyası oluşturulsun istedim.
Yine bu
ekrandaki seçeneklerden Details kutusu işaretlenirse gelen giden paketler
hakkında daha ayrıntılı bilgi kaydediliyor fakat şuan için bize o kadar ayrıntı
gerekmiyor, o yüzden işaretlemedim:
Stub Zone debug logging - 2
OK e bastığımızda artık DNS server, yapılan işlemlerle ilgili bilgileri log dosyasına yazmaya başlıyor.
Peki nasıl bir deneme yapıcaz?! Bunun için ben, Server2 makinasının network
unde bulunan XP client ile Server2 e DNS sorgusu göndericem, peki neyi
istiyecem, Server1 in network unde olan ve srv1.net zone unda A kayıdı bulunan
xp2 makinasının ip sini isteyecem. xp2 makinası srv1.net domainine üye ve dns
serverda kayıdı olan bir makinadır.
Bunun için en basit yöntem olan xp client
dan “ping <!--[endif]-->xp2.srv1.net” komutunu veriyoruz. Çözümleme
işleminin gerçekleştiğini görüyoruz.
Ardından Server2 deki log dosyasını açıp
incelediğimizde, aşağıdaki gibi bilgilerin olduğunu görüyoruz:
20090204 22:52:09 584 PACKET UDP Rcv 10.10.10.4 104d Q [0001 D NOERROR] (3)xp2(4)srv1(3)net(0)
20090204 22:52:09 584 PACKET UDP Snd 192.168.10.2 384b Q [0000 NOERROR] (3)xp2(4)srv1(3)net(0)
20090204 22:52:09 584 PACKET UDP Rcv 192.168.10.2 384b R Q [8084 A R NOERROR] (3)xp2(4)srv1(3)net(0)
20090204 22:52:09 584 PACKET UDP Snd 10.10.10.4 104d R Q [8084 A R NOERROR] (3)xp2(4)srv1(3)net(0)
Kayıtlarda da görüldüğü üzere, önce ping komutu ile client dan (yani 10.10.10.4) xp2.srv1.net ile ilgili sorgu gelmiş sunucuya, daha sonra sunucu name server kayıtlarındaki adrese bu kayıdı sormuş yani bizim örneğimizde Server1′e (192.168.10.2), sonra Server1′den sorgunun cevabını almış, ve son olarak da bu cevabı client a yani 10.10.10.4 e göndermiş.
Eğer client bir kez daha aynı hostname i sorgularsa DNS den, bu sefer Stub Zone u barındıran DNS sunucumuz tekrar srv1.net ile ilgili nameserver a bunu sormayacaktır çünkü daha önceki yapılmış sorgu cache e alındığı için client e cevabı direkt olarak cache den verecektir.
Ahmet YÜKSEKTEPE
Sistem Yöneticisi