Nslookup ile com.tr uzantılı adreslerin isim çözümlemesi farklı IP adresleri dönüyor

Merhaba,

Ilk mesajimizda belirttigimiz gibi bu blog’u yaratmakta ki amaçlarimizdan bir tanesi sizlere karsilastigimiz problemleri anlatmak ve belki de arama motorlarinin yardimiyla eristiginiz bu sitede yasadiginiz problemlere yardimci olmaktir. Içinde bulundugum destek ekibi gerçekten de hem nitelik hem de nicelik olarak çok sayida problem ile ilgilenerek çözümler sunmaktadir. Burada yayinlamayi düsündügün problemler nelerdir diye Sorulunca o an için cevap verememek gerçekten farkli bir duyguymus onu anladim. Bu yüzden de ilk olarak yakin zamanda bir kaç Kurumsal sirketin yasadigi ve bana da ilginç gelen bir problemi sizlerle paylasmak ve de isim çözmlemesi ile ilgili bilgiler vermek istedim.

Kurumsal olsun olmasin bir çok internet kullanicisi, nslookup aracini bir kere mutlaka kullanmislardir. Bu aracin en temel görevi isim çözümlemesini yaptigimiz DNS sunucuna sorgu göndermektir. Bildiginiz gibi tüm isletim sistemlerinde ister yerel isterseniz de Internet üzerinde isim çözümlemesi yapmak için DNS sunucularini kullaniriz. DNS sunucu isimlerini ise TCP/IP seviyesinde elle veya DHCP’nin bize atadigi IP adreslerini kullanarak belirleriz. Nslookup ise o an için tanimlanan DNS sunucusunu veya bizim özellikle belirttigimiz DNS sunucusunu kullanarak sorgu gönderir.

Genelde çogumuz isim çözümlemesinde Ingilizce single-label, yani tek bir kelimeden olusan isimleri, yani NetBIOS isimlerini kullaniriz. Örnegin, server1 gibi. Böyle bir istek gönderdigimizde, eger etki alaninin (domain) üyesiysek, isletim sistemi bizim için etki alani adini ekleyerek bu sorguyu gönderir. Örnegin, siz Baslat > Çalistir alaninda \\server1\share yazarak baglanmak istediginizde, eger NetBIOS ismine yanit alamazsak, sorgumuz server1.domain.com.tr. olarak gönderilecektir. Dikkatinizi çektiyse bu sorgunun sonunda bir tane daha “.” isareti bulunmaktadir. Bu da sorgunun FQDN (Fully Qualified Domain Name) yani Tam Nitelikli Etki Alani adi oldugunu ve üst seviye alan adi dahil (.) gösterir. Normalde hiçbirimiz sonuna bir nokta daha girerek sorgu göndermeyiz çünkü isim çözümleyici görevini yerine getiren API (Application Programming Interface - Uygulama programlama arayüzü) lar bunu bizim yerimize yapar.

Nslookup ise sorgunuzun FQDN olmasini ister. Bu nedenle, siz server1.domain.com.tr diye bir sorgu gönderirseniz ve de makinaniz domain.com.tr etki alaninin üyesiyse, ilk sorgumuz server1.domain.com.tr.domain.com.tr. olacaktir. Görüldügü gibi domain.com.tr etki alanini ve sonundaki noktayi ekleyerek gönderir. Hedef DNS sunucusundan yanit alamadiginda, üst seviye etki alanindan önceki etki alani adini azaltarak devam eder: server1.domain.com.tr.com.tr

Normalde bu sorguya da cevap alamayip, üst seviye etki alanini da azaltip sorgu göndermesi, yani server1.domain.com.tr., ve sonuçta eger server1 isimli kayit varsa, DNS’den cevap alamasini bekleriz. Bizim problemimiz de burada basliyor: TR.com.tr etki alanini barindiran sunucu ihtiyari cevap döndügü için, yönlendirme tr.com.tr adresine yapiliyor!

Burada problem Hosting firmasinin daha önce Verisign’in da kullandigi yöntemi kullaniyor olmasi ve host ettigi etki alani için gelen her sorguyu veritabaninda yoksa tr.com.tr web sitesini host eden sunucuya yönlendiriyor olmasi. Çözüm ise nslookup ile gönderilecek sorgularin com.tr etki alanlari için mutlaka FQDN olarak, yani sonundaki noktayi da dikkate alarak, gönderilmesidir. Tekrar hatirlatmakta yarar var, bu problemi sadece NSlookup ile sorgulama yaparken yasamaniz olasidir.

Nslookup’in çalisma mantigi ile ilgili detaylari ve kullanim bilgilerini asagida bulabilirsiniz:

NSlookup.exe Aracini Kullanma

 Okan Çetinim