DNS 2: DNS Sunucu Nedir?

Süleyman Düzdaban
Turk Telekom Bulut Teknolojileri
6 min readJan 4, 2023

İsim ya da IP adresleriyle ilgili sorguların ulaştığı ve bu sorguları cevaplayan ya da diğer DNS sunuculara yönlendiren sunuculardır.

Sorgulara verilecek cevaplar yani DNS kayıtları DNS sunucularda tutulur. İlgili kayıtlara sahip olmayan DNS sunucular ise kayıtları barındıran diğer DNS sunuculardan temin ederek sorguyu kendilerine ulaştıran istemciye iletir.

Genellikle UDP 53. port’tan erişim isteklerini kabul eder.

Çözümleyici DNS Sunucular (DNS Resolver Server)

Internet kullanıcılarının başlattıkları sorguların ulaştığı ilk DNS sunuculardır. Bu sunucularda genellikle sorgulanan alan adına ait kayıtlar tutulmaz (ya da az sayıda alan adına ait kayıtlar tutulur). Bunun yerine, kayıtların tutulduğu diğer DNS sunucularla iletişime geçerek kayıtları sorguyu başlatan istemcilere temin edecek şekilde yapılandırılırlar.

Örneğin Google DNS sunucuları olarak bilinen ve birçok Internet kullanıcısı tarafından kullanılan 8.8.8.8 ve 8.8.4.4 adresli sunucular DNS resolver rolüne sahip sunuculardır; fakat bu sunucular “google.com” alan adına ait kayıtları barındırmazlar. “google.com”a ait DNS kayıtlarını barındıran DNS sunucu adresleri ise ns1.google.com (216.239.32.10), ns2.google.com (216.239.34.10), ns3.google.com (216.239.36.10), ns4.google.com (216.239.38.10)’dur (“google.com”a ait bir önceki cümledeki bilgiler bu metnin yazıldığı tarih itibariyle geçerlidir. IP adresleri ya da DNS sunucuların isimleri zaman içerisinde değişebilir).

DNS resolver’lar diğer sunuculardan temin ettikleri kayıtları belirli bir süreyle önbellekte de sakladıklarından sorgulara daha hızlı ulaşma ve DNS trafiğinin azaltılmasına da yardımcı olurlar.

İstemci cihazlardaki ağ ayarları içerisinde yer alan “DNS Sunucular” da yine DNS resolver rolüne sahip sunuculara işaret ederler.
Linux-temelli işletim sistemlerinde DNS resolver adresleri genellikle /etc/resolv.conf dosyasında saklanır.

Windows işletim sistemlerinde ise bu ayarlara aşağıdaki adımlarla ulaşılabilir.

  1. “Windows” (Başlat) tuşunu basılı tutarak “R” tuşuna basın.
  2. Görüntülenecek kutuya “ncpa.cpl” yazıp Enter’a basın.
  3. Aktif ağ adaptörü üzerinde sağ tık > Özellikler’i seçin.
  4. Ağ İletişimi sekmesinde (IPv6 kullanılmıyorsa) “İnternet Protokolü Sürüm 4”ü seçip Özellikler’i tıklayın.

Kullanıcılar tarafından bilgisayarlarındaki DNS sunucu adresleri değiştirilmediği sürece varsayılan olarak işletim sistemlerindeki DNS resolver adresi Internet Servis Sağlayıcılar tarafından modemler aracılığıyla otomatik olarak kullanıcıların bilgisayarlarına tanımlanır.

Bir kurum ağına bağlı cihazlarda ise DNS resolver adresleri genellikle otomatik IP atama işlemi sırasında DHCP sunucular tarafından işletim sistemine bildirilir.

Ayrıca ev tipi modemler de DNS resolver/forwarder özelliğine sahip olabilir. Bu modemlere bağlı olan bilgisayarlarda DNS sunucu adresleri modem tarafından otomatik olarak modem üzerindeki resolver adresleri olarak ayarlanır.

Bu tip modemler üzerindeki resolver uygulamaları genellikle sınırlı işlem yapabilme yeteneğine sahip olan “stub resolver” olarak adlandırılırlar (Bazı işletim sistemlerinde de bu tip resolver uygulamaları bulunmaktadır).

Yetkili DNS Sunucular (Authoritative DNS Server)

Bir alan adına ait DNS kayıtlarının tutulduğu sunuculardır. Aynı zamanda resolver rolüne de sahip olabilirler; fakat genellikle bu yöntem tercih edilmez ya da yalnızca belirli sayıda istemci için resolver olarak çalışacak şekilde yapılandırılırlar.

DNS standartları gereğince bir alan adı ya da IP bloğuna ait DNS kayıtlarını barındırma ve yönetme yetkisi bu sunucularda bulunmalıdır. Bu yetki, delegasyon sistemi ile belirlenir; fakat aslında alan adına ait kayıtları yönetme yetkisi delegasyon ile verilmediği halde üzerinde alan adına ait kayıtları barındırması için yapılandırılan herhangi bir DNS sunucu (resolver’lar da dahil olmak üzere) Authoritative DNS Server rolüne sahip olabilir (DNS sunucular aracılığıyla bazı alan adlarına erişimleri engellemek için de bu yönteme başvurulabilmektedir).

Yine delegasyon yöntemiyle, yetkili oldukları alan adlarının alt alan adları için diğer DNS sunucuları yetkili kılabilirler. Ayrıca DNS cevap mesajları içerisinde gönderdikleri NS kayıtları ile resolver’ların sorgulama işlemine diğer yetkili name server’lara başvurarak devam etmeleri için resolver’ları bilgilendirebilirler (DNS referral).

DNS Kayıt Alanları (DNS Zone)

Authoritative DNS sunucularda alt alan adlarını da içeren kayıtların ait olduğu alan adı bölümleridir. Örneğin “turktelekom.com.tr” authoritative DNS sunucularında “turktelekom.com.tr” isimli bir zone bulunması gerekir. Varsayılan olarak “*.turktelekom.com.tr” ya da “…*.*.turktelekom.com.tr” şeklindeki tüm DNS kayıtları da yine bu zone içerisinde yer alır.

Bir DNS sunucuda birden çok zone bulunabilir.

İsim Kayıt Alanları (Forward Lookup Zone)

Alan adlarından IP adreslerine ya da diğer ifadelere işaret eden DNS kayıtlarının (A, TXT, MX, CNAME vd.) tutulduğu bölümlerdir.

Ters Kayıt Alanları (Reverse Lookup Zone)

IP adreslerinden alan adlarına işaret eden DNS kayıtlarının (PTR) tutulduğu bölümlerdir.

DNS Kayıtları (Resource Record set)

Alan adlarından IP adreslerine (Ör: “A” kaydı), alan adlarından IP adresi dışındaki diğer ifadelere (Ör: “MX”, “TXT”, “NS”) ya da IP adreslerinden alan adlarına (PTR) işaret eden verilerdir.

“Alan adı”, “tip”, “sınıf”, “TTL (time-to-live)” ve “veri” alanlarından meydana gelirler.

Sorgulanan adreslerin işaret ettiği ifadeler “veri” bölümünde saklanır.

Yaygın DNS sunucu uygulamalarından BIND’ın, örneğin “example.com” alan adı için oluşturulmuş forward lookup zone dosyasındaki örnek kayıtlar şu biçimde görünecektir:

Yukarıdaki ilk örnek, bir A (Address) kaydına aittir. En çok kullanılan kayıt türlerinden biridir. IP adresini bilmeden bir adrese erişebilmemizi sağlayan sistemler sıklıkla bu kayıtları sorgularlar.

Boşlukla ayrılmış değerler sırayla “alan adı” (ya da adres), “TTL”, “sınıf” (Internet anlamına gelen “IN” dışındaki sınıflar neredeyse hiç kullanılmaz.), “kayıt tipi” ve “veri” yani en baştaki alan adının işaret edeceği “IP adresi”ni ifade eder. Bu kayıt, DNS sunucunun, “www.example.com" adresi için kendisine gelen bir A sorgusuna, cevap olarak tüm bu bilgilerin verilmesini sağlar.

İkinci ve üçüncü örnek MX (Mail Exchanger) kayıtlarına aittir. Bu kayıt türü ise e-postaların sorumlu e-posta sunuculara iletilmesi için sorgulanırlar. En yaygın kullanılan kayıt türlerinden biridir. E-posta sunucuların bu kaydı sorgulamadan, e-posta adresinize gönderilen bir mesajı posta kutunuza iletebilmesi neredeyse imkansızdır. Aynı alan adı için birden fazla MX kaydı oluşturulabilir.

MX sorgusu gerçekleştirdikten sonra bu iki örnek kaydı elde eden e-posta sunucular, “example.com” uzantılı e-posta adreslerine gönderilen e-postaları mx1.somemailserver.com ya da mx2.somemailserver.com adresli sunuculara iletmeyi denerler. Kayıt tipinden sonraki “10” ve “15” değerleri e-posta sunucular tarafından e-postaların iletileceği sunucuların öncelik sırasını belirlemek için kullanılır (Küçük sayı daha önceliklidir).

BIND forward lookup zone dosyalarında satır başındaki ilk değer boş bırakıldığında ya da “@” işareti kullanıldığında “alan adı”nın zone dosyasının temsil ettiği ya da varsa ilgili satırdan önceki $ORIGIN parametresinin işaret ettiği alan adının kastedildiği varsayılır. Satır başındaki ilk değer nokta (“.”) karakteri ile sonlanmıyorsa o ifadenin sonuna da otomatik olarak aynı ifadelerden biri ($ORIGIN ya da zone adı) eklenir.

Dördüncü satırdaki örnek, bir SRV (Service) kaydına aittir. Bir servise erişecek kullanıcıların, bu servisin adresini bilmeden de servise erişebilmelerini sağlamak için bazı ağ uygulamaları tarafından sorgulanırlar. Bu kayıt türünde “alan adı” değeri için genellikle ön tanımlı bir ifade kullanılır.

Microsoft otomatik ürün etkinleştirme servisi olan KMS’ye (Key Management Service) erişmek isteyen kullanıcıların bilgisayarlarındaki KMS istemci servisi bu kaydı sorguladığında aldığı cevabı, winkms1.example.com ve winkms2.example.com adreslerinin 1688. port’una erişmek için kullanır. Kayıt tipinden sonraki ilk sayı MX kaydında olduğu gibi birden fazla aynı tipte kayıt varsa öncelik sırasını (Küçük olan önceliklidir.), ikinci sayı öncelik sıraları eşit olanlar arasındaki öncelik sırasını (Büyük olan önceliklidir.), üçüncü sayı ise port numarasını ifade eder. Alan adı içerisindeki “_vlmcs” ifadesi, KMS, Microsoft Toplu Lisanlama Servisleri (Volume Licensing Services) kapsamında sunulan bir ürün olduğu için Microsoft tarafından tercih edilmiş ön tanımlı bir değerdir ve KMS servisini kullanabilen tüm ürünler içerisinde bu alan adını sorgulamaları gerektiğine dair bilgi zaten yer almalıdır (almaktadır da). KMS istemci servisi, alan adı içerisindeki “_tcp” ifadesini ise KMS servisine TCP protokolünü kullanarak erişmek için kullanır. “_vlmcs” ifadesi gibi bu ifade de KMS istemci servislerinde ön tanımlıdır.

Son satırdaki örnek ise bir TXT kaydına aittir. İşaret ettiği değer bu kaydı sorgulayan servisler tarafından genellikle yetkilendirme işlemlerinde kullanılır. Diğer kayıt tiplerinin aksine işaret ettiği değerler farklı formatlarda olabilir (TXT kısaltmasından da anlaşılabileceği gibi neredeyse herhangi bir metinsel (text) ifade kullanılabilir).

Eskiden telefon kulübelerinde de bulunan telefon defterleri bir ülkedeki neredeyse tüm sabit telefon hattı kullanıcılarının isim-soyisim ve telefon numaralarını içerirdi. Sabit telefon hattı aboneleri hat başvuruları sırasında bilgilerinin bu defterde yer alıp almamasına yönelik taleplerini iletebilirlerdi. Bir sistem olarak DNS’i tanımlamak için bu defter kastedilerek sıklıkla “telefon defteri” benzetmesi kullanılır. DNS kayıtları içerisindeki alan adı isim-soyisim ile, IP adresi ise telefon numarası ile ilişkilendirilir. Yukarıdaki örneklerde görülebileceği üzere A kaydı dışındaki kayıt tipleri, bir alan adını IP adresleri dışındaki ifadelerle ilişkilendirmek için de kullanılabilmektedir.

Örneğin “41.122.74.in-addr.arpa” alan adı için oluşturulmuş bir reverse lookup zone dosyasındaki örnek kayıtlar ise şu biçimde görünecektir:

Bu iki kayıt sırayla 74.122.41.4 ve 74.122.41.5 için mx1.somemailserver.com ve mx2.somemailserver.com adreslerine işaret eder.

PTR kayıtları genellikle spam e-posta tespiti sırasında e-posta sunucu uygulamaları tarafından gerçekleştirilir ve kaydın içerisindeki değerler e-posta sunucuları tarafından yetki kontrolü ile ilgili işlemlerde kullanılır.

--

--