Menü

DNS QUERY & FORWARDERS

02 Temmuz 2015 - Server Platforms
DNS QUERY & FORWARDERS

Bugün anlatacağım konu DNS’in, yönlendirmelerinin nasıl yapıldığı ve nasıl sorgulama yaptığından bahsedeceğim.

Dns terimiyle, internet kullandıysanız muhahkak karşılaşmışsınızdır. Dns yaptığı iş bakımından kısaca tanımlamak gerekirse, isim çözme yapılarıdır. İsim çözmeden kastımız, Dns ile birlikte ulaşmak istediğimiz web sayfasını veya domain’e dahil client’ların ismini yazarak ulaşabiliyoruz. Fakat problem şu ki makinalar isim kullanarak haberleşemezler. Evdeki pc’den “www.google.com” gidebilmesi için, makinanın o web sunucusunu barındıran ip adresine ihtiyaçı vardır. İşte bu ip adres bilgisini bize veren sisteme DNS (Domain Name System) denir.

forwarders1-0

 

 

 

 

 

 

 

Dns sunucuları web sayfalarının yada domain içindeki client’ların listesini yani kayıtlarını tutmaktadır. Bu kayıların içeriği şu şekilde olur. “www.google.com” karşılık gelen ip adresi 8.8.8.8 ‘dir, gibi kayıtları tutarlar, ancak dünyadaki bütün web adreslerini tek bir dns sunucusunda tutulma imkanı yoktur. Bu sebebten dolayı dns sunucuları birbirlerine kayıtları sormaktadırlar. Bu sorgu şekli hiyeraşiktir ve yukarıdan aşağı şekilde gerçekleşir.

Dns’e bir kayıt sorduğumuzda kayıt kendisinde yok ise başka bir dns sunucusuna sorar ve bu şekilde kaydı tutan dns sunusuna erişim sağlar, o da gerekli ip bilgisini geri döndürür.

forwarders1-1

 

 

 

 

 

 

 

 

 

Bahsettiğimiz hiyariş yapı şu şekildedir;

Yapıdaki en üstte “.” İle belirtiğimiz yer root hints (Kök Sunucular) olarak adlandırılır. Bu sunucular internet sisteminin belkemiğini oluşturmaktadır. ICANA adlı kuruluş tarafından yönetilmektedir. Çoğunluğu Amerika olmak üzere dünya üzerinde dağıtılmışlardır.

forwarders1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Root hints sunucuların altında top lever domain adını verdiğimimiz alan adları uzantıları yer alır. Dns sorgularında, ilk root hints sunularına gelmekte, buradan aradığımız adresin namespace’sine göre gerekli sunuculara yönlendirir.

forwarders2.png

 

 

 

Bu işleme örnek vermek gerekirse “wwww.google.com”’a gitmek istediğimizde öncelikle root hints sunucularına yönlendirilir.Root hints sunucuları bende böyle bir kayıt yok ancak seni sonu .com ile biten sunuculara yönlendiriyorum der. Com sunucularıda bize gideğiceğimiz ip adres bilgisini gönderir.

Dns’de bir sorgu yapacaksak, bunu TCP ve UDP 53 portundan yapar. Yani dns önünde bir firewall varsa gidip TCP ve UDP 53 portunu erişim izni vermemiz gerekir.

Dns sorguları iki şekilde yapılır, bunlar;

forwarders3.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FORWARDERS ;

Uygulamamızda amacımız bir dns sunucusunun bilmediklerini root hint’lere değilde, bilmediklerini başka bir dns sunucusuna sorma işlemine forwarders denir.

Bir örnek verecek olursak yapımızda iki adet dns sunucusu ve test için bir client2 ihtiyaçımız olacak. Dns1’de “test.com” adında bir zone ve “deneme.test.com” adında bir host a kaydı açıyor ip olarakta 1.2.3.4 veriyorum.

forwarders4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Dns-2’de de sunucu özelliklerinden forwarder sekmesine, dns-1 ‘in ip bilgini giriyoruz, bunun nedeni senin bilmediğin kayıtları buradaki dns sunucusuna sor demektir.

forwarders5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Client’ın ip konfigration kısmınada dns bilgisi olarak dns-2’yi verirsek ben dns-2’ye 192.168.90.2’yi atamıştım. Bu işlemden sonra kaydını oluşturduğum “deneme.test.com” ‘a ping atıyorum.

forwarders6.png

 

 

 

 

 

 

 

 

 

 

 

 

Ping sonucu kaydın 1.2.3.4 ip adresine olduğunu iteratative sorgu sonuçlandırmaktadır. Öncelikle client ilk olarak dns-2 sunucusuna böyle bir kayıta sahip mi sorar ,eğer bilmiyorsa daha önce ayarladığımız dns-1 sunucusuna forwaders edilir.

CACHING ;

Cache işleminide daha iyi kavrama için yukardaki uygulamamızdan gidelim. Şimdi “deneme.test.com” diye oluşturduğumuz host a kaydının ip adres bilgisini değiştirelim.

forwarders7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Client’tan tekrar ping attığımızda karşımıza eski ip bilgisi olan 1.2.3.4 adresine gitmeye çalışacaktır, ancak artık böyle bir ip kaydı yoktur. İşte bu işlemi yapan dns client cache diye adlandırdığımız dosyada tutar.

forwarders8.png

 

 

 

 

 

 

 

İp bilgisini değiştirdiğimiz için yanlış yol bilgisini göstermektedir. Bu cache dosyasını silmek gereklidir, kullancağımız komut “ipconfig /flushdns” ‘dir. Peki bu cache file2ları listelemek içinse “ipconfig/ displaydns “ komutunu kullanırız.

forwarders1-2

 

 

 

 

 

 

 

 

 

 

Yukardaki şekilde de görüldüğü gibi sadece client cache’ini temizlemek yeterli gelmemektedir.Bu kaydı dns server cache’inden de silmemiz gerekmektedir. Bu işlemi DNS konsolundan sunucu adına sağ click özelliklerden clear cache ile temizlenir.Bu işemi command prompt’dan “dnscmd /clearcache” komutu ile de yapabilirsiniz.

forwarders10

 

 

 

 

 

 

 

 

 

 

Şimdi tekrar client’ımıza giderek “ping deneme.test.com” komutunu koşturusak dns sorgusu güncel ip bilgisini gösterecektir.

forwarders11.png

 

 

 

 

 

 

 

Birde cache dosyası windows/system32/driver/etc altında host file dosyasında tutulmakdadır. Host file cache2’deki bilgileride kapsamaktadır ancak ipconfig /flushdns komutuyla temizlenmez, dosyayı notepad ile açarak gereksiz host a kayıtları temizlenir.

forwarders12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Eğer ipconfig /flushdns komutuyla cache temizliği yapmanıza rağmen ip bilgisi yanlış yere yönlendiriliyorsa, o kaydı host file’dan silinmelidir.

CONDITIONAL FORWARDERS;

Dns’in dışardaki kayıtları çözebilmesi için;

  1. Root Hints
  2. Forwarders’a bakar.

Onun dışında birde Conditional Forwarder dediğimiz şartlı forwarders durumu vardır. Forwarders gibi bilmediği her keyıt için yönlendirme yerine,  “test.com >>> 7.8.9.4” ‘den çöz demektir,  bu işleme conditional forwarders denir.

forwarders1-3

 

 

 

 

 

 

Conditional forwarders’a dns konsolundan sağ click new conditional forwarding diyerek test.com için 7.8.9.4 ip’sini eşleştiririz. Artık birisi dns2’e test.com’u sorarsa, dns ip bilgisi olarak 7.8.9.4’ü verecektir.

forwarders14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Sonuç olarak DNS isim çözme işlemi için şu adımları gerçekleştirir ;

  1. Bende kayıt varmı (DNS)?
  2. Conditional Forwarders varmı ?
  3. Forwarders varmı ?

Bunlardan da sonuç bulamaz ise Root Hint’se sorar, sonucu olumlu yada olumsuz bir şekilde bildirir.

Hakkı İNKAYA

Please follow and like us:
facebooktwittergoogle_pluslinkedinrssby feather
pinterestlinkedinmailby feather

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir