You are on page 1of 36

DNS (DOMAIN NAME SYSTEM )

DNS (DOMAIN NAME SYSTEM )

İnternet ortamında her şey isimden ibaret olarak görülmektedir. Biz sürekli olarak tarayıcılarımıza
adres giriyoruz, oysaki aslında o adreslere ait olan ip’leri bilmiyoruz, bilmemiz de pek mümkün
değildir, çünkü insan hafızası rakamlara göre isimleri daha kolay hatırlamaktadır. Bu sayede
“208.109.209.195” adresi yerine bunun ismi olan “cozumpark” nı aklımızda tutmamız daha kolay
olacaktır. Peki, ben internet tarayıcısına “cozumpark.com” yazdığımda bunu “208.109.209.195”
ip adresine çeviren nedir? işte bu servisin adı DNS (Domain Name System ) tir . Bende bu
makalemde DNS konusunda bilgi vermeye çalışacağım.

DOMAIN NAME SYSTEM

Domain Name System ( DNS ) günümüz teknolojisinde isim çözümleme sistemi için kullanılır.
İnternet yada intranet ortamını ele alırsak her bir makinenin numeric olarak bir ismi vardır ama
akılda kalması zor olduğu için alphanumeric isimleri biliriz genelde. Örnek vermek
gerekirse www.cozumpark.com alanın numeric ismi 212.156.20.15 olduğunu varsayarsak
hangisinin aklımızda daha uzun kalacağını siz düşünün. Domain Name System bu noktada bize
alphanumeric isimleri bilerek numeric isimlere ulaşmamamızı sağlar.

Dns ‘in geçmişine yani hangi gereksinim üzerine oluşturulduğuna bakacak olursak.
1970 li yıllarda dünya üzerindeki bilgisayarların sayısı o kadar azdı ki bilgisayarlar kendi
aralarında konuşmak için numeric ve alphanumeric adreslerini bir hosts.txt dosyası içinde
tutarlardı. İletişime geçmelerini sağlayıcı adreslerini bu dosyadan okurdu. Gün geçtikçe yeni
bilgisayarlar yapıldıkça bu hosts.txt dosyası güncellenerek
Büyüdükçe büyürdü. Bu sebepten dolayı Domain Name System oluşturuldu ve özet olarak
yaptığı işlem ise alphanumeric isimleri numeric isimlere çevirmesidir. TCP/IP protokolünü
kullanan network’lerde bilgisayarlar birbirleri ile haberleşmek için IP adresi kullanmak zorundadır.
Domain Name Systems oluşturulma amacı olan isimden ip çevirme işi dışında birçok kayıtın da
bilgilerini tutar. Bunları Domain Controller adını veya MX ( Mail Server ) adını gibi örnekleyebiliriz.

İsim Çözümle Nedir ?

Network üzerinde bulunan aygıtların DNS isim karşılığına Hostname adı verilir.
Full Qualified Domain Name ( FQDN ) ise DNS sunucusundaki bir nesnenin tam adıdır. Network
üzerinde bulunan bilgisayarlar hostname ile iletişim sağlarken, mutlaka bir DNS server içinde bu
hostname karşılık gelen IP adresi bulunur.
lodos.cozumpark.com yapısında lodos host name ve cozumpark.com da suffix’i oluşturur. Suffix
Host name’in temel yapısıdır.

Bir network yapısında çakışma olmadan farklı suffix yapısında 2 adet yanı host name
kullanılabilir. Ör ; lodos.cozumpark.com ve lodos.bora.cozumpark.com
Host name 255 karaktere kadar olabilir. DNS Server üzerinde bir host name iki farklı ip adresi
atanabilir.
Ör; lodos.cozumpark.com için 212.156.20.15 ve 172.16.100.254 gibi. Dns Server’in yanı sıra
hosts dosyası ile de Host name den ip adresi de çözümlenebilir.

Host name ve DNS Suffix görüntülemek için ipconfig /all komutunu kullanabiliriz.
İsim Çözümleme Sırası

Şekil - 1

Şekil - 2
Host Name ile İsim Çözümleme ;

Bir hostname ‘in Ip adresine dönüştürülmesinde belirli bir sıraya göre çözümleme yapar.
1. Host dosyası / Client resolver Cache
2. DNS
3. NetBIOS Name Cache
4. WINS
5. Broadcast
6. Lmhosts dosyası

Hosts dosyasını inceleyecek olursak dns sorgularının ilk bakıldığı yerdir. Lokasyon olarak
%systemroot%/system32/drivers/etc klasörü altında barınır. Notepad de açarak düzenlenebilir ve
en alt kısmına IP adresi yazarak karşılık bir Hostname yazarsak dns sorgularında ilk verilecek
cevap olacaktır.

Şekil - 3
Komut satırına ipconfig /displaydns yazıldığı zamanda host dosyası içindeki kayıtlar görülebilir.

Şekil - 4

Ayrıca cache’e dinamik olarak eklenmiş olan kayıtları ipconfig /flushdns komutu ile silebiliriz.
NetBIOS Name

Microsoft Windows işletim sistemlerinin Win 2000 öncesi sürümlerinde, ağda kullanılabilmeleri
için adlarının kaydedilmesi veya çözümlenmesi gereken bilgisayarları ve diğer paylaşılan veya
gruplandırılan kaynakları tanımak ve bulmak için kullanılır. Microsoft işletim sistemlerinin önceki
sürümlerinde ağ hizmetlerinin sağlanabilmesi için NetBIOS adlarının kullanılması zorunludur. 15
karakterden oluşmalıdır. İnternete çıkılamaz çünkü router broadcast geçirmez. Bu yüzden WINS
ten yararlanılır.

Dns Name space

DNs için bir isimlendirme hiyerarşisi diyebiliriz. Bir DNS Namespace Root Domain, Top-Level
Domain, Second-Level Domain ve mümkün olabilen Sub domain içerir.
Root Domain: .
Top-Level Domain: com, org, net, biz, info, gov, edu, mil, int
Second-Level Domain: cozumpark, esersolmaz, fakaonline, hakanuzuner

Şekil - 5
Windows 2003 bir sunucuya DNS yüklenmesi

Öncelikle bir DNS servisinin o makineye kurulabilmesi için statik ip olmasını şart koştuktan sonra
kuruluma başlayalım. Start > Settings > Control Panel > Add Remove Programs >Add Remove
Windows Components
Çokta yabancı olmadığımız bir bölümden Networking Services tıklayarak Details tıklarız.

Şekil – 6

Domain Name Systems (DNS) işaretlenir ve OK basarak kurulumu tamamlarız.

Şekil - 7

Sonrasında eğer bir Active Directory kurulumu yapılacaksa dcpromo deyip kurulum esnasında
işletim sistemi gerekli zone oluşturmasını dns kayıtlarını otomatik olarak açacaktır. Ama biz
sistemciler AD yapımıza daha sonralardan değişik zone’lar ekleme ihtiyacı duyarız bu
durumlarda aşağıda inceleyeceğimiz gibi zone oluşturmalıyız.

Forward Lookup Zone Oluşturma

Dns Servisimizi başlata dnsmgmt.msc yazarak hızlıca açıyoruz ve SERVER’ a sağ klik New
Zone basarak primary zone oluşturmaya başlıyoruz.

Şekil - 8

Next ile zone oluşturmak için devam ediyoruz.

Şekil – 9
Primary Zone seçiyoruz ve zone oluşturmaya devam ediyoruz.

Şekil - 10

Not: Store the zone in Active Directory kutusunu işaretleyerek dns database mizin AD’nin
içinde saklanmasını sağlayabiliriz.
Bu bölümde zone un AD yapısı içinde nasıl bir replikasyon stratejisi belirleyeceğini tayin ediyoruz.
Benim işaretli olarak bıraktığım şekilde bütün domain controller ile replikasyon yapacaktır.

Şekil – 11

Primary Zone ismini de belirleyerek ilerliyoruz.


Şekil – 12

Allow only secure dynamic updates işaretli bırakarak Zone updates lere karşı güvenli bir
şekilde izin verecegimizi belirtiyoruz. Bu durumda domain’deki kullanıcılar dns sunucumuzdaki
zone güncelleştirebilecekler.

Şekil - 13

Primary Zone oluşturmasını tamamlamış bulunuyoruz.


Şekil – 14

Şimdi bir Host (A) record oluşturalım. Yani yapacağımız işlem telefon defterine açıp Fatih
KARAALİOĞLU yazıp yanına da 09002109090 yazmak anlamına gelir. Host A kaydı bize
isimden ip çözümlemeye yardımcı olacak kayıttır.

Primary Zone sağ klik New Host (A) tıklıyoruz.

Şekil - 15
Mail isimli bir kayıt oluşturuyoruz ve ip’sinide giriyoruz. Bu kaydı örnek vermek gerekirse nette
kullanabiliriz.

Şekil - 16

Bir Host A kaydı oluşturarak mantığı anladık ve daha sonralarda MX kaydı olsun CNAME olsun
ayni anlayış ile oluşturacağımızı bilmeliyiz.
Sub Domain Oluşturma

Tek başına bir anlam ifade etmeyen ama alt domain ile anlamlı olan domain alınabilir. Önce sub
domain ne demektir onu araştıralım:

Sub domain domaininizin başına eklediğiniz ve arada. (nokta) bulunan domaindir. Örneğin
fenerbahceliler.com diye bir domain aldınız. Bu domaine çeşitli sub domainler ile yeni domainler
elde edebilirsiniz. Mesela istanbul.fenerbahceliler.com, ankara.fenerbahceliler.com gibi sonsuz
sayıda fenerbahceliler.com domaininin alt domainlerini oluşturabilirsiniz.

İnternette bazı sitelerde domainlerin başında bulunan www kısaltması aslında bir sub domaindir.
Bir internet jargonu olduğu için www. şeklinde alt domain oluşturulmuş ve asıl domainin kendisi
bu alt domaine yönlendirilmiştir.

Sonuç itibari ile sub domainler ile hedeflenen bir domain, kendisi bir anlam ifade etmese bile
alınabilir.

Esersolmaz.com zone sağ klık New Domain e tıklayarak bir sub domain oluşturabiliriz.
Şekil - 17

Sub domainimizin ismini belirliyoruz ve OK basarak işlemi tamamlıyoruz.

Şekil – 18 Şekil - 19

Pointer (PTR) Record

Bir IP adresine karşılık gelen Host ismini öğrenmek için oluşturulur. DNS içindeki Reverse
Lookup Zone bölümünde bulunur. Opsiyenel olan bu zone ve kayıt özellikle nslookup
komutlarında ip si bilinen DNS sunucularının isimlerini öğrenmek sorgulara cevap verir. Ama asıl
görevi ise büyük ölçekli domainlerden mail gelirken domaininizde olup olmadığı kontrol
edilmesidir. Eğer var ise sorun yok mail normal olarak gelir ama yoksa genelde junk ya da spam
a düşebilir.
Reverse lookup zone içinde oluşturmuş olduğumuz bir primary zone içinde PTR record
oluşturmak için primary zone üzerinde sağ klik yaparız ve New Pointer (PTR) tıklayarak ilerleriz.

Şekil – 20

Host IP sinin son hanesini ve host name yazarak OK basarız ve PTR kaydının oluşmasını
sağlamış bulunmaktayız.
Şekil – 21

Start Of Authority ( SOA ) Record

Herhangi bir Zone dosyası içinde oluşan ilk kayıttır. Zone için Primary DNS Name Server tipini ve
Administrator’a ait e-mail bilgisi tanımlanır. Replication için özel bilgileri tutar. Domain adını host
ismine çözümleme işlemini yapar.

Şekil - 22

SOA kaydına sağ klik properties basarak o zone üzerinde yapabileceğimiz bütün ayarlara
ulaşmış olabilir ve sonrasında cache süresinden zone değişiklik sayısına kadar birçok bilgide
elimizin altında olacaktır.
Service (SRV) Record
Servis adını Host adına ve port numarasına çözümlemek için kullanılır.
Örneğin ; _tcp._ldap.cozumpark.com > mail.cozumpark.com

Nameserver (NS) Record

Tüm Forward ve Reserve Loopup Zone ler içinde bir NS record görünür. Her bir zone için DNS
server tanımlamalarında yardımcı olarak, Domain adını host adına çevirmek için kullanılır.

Mail Exchanger (MX) Record

SMTP mail server’larına yardımcı olan bir kayıt tipidir. Host ismine çözümleme yapar.

Forward lookup zone üzerinde sağ klik New Mail Exchanger (MX) tıklarız.

Şekil – 23
Fully qualified domain name (FQDN) of mail server altına mail sunucumuzun ismini ister yazar
ister sekte browse tıklayarak mail sunucumuzun host A kaydını gösterebiliriz ve mail
sunucusunun kim olduğunu belirtmiş oluruz.

Şekil – 24

Alias (CNAME) Record

Cname kullanım amacı ise bir IP adresine birden fazla host adı atayarak her iki isimde de
sorgulandığında aynı IP adresine çözümleme yapmasını sağlar.

Forward lookup zone altında esersolmaz.com zone üzerinde sağ klik New Alias (CNAME)
tıklarız.
Şekil - 25

Alias name burada ikinci isim olarak düşünebiliriz ve FQDN de beraberinde kullanılacak record
girerek ikisini de aynı IP bağlamış oluruz. Alias name boş geçersek ve fqdn olarak ta www
kaydını gösterirsek. Biri http://esersolmaz.comolacakta sorgu gönderse
gene http://www.esersolmaz.com adresine ulaşacaktır. Ama bu işlemi yapmazsak ve www
yazmadan gelen olursa sunucu cevap vermeyecektir.

Şekil – 26
TXT Record ( SPF için anlatılmaktadır )

TXT Record oluşturmak istediğimiz zone üzerinde sağ klik yapıp Other New Records ile
ilerliyoruz.

Şekil - 27

Listeden Text (TXT) seçip Create Record butonuna basıyoruz.


Şekil – 28

Record name kısmına bir isim verip yada boş geçerek text kısmına önceden oluşturduğumuz
metni yazıyoruz. Ama mantık çok basit olduğu için v=spf1 a mx ipv4:212.172.34.34/32 gibi
yazıp geçebiliriz yada başka mail sunucu iplerimizde varsa
devamına ipv4:212.172.34.35 yazarak devam edebilirz.

Şekil – 29

Sender Policy Framework oluşturmak için wizard


http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx

Sender Policy freamework Test etmek için query adresi

http://www.kitterman.com/spf/validate.html

DNS Zone Trasfer

Dns zone transferi hangi amaçla kullanırız diye düşünürsek. Farklı lokasyonlardaki client lara isim
çözümleme hizmeti verecek makinelerin birebirleri ile replikasyon yaparak databaselerini
eşitlemeleri. Bu sayede x lokasyonunda kurulan bir web sunucusu kendini dns register ettikten
sonra replikasyon sayesinde host record u y lokasyonuna taşınır ve y lokasyonundaki bir client
sorguyu gönderdiğinde y lokasyonundaki dns sunucusundan cevap alır. Yada şölede
düşünebiliriz aynı lokasyonda sürekli olarak up olması gereken bir dns sunucunuz var ise yanına
bir dns sunucusu daha koyarak ikinci dns sunucu üzerinde secondary zone oluşturarak
replikasyonlarıda ayarlarız ve biri down ola bile diğeri up olacağını düşünerek kullanabiliriz.

DNS Zone Transferi Nasıl Çalışır

Primary DNS Server yetkili olduğu sistemde DNS veri tabanının üzerinde her türlü ayarı yapabilir.
Secondary DNS Server ise bu veri tabanının bir kopyasının bulundurur ve sadece okuma
hakkına sahiptir. İlk bağlandığında bu verilerin bir kopyasını Secondary Dns Server a geçer. Dns
veri tabanını bir başka DNS server’a aktaran server Master DNS Server olarak adlandırılır.Master
Dns Server genellikle bir Primary DNS server ‘dır ancak bir Secondary DNS Server başka bir
Secondary DNS Server’ın Master DNS Server’ı olabilir. Dns Server lar arasında periyodik olarak
verilerin sekronizasyon olması prensibine dayanır. Bu süre DNS Server üzerinde ayarlanır. İki
türlü zone trasferi vardır. Bunlar Full Zone Transfer ve Incremental Zone Trasfer.

Şimdide iki adet dns sunucu üzerinde zone transferini nasıl yapacağımızı inceleyelim.

Master DNS sunucumuz üzerinde önceden oluşturduğumuz bir zone üzerinde sağ
klik Properties yapıyoruz.
Şekil – 30
Zone Trasnfers tabına tıklıyoruz. 3 çeşit zone transfer methotu vardır. Birincisi herhangibi bir
yerden zone transfer e izin vermek için to any server ( Bu size ne kazandırır? Sizdeki bir zone
xxx hiç tanımadığımız biri gidip kendi DNS sunucusu üzerinde secondery zone olarak
tanımlayabilir. Bence güvenlik açığıdır ) İkincisi sadece kendi name server ları ile arasında only
to servers listed on the name server tab dır . Üçüncüsü ve benim en güvenli bulduğumonly to
the following server ile sadece sizin belirlediğiniz ip lerden zone transfer için izin vermiş
olursunuz.

Şekil – 31
Reverse lookup Zone transferine izin vermek için zone üzerinde sağ klik properties yapıyoruz.
Şekil - 32

Zone transferi yapmasına izin vereceğimiz DNS sunucusunun ip adresini girip OK butonuna
basıyoruz.

Şekil – 33
Zone transferi yapacak olan sunucumuzda Reverse lookup zones üzerinde sağ klik new
zone diyerek ilerliyoruz.

Şekil - 34

Next ile ile zone transferine başlamak için ilerliyoruz.


Şekil – 35

Oluşturacağımız Zone tipinin bir secondery zone olduğunu Secondery zone tabını işaretleyerek
belirtiyoruz.

Şekil – 36

Network id kısmına Reverse lookup zone muzun IP bloğunun giriyoruz ve next ile ilerliyoruz.
Şekil – 37

Master DNS Server ip adresini IP address tabına girerek add butonu ile ekliyoruz ve next ile
devam ediyoruz..

Şekil – 38

Başarılı bir şekilde Reverse lookup zone için secondery zone tanımlaması yapmış
bulunmaktayız.
Şekil – 39

Şekilde de görüldüğü gibi bir süre sonra kayıtlar secondery zone transfer olmuş durumdadır.

Şekil – 40
Forward lookup zone üzerinde sağ klik new zone a tıklayarak yeni bir secondery zone
eklemeye başlıyoruz.

Şekil – 41

Secondery zone eklemeye başlamak için next ile devam ediyoruz.

Şekil – 42
Yeni oluşturacağımız zone tipinin secondery zone olacağını secondery zone tabını seçerek
belirtiyoruz.

Şekil – 43

Secondery zone ismini belirterek next ile ilerliyoruz.

Şekil – 44
Master DNS server ip adresini IP address tabına girerek add butonu ile ekliyoruz ve next ile
devam ediyoruz.

Şekil – 45

Secondery zone tanımlamamızı başarılı bir şekilde bitirmiş durumdayız.

Şekil – 46
Master DNS server üzerinde oluşturduğumuz primary zone’ları secondery zone’lara transferi bir
süre sonra gerçekleşmiş durumdadır.

Şekil – 47

Bu şekil üzerine konuşmak gerekirse başta yazan serial number o zone içinde yapılan giriş ve
değişiklik sayısını tutar her bir değişiklikte eklemede yada çıkarmada o sayı hep artar ve zone
transferi bu rakama göre olur 17 rakamını secondary zone ilk oluştuğunda olan deger olarak
kabul edersek secondary zone ilk transferde 17 kayıt üzerine alır. Sonrasında ise her 15
dakikada bir değişiklikleri kontrol eder ve gerekli kayıtların transferi gerçekleşir.
Şekil – 48

Bunlardan da önemlisi zone transferini niçin ve ne gibi durumlarda kullanacağımızı


konuşacak olursak.

Örnek Senaryo 1: Merkez ve şubelerden oluşan network yapınız vardır ve merkezde dc


şubelerde ise adc olduğunu düşünürsek. Merkezde bir master dns server üzerinde
oluşturacağımız primary zone lar. Şubelerde ise secondary zone olması şubelerdeki kullanıcıların
sorgularını merkeze değil kendi lokasyonundaki dns sunucusuna göndermesi ve cevabı ondan
alarak networkumuzda gereksiz yere trafik yaratmış olmayacağız.

Örnek Senaryo 2: Dış dünyaya açılmış dmz bölgesinde duran mail ve web sunucularımız var
bunların dns leri ise iç ağımızda bir olan bir dns yapmamız gerekiyor ama biz dmz bölgesine bir
secondary zone tutan dns sunucusu koyarak güvenliği arttırmış olabiliriz.

Forwording

Bir DNS sunucusunun kendi üzerinde tutmadığı diğer domainlerin isim çözümlemesi için başka
bir DNS sunucusuna sorma işlemine forwarding denir. Ne amaçla kullanıldığına değinecek
olursak. Localde kurulan bir DNS Sunucusu kendi içindeki makinlara kendi domain için hizmet
verir ama biz bu DNS sunucumuzu birde kullanıcılara real domain isimlerini getirmesini istersek
forwarder olarak ADSL modemi yada Telekomun DNS lerini ( 195.175.39.39-195.175.39.40 )
vermemiz yetecektir.

DNS sunucumuza sağ klik yaparak properties tıklıyoruz.

Şekil – 49
All other DNS domains seçili iken Selected domain’s forwarder IP address list bölümüne
forwarder IP leri sıra sıra ekleyebiliriz.

Şekil – 50
Conditional Forwarding

Bir DNS sunucusuna bilmediği domainlerden sadece birinin IP sini söyleyerek öğretme işlemine
ise conditional forwarding denir.

Dns sunucusunun özelliklerine gireriz.

Şekil – 51

Forwarders kısmından new e tıklayarak öğretmek istediğimi DNS sunucusunun domain adını
gireriz.
Şekil – 52

Conditional forwarding yaptığımız domain adının IP sinide girdikten sonra işlemimiz tamadır.
Bundan sonra DNS olarak bu sunucuyu gösteren clientlar berkant-mutlu.net ile ilgili bir sorgu
gönderdiğinde DNS sunucumuz 212.147.58.55 numaralı IP deki diğer DNS sunucusuna giderek
sorguyu sorar ve aldığı cevabı client verir.
Şekil – 53

DNS Server Caching

Bir DNS server en son yaptığı isim çözümlemelerini memory’de tutarak, bir sonraki istekte bunu
Cache’den çözümleyerek network trafiğini azaltma işleminde büyük katkı sağlar. Bu bilginin
cahce’de kalma süresine TTL ( time to live ) adı verilir. Bu süre zarfında bilgi memory de kalır.
Eğer DNS host bilgileri çok fazla değişmiyorsa TTL süresini uzun tutmak oldukça faydalıdır.