$ man nameserver-nedir
Nameserver (NS) Nedir?
Nameserver, bir alan adının DNS bölgesini barındıran ve o bölgedeki kayıtlar için yetkili (authoritative) cevap veren sunucudur. Bir alan adının hangi nameserver'ları kullandığı, registry'de tutulan devretme (delegation) bilgisiyle belirlenir.
Yetkili nameserver ne yapar?
Yetkili nameserver, kendisine ait bölgelerin kayıtlarını (A, MX, TXT vb.) saklar ve bu kayıtlar için sorulduğunda "asıl kaynak" olarak cevap verir. Önbellekten cevap veren recursive resolver'lardan farklı olarak yetkili sunucu başka bir sunucuya sormaz; ya cevabı bilir ya da bölgesinde böyle bir kayıt olmadığını söyler. Genel çözümleme akışı için DNS Nedir? sayfasına bakabilirsiniz.
RFC 1034, her bölgenin en az iki nameserver tarafından sunulmasını ve bu sunucuların mümkünse farklı ağlarda bulunmasını önerir. Böylece bir sunucu veya ağ kesintiye uğradığında alan adı çözülmeye devam eder.
Registry'deki devretme ile zone içindeki NS kayıtları
Nameserver bilgisi iki farklı yerde bulunur ve ikisinin rolü farklıdır:
- Üst bölgedeki (parent) NS kayıtları: Registrar paneline girdiğiniz nameserver'lar, registrar tarafından EPP ile registry'ye iletilir ve TLD bölgesinde (örneğin
.com) yayınlanır. Resolver'larexample.comiçin kime soracaklarını buradan öğrenir. Bu bilgiyi WHOIS ve RDAP çıktısındaki nameserver alanında görürsünüz. - Bölge içindeki (child) NS kayıtları: DNS sağlayıcınızın zone dosyasında yer alan NS kayıtlarıdır. Bölgenin kendisi hakkında yetkili beyandır ve resolver'lar cevap aldıktan sonra genellikle bu kümeyi tercih eder.
; .com bölgesinde (registry tarafından yayınlanır)
example.com. 172800 IN NS ns1.example.net.
example.com. 172800 IN NS ns2.example.net.
; example.com bölgesinde (DNS sağlayıcınızda)
example.com. 86400 IN NS ns1.example.net.
example.com. 86400 IN NS ns2.example.net.
İki liste birbirini tutmalıdır. Tutmadığında bazı resolver'lar bir kümeyi, bazıları diğerini kullanır ve tutarsız, tespit etmesi zor hatalar ortaya çıkar. Kontrol etmek için:
; registry'nin bildiği devretme
$ dig example.com NS @a.gtld-servers.net +norecurse
; bölgenin kendi NS kayıtları
$ dig example.com NS @ns1.example.net +norecurse
Registrar ile registry arasındaki iş bölümü için Registrar ve Registry sayfasına bakın.
Glue kayıtları
Nameserver'ın adı, devrettiği alan adının içinde olduğunda bir döngü oluşur. Örneğin example.com için nameserver ns1.example.com ise, resolver ns1.example.com'un IP adresini öğrenmek için önce example.com'a sormak zorunda kalır; ama example.com'a ulaşmak için zaten o adrese ihtiyaç vardır.
Bu döngü, üst bölgede nameserver'ın IP adresinin de yayınlanmasıyla çözülür. Bu adres kayıtlarına glue denir:
; .com bölgesinde
example.com. 172800 IN NS ns1.example.com.
ns1.example.com. 172800 IN A 192.0.2.53
ns1.example.com. 172800 IN AAAA 2001:db8::53
Glue kayıtları registrar panelinde genellikle "host kaydı", "child nameserver" veya "özel nameserver" adıyla oluşturulur ve registry'de host nesnesi olarak tutulur. Nameserver'ınızın IP adresini değiştirirseniz bölge içindeki A kaydıyla birlikte registry'deki glue kaydını da güncellemeniz gerekir; yalnızca birini güncellemek kesintiye yol açabilir.
Nameserver başka bir alan adında ise (ns1.example.net gibi) glue gerekmez; resolver o ismi ayrıca çözebilir.
Nameserver değiştirme ve yayılma
DNS sağlayıcısı değiştirirken izlenecek güvenli sıra şöyledir:
- Yeni sağlayıcıda bölgeyi eksiksiz oluşturun ve tüm kayıtları (özellikle MX, TXT ve doğrulama kayıtlarını) kopyalayın.
- Yeni sunucuları doğrudan sorgulayarak kayıtların doğru döndüğünü doğrulayın:
dig @yeni-ns1.example.net example.com MX. - Alan adı DNSSEC ile imzalıysa önce DNSSEC geçişini planlayın; aksi hâlde alan adı doğrulama yapan resolver'larda çözülmez hâle gelebilir. Ayrıntılar DNSSEC Nedir? sayfasında.
- Registrar panelinden nameserver'ları güncelleyin.
- Eski sağlayıcıdaki bölgeyi en az eski NS kayıtlarının TTL'i kadar, tercihen birkaç gün daha açık tutun.
Registry'deki değişiklik genellikle kısa sürede TLD bölgesine yansır. Gecikmenin asıl kaynağı, resolver'ların önbelleğinde tutulan eski NS kayıtlarıdır. TLD'lerde NS kayıtları için kullanılan TTL'ler çoğunlukla saatler ile iki gün arasındadır; bu süre içinde bazı kullanıcılar eski sunuculara gitmeye devam eder. Bu süreç halk arasında "DNS yayılması" olarak bilinir; neden gerçekte bir yayılma değil önbellek süresi dolması olduğu TTL Nedir? sayfasında açıklanıyor.
Ayrıca alan adında clientUpdateProhibited veya serverUpdateProhibited durum kodu varsa nameserver değişikliği reddedilir. Bu kodların anlamı için EPP Durum Kodları sayfasına bakın.
Özet
- Nameserver, bölgenin kayıtları için yetkili cevap veren sunucudur; en az iki tane kullanılmalıdır.
- Devretme registry'de yapılır; bölge içindeki NS kayıtları bununla tutarlı olmalıdır.
- Nameserver alan adının kendi içindeyse glue kayıtları zorunludur.
- Nameserver değişikliğinde gecikmenin sebebi önbelleklerdir; eski bölgeyi hemen kapatmayın.
- Bir alan adının registry'deki nameserver'larını sorgulama aracı ile RDAP üzerinden görebilirsiniz.
Bir alan adının WHOIS/RDAP kaydını ve durum kodlarını gör.
whois sorgula →