Domain Name System (DNS) yani alan adı sistemi. Bu sistem bir makinenin IPv4 ya da IPv6 adreslere çevrilmesi ya da herhangi bir IPv4 adresinin makine adına çevrilmesi için kullanılmaktadır. DNS ortaya çıkmadan önce bir makineye bağlanırken (bu makine herhangi bir web adresi de olabilir) bu makinenin IP adresini hosts dosyasından bularak erişim sağlanmaktaydı. Hosts dosyası Windows işletim sistemlerinde C:\Windows\System32\Drivers\etc\ dizininde (C:\Windows\System32\Drivers\etc\hosts) yer almakta, Linux işletim sistemlerinde /etc dizininde (/etc/hosts), MacOS işletim sistemlerinde de /private/etc dizininde (/private/etc/hosts) yer almaktadır.

DNS öncesinde hosts dosyası kullanılırken IP adresini bilmediğimiz bir siteye erişebilmemiz mümkün olmamaktaydı. Bu hosts dosyaları belirli zaman aralıklarında güncellenmekteydi. Ancak bu işlem güvenlik açıklarına da sebebiyet vermekteydi. Web adresinin hosts dosyası içerisindeki IP adresi değiştirilerek ziyaretçinin farklı bir sunucuya ulaşması sağlanabilir ve bilgileri çalınabilir. Bu hosts dosyaları hala işletim sistemlerince kullanılmaktadır. DNS sorgulaması yapılmadan önce ilk olarak hosts dosyasına bakılmaktadır. DNS'in geliştirilmesiyle birlikte hosts dosyalarının kullanılırlığı azaldı ve DNS sunucuları tarafından alan adlarının kayıtları tutulmaya başlandı.

DNS

DNS Nasıl Çalışır?

Web adreslerinin uzantılarını hepimiz biliyoruz. Com, net, org gibi web uzantılarının da aslında sonlarında . olacak şekilde bir uzantı bulunmaktadır. Bu . uzantısı root DNS sunucusunu temsil etmektedir. Örnek bir alan adı olarak backlink.name alan adını ele alalım. Öncelikle cihazımız root DNS sunucusuna gidecektir. Root DNS sunucusundan Name adresine ait alt DNS sunucusuna gidecektir. Name adresinin DNS sunucusu ise backlink.name adresinin yönlendirilmiş olduğu DNS sunucusuna ait nameserver adreslerini bize vermektedir. Nameserver adreslerinin bağlı bulunduğu DNS sunucus ise alan adımızın IP adresi ya da yapılan DNS sorgusuna göre eposta sunucu bilgilerini bize vermektedir. Aşağıdaki şema üzerinde bu işlemlerin adımlarını daha detaylı görebilirsiniz.

DNS Kayıt Türleri

  • A Kaydı: Bu kayıt türü IPv4 adresi olmaktadır. IPv4 olarak tutulan kayıt web site adresi, eposta sunucu adresi, veritabanı adresi, uzak masaüstü adresi gibi bir adresi tanımlıyor olabilir.
  • AAAA Kaydı: Bu kayıt türü IPv6 adresi olmaktadır. Yine A kaydındaki gibi herhangi bir adresi tanımlıyor olabilir.
  • CNAME Kaydı: Canonical Name isminin kısaltmasıdır, bir adrese takma isim belirlemek için kullanılır. 
    Örneğin:
    ftp.domainadresi.com. CNAME domainadresi.com.
    ftp.domainadresi.com adresi çağrıldığında aslında domainadresi.com çağrılmaktadır. doaminadresi.com için bir A kaydının belirlenmesi gerekmektedir.

    Kök alan adı için yani domainadresi.com için direkt CNAME belirlenmesi durumunda oluşturulacak diğer tüm DNS kayıtları geçersiz kalacaktır. Bunun sebebi sorgulanacak kayıtların domainadresi.com adresine değil CNAME olarak tanımlanmış olan adrese yapılmasındandır.

  • MX Kaydı: Mail Exchanger kaydıdır. O alan adının eposta sunucusunu belirtmektedir.
    Örneğin;
    backlink.name. adresinin MX değeri mail.backlink.name. ise gelen eposta mail.backlink.name. cihazına gidecektir. Dolayısıyla mail.baklink.name. için de bir A kaydının olması gerekmektedir.

    MX kayuıtları birden fazla olabilir. Bu durumda öncelikli olarak hangi sunucuya epostanın gideceğini belirlemek için öncelik değerleri belirlenir. Öncelik durumu sayısal değer olarak en küçük olandan en büyük olana doğru belirlenmektedir.
  • TXT Kaydı: Bu kayıt türü ismindende anlaşılacağı üzere text yani metin türünde bir kaydı ifade etmektedir. TXT kaydı genellikle eposta sunucularını doğrulamak için kullanılan SPF, DKIM kayıtları gibi değerleri tutmaktadır. 
    • SPF kaydı: Sender Policy Framework, eposta gönderimi yapılan sunucuyu doğrulamak için belirlenmektedir. Genellikle v=spf1 ile başlar, sonrasında +a +mx -all gibi bir değerle devam eder. +a eposta gönderimi yapmış olduğunuz mevcut alan adının A kaydını belirtmektedir. Alıcı adrese @backlink.name uzantılı bir adresten eposta geldiğinde backlink.name. A kaydından geldiğinde bu epostanın doğru bir kaynaktan gelmiş olduğunu ifade etmektedir. Aynı şekilde +mx ifadesi de bu adresin MX kaydına ait bir adresten gönderim yapıldığında doğru olduğunu teyit etmektedir, -all ise bu kayıtların dışında başka bir IP üzerinden eposta geldiyse eğer alıcı adresin epostayı kabul etmemesi gerektiğini belirtmektedir.
    • DKIM Kaydı: DomainKeys Identified Mail, eposta gönderimi yapılan sunucu üzerinde private key ve public key oluşturulur. Eposta gönderim işleminden önce private key ile imzalanır. TXT kaydına ise bu dkim kaydına ait public key eklenir. Epostayı alan adres TXT kaydında bulunan public key ile epostanın imzalamasını karşılaştırır. Eşleşme bulunursa eğer eposta kabul edilir. Eşleşme bulunamazsa eğer eposta spam olarak reddedilir.
  • NS Kaydı: Bu kayıt türü alan adının nameserver adreslerini belirtmektedir. Alan adınızı yönlendirmiş olduğunuz nameserver adresleri ile ilgili DNS sunucusundaki NS kayıtlarının aynı olması gerekmektedir. Farklı bir kayıt girilmesi durumunda alan adı yönlendirilmiş olduğu nameserverdan değil yanıt alınan NS kaydının bulunduğu sunucudan DNS kayıtlarını alacaktır.
  • PTR Kaydı: Pointer Record, Revers DNS gibi isimlerle de anılmaktadır. Bu kayıt diğer kayıt türlerinden farklı olarak IP adresi için tanımlanmaktadır.  Bir eposta sunucusu için olmazsa olmaz bir kayıttır. Eposta sunucusunun çıkış IP adresine mutlaka PTR kaydı tanımlanmalıdır. Her eposta sunucusu gelen eposta için PTR kontrolü yapmamakta ancak eposta gönderiminde spama düşmemek adına yapılabilecek en sağlıklı işlem PTR kaydının tanımlanması işlemidir.

    IP adresinin çözümlediği PTR kaydı ile eposta sunucusunun hostname adreslerinin eşleşmesi gerekmektedir ve aynı şekilde hostname adresinin IP adresi de aynı IP adresini çözmesi gerekmektedir. Kısa bir örnekle açıklamak gerekirse
    Eposta sunucu adresi ve bu sunucunun hostname adresi turing.backlink.name olsun 
    turing.backlink.name. A kaydı 83.150.215.93 IP adresini çözümlemektedir.
    Bu sunucu üzerinden yapılan eposta gönderimleri 83.150.215.93 IP adresi üzerinden çıkış sağlayacaktır. İlgili IP adresinin de PTR kaydı turing.backlink.name olmalıdır.

DNS önbellekleme ile çalışmaktadır. Bu sebeple DNS kayıtları üzerinde bir değişiklik yaptığınızda, yapmış olduğunuz değişikliği tüm dünya geneline yansıması bu önbellekleme süresine göre değişmektedir.

DNS yayılma süresini etkileyen faktörler nelerdir?

Alan adı DNS (Alan Adı Sistemi) kayıtlarını güncellediğinizde güncellemelerin Internete yayılması 48 saat kadar sürebilir. Siz alan adınız için herhangi bir güncelleme yaptığınızda bu değişiklik Root sunucularında anında kaydedilir. Ancak yayılma süresini etkileyen faktörler arasında şunlar yer alır:

  • TTL (Yaşam Süresi) : TTL, sunucuların DNS kayıtlarınız için bilgileri önbelleğe alma süresidir. Örneğin belli bir kayıt için TTL süresini bir saat olarak ayarlarsanız, sunucular, yetkili ad sunucundan gelen güncel bilgileri almadan önce söz konusu kayıtla ilgili bilgileri yerel olarak bir saat boyunca saklar. Daha kısa süreli TTL ayarları yayılma hızını artırabilir. Ancak daha kısa süreli ayarlar, yetkili ad sunucunuza gönderilen sorguları artırabilir ve yük artışı sunucunuzun işlem süresini yavaşlatır. Bu nedenle genel olarak sunucular üzerinde TTL süresi 24 saattir.
  • ISS'niz (Internet Servis Sağlayıcı) : ISS'niz (Örneğin Türk Telekom ve Türkiye’deki diğer kurumlar) Web tarama işlemini hızlandırmak ve yayılma süresini yavaşlatan trafiği azaltmak için DNS kayıtlarınızı önbelleğe alır (DNS sunucunuzdan yeni veriler almak yerine verileri yerel olarak saklar). Bazı ISS'ler TTL ayarlarını yok sayarak iki-üç günde bir yalnızca önbelleğe aldıkları kayıtları günceller. Bu durumda yine yapmış olduğunuz DNS değişikliğinin yavaş yayılmasına sebep olur.
  • Yerel bilgisayarınız veya modeminiz : Internet servis sağlayıcınız ile aynı mantıkla web tarama ve diğer Internet erişim hizmetlerinin size daha hızlı sunulabilmesi için bilgisayarınız ve modeminiz üzerinde DNS cache tutmaktadır. Bu cache sistemide yapmış olduğunuz DNS değişikliklerinin yavaş yayılmasına neden olacaktır. Genellikle modem ve bilgisayarın yeniden başlatılması cache’lerin temizlenmesini sağlayacaktır.