Dns Nedir ?

    Dns (Domain Name Server) alan adı sistemi anlamına gelir.Günümüz internet uzayında bölümlemeye,bölümleri adlandırmaya ve bölümler arası iletişimi  sağlayan bir sistemdir.İnternet ağını oluşturan her birim sadece  kendine ait bir ip adresine sahiptir.Bu Ip adresleri kullanıcıların kullanım kolaylığı için "www.example.com" gibi  kolay hatırlanabilecek  şekilde adreslere çevirir.Kısacası  dns sunucuları ,internet adreslerine karşılık gelen ip adreslerini tutar.

Dnse Servisinin Çalışma Yapısı

     Dns servisinin çalışma mantığı linux dosya sistemindeki gibi ağaç yapısına benzer.Tam olarak açıklamak gerekirse  bir kullanıcı herhangi  bir siteye erişmek istediiğinde (linux.org) tarayıcıda ilk olarak adres  bölümüne bir adres girildiği zaman  sırası ile  girilen alan adının hangi ip adresine denk geldiğinin çözülmesi gerekir.Bu işlem ise yerel  bilgisayarımızda bulunan nameserver değerine karşılk gelen dns sunucsu hangisi  ise  oraya gider ve girmiş olduğumuz adresin ip karşılığını sorar.Eğer bu adresin ip karşılığı bu dns server da varsa bize ip adresini döndürür.Eğer yoksa kök dns sunucuya gider.Kök dns sunucu ise cevap olarak uzantı  (org) alan adının yetkili olduğunu dns server adresine  yönlendirir.Yerel dns serverımız tekrak uzantılı(org) yetkili dns server adresine  istekte bulunur.Uzantılı(org) yetkili dns server yerel dns  server adresine sitenin ip adresini döndürür.Yerel dns sunucumuza  gelen ip adresi tarayıcı yardımı ile görüntülenir.Peki her seferinde bu işlem tekrar tekrar gerçekleşir mi? Hayır tabi ki dns sunucumuzda alan adlarına karşılık gelen ip adresleri  yerel dns sunucumuzda  bizim belirlemiş olduğumuz limitlerle tutulur.Yerel  sunucumuzda  tanımlı dns adreslerini görmek için chrome taryıcısında adres  bölümüne şu adresi girmeniz yeterli  olacaktır. "chrome://net-internals/#dns"

Bazı dns sorgu komutları

"dig linux.org.tr+trace"

Bu sorgulama ile dig komutunu ardından verilen domain adresinin çıktısı dns bilgilerini döndürür.Ancak domain isminden sonra +"trace" komutu yardımı ile girilmiş olan domain adresine ulaşana kadar geçilmiş olan dns serverları çıktı olarak gösterir.

İki tür sorgu çeşidi  vardır.İlk olarak kullanıcı ile  yerel dns sunucumuz  arasındaki  sorgular recursive sorgular olarak belirlenir.İkinci olarak yerel tanımlı dns sunucusu  ile diğer sunucular arasındaki sorgular ise iteratif sorgular denir.

dig @192.168.1.1 www.linux.org.tr

İkinci örnek olarak ise alan adı için yerel dns sunucumuza sorgu yaparak  eğer 192.168.1.1'li sunucu önbelleğine bakar eğer önbelleğinde alan adı adresi  karşılığı yoksa  kök  sunucuya aynı sorguyu yapar.Kök dns sunucusu ise "tr" alan adının yetkili olduğu dns sunucusu "ns.1.metu.edu.tr" dns sunucusunu cevap olarak döndürür.192.168.1.1'li ip adresi  bu cevabı aldıktan sonra ise direk  ns1.metu.edu.tr dns sunucusa ulak.net.tr adresini sorar ve cevap olarak "139.179.179.3" ip adresi döner.Burada istemci ile 192.168.1.1 arsındaki sorgular recursive sorgulardır.192.168.1.1 ile diğer dns sunucular arasında gerçekleşen sorgular ise iteratif sorgulardır.

Dns Sunucu çeşitleri

Kök sunucular:
  Tüm recursive sorgularda bilinmeyen bir alan adı için ilk sorgulama kök sunculara yapılrı.bi çok kök sunucu vardır.her ülkenin kendisine ait kök suncuları vardır.

Yetkili sunucular:
  Yetkili sunuclar bir ağaç yapısında düşünürsek üsten alta doğru yetkilendirilmiş sunuculardır.Mesala google.com alanın yetkili sunucusu google şirketi bünyesindedir.Bu sunucuyu yetkilendiriren com alan adı yetkili sunucusudur,com alan adı sunucusunu yetkliendiren ise kök sunucudur.

Örnek olarak ben linux.org.tr alanının yetkli dns sunucusunu kurabilmem için org yetkili DNS suncusunda aşağıdaki  şekilde bir kayıt girilmesi gerekir.
linux.org.tr NS 139.xxx.xxx.xxx

Bu şekilde artık linux.org.tr mail.linux.org.tr gibi sorgular benim dns sunucumdan sorgulanır.

Önbellekli Dns Sunucular :

  Herhangi alanın kayıtlarını tutmazlar.Son kullancıarın yapmış olduğu sorguları ya önbellekte yada recursive sorguyla bulup cevap dönerler.Çalışma mantığı dns sunuculara kayıt oluşturulurken kayıtlar için bir ttl kaydı  girilir.Bu ttl değerinin anlamı ise kayıtların sunucuda ne kadar süre tutulacağını belirtir.Mesela linux.org.tr yetkili dns sunucumuzda TTL  değerini 2000 sn'ye girdik  bize bir sorgu geldiği zaman gelen sorguya karşılık verdiğimiz cevap dan sonra 2000 saniye boyunca bir daha aynı sorguyu soramaz.Çünkü o sorgunun cevabı önbellekte tutulur.


Forwarde DNS sunucular :

   Bu dns sunucu  türünde ise dns ayarlar dosyası olan named.conf dosyasından "forwarders{8.8.8.8};" satırı eklenerek  gelen tüm sorgular(local kayıtlar hariç) 8.8.8.8 dns sunucusuna sorulur ondan gelen cevap  son kullanıcıya döner.Sunucumuzun daha az kaynak harcamasını istiyorsak  bu yöntem kullanılabilir.

Yorumlar

Bu blogdaki popüler yayınlar

İntellij Ide Kurulumu Maven kullanımı

Ubuntu Server Ldap Kurulumu

Vlan nedir ? Hp switchlerde Vlan yapısı ve Bazı network terimleri