DNS nasıl çalışır?

Gökhan Şengün
Oct 2, 2017 · 3 min read

Bu flood’da kısaca DNS’in çalışma prensibini, isim kaydı türlerini ve DNS sorgusu yapmaya yarayan bazı araçları anlatacağım.

DNS (Domain Name System) kısaca internet’in telefon defteri olarak tanımlanabilir. Erişilmek istenen sunucunun bilinen isminden, ki bu bilinen isim FQDN (Fully Qualified Domain Name) olarak adlandırılır, örneğin yahoo․com, IP adresini öğrenebilmek için DNS protokolünü kullanırız. Bir web sitesinin adresini tarayıcımızın adres çubuğuna girdiğimizde tarayıcı öncelikle kendi lokal cache’inde ilgili adres için IP’nin bulunup bulunmadığına bakar. Lokal olarak istenen tazelikte (ilgili kaydın belirleyeceği süre, 1 saat, 1 gün vb) istenen bilgi bulunamazsa bilgisayarda tanımlı olan DNS sunucuya (bu sunucu genellikle internet sağlayıcınızın -ISP- DNS adresi olur) recursive olarak istek atılır. İlgili sunucu, istenen bilgi kendisinde istenen tazelikte varsa isteği direkt cevaplar kendisinde yoksa bir üst sunucuya istekte bulunur. İstenen cevap zincirdeki sunucularda bulunamazsa kaydı tutan asıl sunucuya kadar gidiler, cevap bulunur ve dönülür.

Birçok tarayıcı kendi lokal cache’ini tutmaktadır. Chrome için chrome://net-internals/#dns adresinden lokal cache'e ulaşabilirsiniz.

Image for post

Yukarıda bahsedilen tazelik, DNS isteğine verilen cevapta TTL (time-to-live) olarak bulunur. TTL süresi DNS kaydının sahibi tarafından belirlenir. DNS süresini kısa (5 dakika gibi) vermek, sunucu adresini değiştirdiğinizde kullanıcıların hızlı bir şekilde yeni adrese gelebilmelerini sağlar fakat DNS sunucularına daha fazla yük binmesine ve genel DNS problemlerinden daha fazla etkilenmenize neden olur.

DNS kayıtları için TTL süresi DNS sağlayıcısının verdiği ekrandan düzenlenir. Benim sitem için GoDaddy ekranının görüntüsü aşağıdaki gibi.

Image for post

Aşağıda en önemli DNS sorgu çeşitleri verilmiştir. En çok kullanılanı ve bilineni IP versiyon 4 adresi dönen A kaydı sorgusudur.

Image for post

NS kayıt tipini bir alt domaini başka bir DNS sunucusunun yönetmesini istediğimizde kullanırız. Örneğin DNS kaydımızı GoDaddy, uygulama sunucularını da Amazon'da tuttuğumuzda GoDaddy'ye bir NS kaydı girerek buradan Amazon DNS sunucusunu gösteririz. İsim kaydı sorgulanırken güncel IP adresi Amazon DNS'ten kolaylıkla bulunur. Bu sayede Amazon'daki sunucu adresini sürekli olarak GoDaddy'de güncellememiz gerekmez.

CNAME kayıt tipini farklı domain'leri tek bir domain'de birleştirmek istediğimizde kullanabiliriz. Örneğin sitemizde example․com ve www․example․com gibi iki farklı adresi CNAME ile tek example․com'da birleştirebiliriz. CNAME'i aynı zamanda farklı bir domain'e yönlendirme amacı ile de kullanabiliriz. Örneğin benim blogum GitHub tarafından gokhansengun․github․com'da sunuluyor. Ben GoDaddy'de gokhansengun․com'un www subdomain'i için bir CNAME kaydı ekledim ve bunu gokhansengun․github․com'a yönlendirdim.

SRV kayıt tipi sunucu tarafından sunulan bir servisin adres, protokol ve port bilgisini döner. Bu kayıt tipi güncel olarak özellikle mikroservis tipi sistemlerde Service Discovery yapan modüller tarafından kullanılmaktadır.

DNS kayıtlarını sorgulamak için nslookup veya dig adlı program kullanılabilir. Bu iki program da macOS, Linux ve Windows'ta bulunur.

Image for post

Yukarıda milliyet․com․tr A tipi kayıtlar için nslookup ile iki kez sorgulanmış ve DNS sunucusu tarafından üç adet IP iki sorgu için farklı sıralarda dönmüştür. Burada istemci sunucu tarafından dönen ilk adresi kullanacağı için DNS bazında bir yük dağıtımı yapılmış olur.

Şimdi dig aracı ile Amazon DNS'lerine yönlendirilen aws-demo․gokhansengun․com için konulan NS kaydını sorgulayalım.

Image for post

Yukarıdaki çıktının cevap bölümünden aws-demo subdomain'i için delege edilmiş ns-1100.awsdns-09.org sunucusu görülmektedir.

Son olarak yine dig aracı ile www․gokhansengun․com için A kaydını sorgulayalım.

Image for post

Çıktıdan görüleceği üzere blog adresim CNAME ile önce GitHub’a yönlendirilmiş. GitHub ise yine CNAME ile Fastly CDN’ine yönlendirmiştir.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store