DNS (Domain Name System) Hakkında Bilgiler


Oncelikle herkese iyi forumlar. Bu başlık altında DNS Server nedir , calışma mantığı nedir, kurulumuna ornek bir calışma ve derinlemesine bilgiler vereceğim.



DNS Server Nedir.


Domain name server olarak adlandırılan bu servis genel anlamda internet uzerindeki ip adreslerini ezbeleyemeyeceğimiz gibi bize kolaylık sağlaması icin duşunulmuş bir servistir. Kabaca IP adreslerini isme ceviren bir hizmet olarak da bahsedilebilir. Ancak tabiki genel olarak mantığından bahsedeceğiz.


DNS Hiyerarşik Yapısı


DNS sunucu bir hiyerarşik yapı elementlerinden oluşmuştur. Bu elementler en ust yonetimden başlayarak sırası ile.


1. Root Level

2. Top Level Domain

3. Second Level Domain

4. Sub Domain

5. Host


Yukarıda gorulduğu uzere bu hiyerarşik yapı elementlerinin en başında Root Level ilk sıradadır. Bir ornek ile aslında tam anlamıyla karışık anlatmadan ve sizlerinde kafasını karıştırmadan basite indirgeyelim. Ornek ;


Forum.ayyildiz.org.


Burada yukarıda gorduğunuz formumuzun internet adresi yer almakta. Buradan acıklamalara gecelim.

Yukarıda gorulduğu gibi hiyerarşinin Host kısmı haric hepsi gosterilmiştir. Sonundaki “.” ‘nokta işareti root level’i ifade etmektedir. Aslında her internet sitesinde “.” İşareti yazmadan girebilmemizin tek nedeni kendisi gorunmeyen bir hiyerarşik yapıdaki işarettir diyebiliriz ve yazarsakta aynı şekilde ilgili sayfaya girmemiz mumkundur. “org” alanı Top Level Domains ‘i ifade eder ve bunun anlamı aslında internet alan adlarının “.com , .net , .org “ v.b. alanlar altında toplanmasıdır. “ayyildiz” Second Level domain adreslerini belirleyen alandır buradaki ornekteki web sitemizin second level domain kısmıdır. Bir başka ornekle “korkusuzmedya” , “hashkiller” , “hurriyet” gibi second level domain adlarınıda ornek verdiğimizde daha iyi anlayacaksınız. “forum” sitemizin Sub Domain kısmıdır ve sitemize ozel olarak tanımlanmış alt sayfa alanıdır diyebiliriz. Başka bir ornekle yine sitemizin “portal” kısmı aynı şekilde Sub Domain’i ifade eder. Gelelim hiyerarşideki son madde olan Host kısmına bu kısım aslında web sunucumuzun sistemdeki adını ifade eder. Ornek verecek olursak “sunucu1ayt” diyelim bu sunucu ismi host’u ifade etmektedir. Yerel ağlarda bu host ismi ile ip adresini ismine işaret ettiğimiz basit anlamda wins kaydıdır.

DNS Kurulumu (Windows Sistemlerde)


Windows işletim sisteminde dns server kurulumunu aşağıda sıralacayağım adımlarla kurmanız mumkun ancak yerel ağınızda bu hizmeti verebilirsiniz. Bir servis provider’dan yada daha doğrusu Turkcesiyle servis sağlayacıdan hizmetiniz varsa dış dunyaya yani internet’e dns sunucu olduğunuzu gostermenizde mumkundur. Burada sizlere anlatmak istediğim nasıl kurulur, kac ceşit zone vardır, kayıtlar nelerdir onları inceleyelim.


Kurulan işletim sistemi Windows 2008 R2 standart edition işletim sistemidir. Diğer server işletim sistemlerindede kurulum benzer adımlarla olmaktadır.


DNS Sunucu Kurulumu 1.Adım


İkinci Adım (Rol Ekleme)



Karşımıza gelecek olan ekran oncelikle Before You Begin alanıdır bu alana direk next diyerek ilerliyoruz.



DNS Server servisini işaretleyerek kurulumu yapılacak olan servisi belirtmiş oluyoruz. Ekran resmi fazla olamasın diye burada kesiyorum kurulum icin diğer adımları. Bu adımlar zaten karşınıza geldiğinde bir secip yapmanızı istemeyecektir DNS Server next diyoruz Confirmation alanına Install diyerek en son adım olan Results ekranında



Kurulumun başarılı ile tamamlandığını ve artık DNS sunucumuzu yapılandırabileceğimizi soyleyen alan karşımıza geliyor ve Close diyerek artık yapılandırmaya gecebiliriz.


DNS Yapılandırma ekranını aşağıdaki gibi adımları izleyerek acabilirsiniz.



Ayrıca komut satırından (Windows + R tuşu) dnsmgmt.msc kısa yolunu yazıp enter’a basarak da aynı yapılandırma ekranına gecmeniz mumkundur.



DNS servis yonetim ekranına geldik yukarıda gorulen alanlardan kısaca bahsetmek gerekirse bu alanlar ;


1. Forward Lookup Zones


2. Reverse Lookup Zones


3. Conditional Forwarders



1.Forword Lookup Zones

Forward Lookup Zones terimi kabaca isim’den ip adresine ceviri yaptığımız ve ilgili ağ kayıtlarını eklediğimiz alana denir.


2.Reverse Lookup Zones

Reverse Lookup Zones termi kabaca ip’den isme ceviri yaptığımız ve ilgili reverse tcp kayıtlarını tuttuğumuz alana denir.


3.Conditional Forwarders
Bu alan hali hazırda bulunan dns servis sunucularını eğer kendi dns sunucumuzda o kayda eş değer bir kayıt bulamazsa yonlendirme yaptığımız alana denir.


Forward Lookup Zone Eklenmesi




Karşımıza gelecek olan ekranda 3 farklı secenek gormekteyiz. Bu seceneklerin acıklamaları sırasıyla.


1. Primary Zone

2. Secondary Zone

3. Stub Zone




1.Primary Zone


Bu zone (alan) ceşiti ilk kez kurulum yapılacak olan sunucularda işaretlenir ve ilgili primary zone aslında ana dns sunucumuzun icersindeki oluşturulacak olan kayıtları tutacağı bir alanı inşa eder.




2.Secondary Zone


Bu zone primary oluşturulmuş sistemlerimizde veyahut farklı sistemlerden dns kayıtlarını cekmek ve kendi sunucumuzun icerindede tutmak amacıyla belirli izinlerde eğer verilmişse bu zone ceşidini kullanabiliriz. Boylelikle uzak lokasyondaki dns sunucuların kayıtlarınıda bu alan icerisinde bir kopyasını tutmuş olacağımız alandır.


3.Stub Zone


Bu zone ceşidi ise belli başlı kayıtları tutan ozellikle NS , SOA kayıtlarını gosteren alanı ifade etmektedir. Bazı zamanlarda bu stub zone ceşidi kullanılmaktadır. Ornek verecek olursam konuyuda fazla dağıtmadan , şirketler arası kullanıcı gecişlerini sağlamak amacıyla hali hazırda her şirketin domain alt yapısı yani active directory merkezi kullanıcı yonetimini kullandığı bir ortamda her jki şirketinde birbirlerine guvendiği ortamlarda belirli başlı ana kayıtları stub zone aracılığı ile cekerek domainlerini trust yani guvenilir diyebilmeleri icin oluşturulan kayıt bir ornektir.




Resimde en altda pasit gelen bir check işareti atılabilecek bir alan dikkatinizi cekmiştir. Burada pasit gelmesinin edeni domain ortamı olmayışından oturudur. Bu sistem Workgroup calışma ağı ile bağlantılıdır herhangi bir merkezi yerden yonetim sağlayan bir sistem olmadığı icin bu şekildedir. Belki daha farklı makalelerde bu ortamın nasıl kurulacağınıda anlatabilirim. Takipde kalmanızı oneririm.



Yeni primary zone oluşturuyoruz ve Zone name alanına bu hizmetin hangi domaine ait olacağı belirtiyoruz. Ben ayyildiz.org olarak sectim. Sonra gelen tum adımlara Next diyerek geciriyoruz.



Ornek ayyildiz.org zone oluştuğunu goruyoruz artık bu domaine hizmet veren bir sunucu servisi oluşturduk. Gelelim bu zone icerisinde tutacağımız tcp kayıtlarının neler olduğuna. Oncelikle ilk oluşturulan dns sunucusunda 2 adet kayıt vardır bunlar ;



Yukarıdaki resimde gorulduğu gibi SOA ve NS kayıtlarıdır. SOA Start Of Authority ilk kayıttır burada


Dns sunucunuzun serial number’ını tutmaktadır. Yani ;



Serial number burada her kayıt artıkca yukselir şuanda 1 olması yeni kuralan bir dns sunucu anlamına gelmektedir. Bu serial number dns sunucular arası eğer bir değişken kayıt varsa (record) orneğin A record’u bunu diğer sunuculara bildirmek icin 1’er sayı artar ve sunucu replikasyonunu karşı tarafa başlatır.

Refresh Interval , Retry interval ve expires after sekmeleri burada dns sunucunun kayıtlarını ne kadar zamanda temizleyeceği eğer kullanılmıyorsa yada ne kadar zaman sonunda yineleyeceği anlamına gelir SOA kaydında.


İkinci oluşan ilk dns sunucu icerisindeki NS record’u bu sununun kendisini ifade eder. Boylece name server olarak sunucu icerisinde belirtilmiş olur. Gelelim başlıca kayıtlara ve orneklemelerine.



Sağ klik ile boş bir alanda gelen kayıtlar ekranı şekilde gorulduğu gibidir.


New Host (A or AAAA) : A record bu kayıt temel olarak hangi bilgisayarın hangi ip adresini kullandığını belirten kayıttır. AAAA record ise IP v6 ip adreslemesini belirten kayıttır. A record IP v4 kaydıdır. Ornek verecek olursak;



Name kısmında yeralan sunucu adını ifade eder. Yukarıda yazının en ustlerinde bahsetmiş olduğum host kısmındaki alan diyebiliriz.


FQDN (Full qualified domain name) : sunucu1ayt.ayyildiz.org. dikkat ettinizmi sonunda “.” İşareti var işte Root Level buradan geliyor. Tam dns hiyerarşisini acık bir şekilde bu alanda gorebiliyoruz.


IP Address : Sunucunun yani host’un IP v4 adresini goruyoruz. Ne demiştik yeniden yinelemek gerekirse Forward Lookup Zones İsimden IP adresine işaret eden alandır. Add Host diyerek ekliyoruz ve kayıt A record olarak geliyor. Artık bir test yapalım eğer yukarıdaki ip adresine ping attığımızda sunucu adı ve ip adresi geliyorsa dns sunucumuz başarılı bir şekilde calışıyor demektir. Not: Ekranda Create associated pointer yani PTR record gorulmekte o Reverse lookup zones alanı oluşturulmuş olduğunda yapılan bu kaydın ters istikamette reverse olarak IP’den Isme cozumlemeye yarayan kaydı oluşturacaktır.



Gorulduğu gibi Isimden IP adresine ping işlemi yapıldı ve başarılı bir şekilde cıktısını komut satırımızdan almış olduk. Gecelim diğer kayıtlara en ook kullanılanlara değiniyorum yoksa cok fazla kayıt var hepsini incelemek baya bir sayfa surer yazılar. Sizler icin en onemli kayıtlara bu yuzden değinip geciyorum.



Yukarıdaki gibi bir CNAME yani Alias record’u acalım.



Yukarıdaki gibi bir kaydın ne anlama geldiğine bakalım. Burada Alias Name kısmına yazmış olduğumuz “forum” kelimesi sunucunun aslında takma adını belirler bir subdomain olarak duşunmeyin burada site icerisinde farklı dizinlerde sub domainler acmak mumkun ama burada benim sadece anlatmak istediğim CNAME record ‘ u takma isim gibi duşunebilirsiniz. Bu record sayesinde yukarıdaki gibi gorulen FQDN adresinin yani sunucu1ayt.ayyildiz.org adersinin takma adıyla artık forum.ayyildiz.org olarak ping attığımda aynı ip adresi ile cozumleyip cozumlemediğine bakıcaz. Oluşan A record’un takma ismi. Başka bir ornekle “www” diye yazmamızda mumkun buda web sunucumuzun aynı makinede hizmet verdiğini belirtmiş oluruz. Ben “forum” kelimesini takma ad olarak sectim ama bir record daha “www” olarakda actım. Her iki CNAME’e ping atıp isimden ip cozumluyormu bakalım.



Yukarıdaki kayıtlar acıldı ping testi ve isim cozumlemeye bakalım.



Gorulduğu gibi komut satırından alınan ping cıktı orneği başarılı. Hem www.ayyildiz.org hemde “forum.ayyildiz.org” adresine.


Diğer bir record olan MX record’a goz atalım.



Mail Exchanger (MX) record’u mail sunucunu belirten bir kayıttır. Bu kayıt sayesinde mail sunucunuzu tanımlama yapar ve mail akışlarının bu sunucu uzerinden gececeğini belirtip kaydedersiniz. Ben yine ornek amaclı bir mail sunucusu olarak hali hazırda bulunan dns sunucumu burada belirttim. Resimde gormuş olduğunuz Mail server priority 10 değeri bize mail sunucumuzun onceliğinin 10 olduğunu belirtiyor. Eğer bir mail sunucu daha eklersek 10’dan buyuk yada sayı vererek onceliğin hangi mail sunucusunda olduğunu belirtmemiz mumkundur. Başlıca bu kayıtları bilmeniz size yeterlidir. Gelelim Reverse Zones nedir tekrar hatırlayıp bir ornek kayıt acalım.



Reverse Lookup Zones sekmesinde New Zone diyerek Next butonlarını kullanarak IP v4 icin lookup zone oluşturacağınızı belirterek ve yine primary zone olarak en son ekrandaki gibi alana geleceksiniz. Buraada sizden network id’nizi istemektedir. Hangi aralıkta bu hizmeti kullanacağınızı gostermelisiniz. Bizim sunucu aralığımız olan 10.211.55.x ip adres aralığımız reverse kayıtlarımızı tutacağımız alana ikame etmektedir.



Yukarıdaki ekran goruntusunde gorduğumuz gibi ilk kayıtlar yine SOA ve NS kayıtlarıdır. Şimdi bir PTR yani pointer reverse recordu oluşturalım ve reverse lookup zones ne işe yarar resimde gosterelim.



Yukarıdaki ekran goruntusunde bize Host IP adresinin hangi isme tekabul edeceğini gostermemizi istedi. Buradan anlaşılıyorki IP ‘den Isme cozumleme yaptığını gormekteyiz. Bunu bir ping aracılığı ile anlayalım.


Yukarıda gorulduğu gibi DNSMASTER ismini cozmektedir. Boylelikle IP’den Hostname’in ismini cozduğunu gorduk, başarılı bir şekilde reverse lookup zones calışıyor.


Konu fazla uzamaması acısından Conditional Forwarders kısmını kısaca ustunden geciyorum. Burada DNS sunucumız icerisinde isim yada ip cozumleyemeyek bir kayıt varsa forwarders’a yazılan ve bilinen dns sunucularının tanımı yapılarak onlara bu kayıtların sorulması sağlanır.


Aslında DNS Sunucu tarafında anlatılacak cok fazla parametre var ancak bilmeniz gereken ve onemi olan parametreleri sizlere gosterdiğimi bilmenizi isterim. Gelelim zone transfer nedir ve zoen transfer sayesinde bizlere hangi acıklar cıkmaktadır onları inceleyelim. Bunun icin DNSSLAVE adında ikinci bir DNS Server kurulu bir işletim sistemim mevcut. Oluşturduğumuz yukarıdaki kayıtları ikinci dns sunucumuza nasıl cekeriz onlara değinelim.


Zone Transfer İşlemi:

Bilinmesi gereken sunucular varsayılan olarak DNS’ler zone transferine NS kaydı o an icin kimse ona izin verir ancak siz farklı sunuculara DNS kayıtlarını cekmek isterseniz oluşturduğunuz Forward Lookup Zones icerisinde Zone Transfers kısmına ilgili sunucunun bilgilerini doldurarak izin vermeniz gerekmektedir.




Sırası ile adımlar şoyledir ;




Forward Looup Zones ustunde sağ tık yapıp Properties ekranına geliriz oradan Zone Transfers sekmesnde aşağıdaki resimde gorulduğu gibi zone transfer işlemine izin vereceğimiz DNS sunucusunun IP adresini tanımlama yaparız.



Yukarıdaki ekran goruntusunde DNSMASTER IP Adresi 10.211.55.100 DNSSLAVE 10.211.55.101’dir burada DNSMASTER uzerinde 10.211.55.101 yazarak DNSSLAVE icin zone transferine izin verdiğinizi gosterirsiniz boylece Forward Lookup Zones’da oluşturduğunuz kayıtları kendi sunucusuna cekmesini sağlamış oluruz.


DNSSLAVE tarafının bu kayıtları cekmesi icin makaledede bahsettiğim gibi Secondary Zone oluşturması gerekmektedir. Boylece ilgili kayıtları cekmesi icin nereden cekeceği konusunda bilgileri Master DNS sunucudan alır.



Sırası ile Secondary Zone secilir cekeceği yani transfer edeceği alan adı ne ise o yazılır. Bizde ayyildiz.org’dur. Master DNS Servers tabına next butonu ile gelinir ve nereden ayyildiz.org alan adının cekileceği bilgisinde DNSMASTER’ın yani 10.211.55.100 ‘un IP adresi yazılır ve next diyerek finish yapılır.



İlk olarak ekran Zone Not Loaded by DNS Server olarak gelir ancak sizin burada yapmanız gereken ;



Yukarıdaki gibi Transfer from Master demenizdir. Boylece aşağıdaki gibi tum kayıtların geldiğini gorebilirsiniz.



Tum oluşturmuş olduğumuz kayıtlar geldi. Gelelim acık ne olabilir biz nasıl faydalanırız.



DNSSLAVE sunucumuzda Zone Transfer izinli hemde herhangi bir sunucuya diye işaretli. Tamam web hizmeti bu sunucuda değil zone transferi biz web sunucusuna deneyebiliriz izin vermez ama ya dns sunucusu bu ornekteki gibi 2 tane ise ve bu sunucu zone transferine acıkca? Bilgilerini almamız bize hack konusunda bilgi verecek ve ic network’undeki PC’leride gormemize ve hangi sunucu ne hizmeti veriyor bilgisine vakıf olacağız.



Gorulduğu gibi dig aracıyla dns zone transferini once DNSMASTER sunucumuza kali uzerinden dig tool’u ile denedik ve zone transferini alamadığımızı gorduk. Ancak DNSSLAVE tarafındaki sunucumuza aynı yontemle zone transfer denediğimizde kayıtların hepsi geldi.

Saygılarımla
__________________