DNS yönlendirme hatası genellikle iki farklı şeyin karıştırılmasından kaynaklanır: DNS sunucusu, sorgulara cevap veren sistemdir; DNS kaydı ise bu sistemde tutulan tekil bilgidir. A kaydı bir alan adını IPv4 adresiyle, CNAME başka bir alan adıyla, NS kaydı ise alan adı için yetkili DNS sunucularıyla ilişkilendirir.
Basit akış şöyledir: Tarayıcı bir alan adı için DNS sorgusu gönderir, alan adının hangi yetkili sunucular tarafından yönetildiğini öğrenir ve ardından bu sunucularda bulunan A veya CNAME gibi kayıtları okur. Bu nedenle doğru kayıt doğru DNS panelinde bulunsa bile alan adı yanlış yetkili sunucuları kullanıyorsa beklediğiniz yanıt alınmayabilir.
DNS Sunucusu ile DNS Kaydı Arasındaki Fark Nedir?
DNS’i anlamanın en kolay yolu onu bir adres defterine benzetmektir. DNS sunucusu adres defterinin kendisi, DNS kaydı ise defterin içindeki tek bir satırdır. Sunucu, gelen soruyu karşılar ve elindeki kayıtlara göre cevap verir; kayıt ise “bu alan adı hangi adrese veya başka hangi ada karşılık geliyor?” sorusunun yanıtını taşır.
Örneğin tarayıcıya ornek.com yazdığınızda bilgisayarınız bu metni doğrudan bir sunucu adresi olarak kullanamaz. Önce DNS üzerinden alan adının hangi IP adresine karşılık geldiğini öğrenir. DNS sunucusu ilgili kaydı bulur ve tarayıcıya bağlantı kurulabilmesi için gereken yanıtı döndürür.
DNS sunucusu ne yapar?
DNS sunucusu, DNS sorgularını yanıtlayan bilgisayar sistemi veya hizmetidir. Bir kullanıcı belirli bir alan adı için IP adresi sorduğunda sunucu şu işlemlerden birini yapabilir:
- Elindeki kayıtlara bakıp doğrudan cevap verebilir.
- Başka DNS sunucularına sorarak cevabı bulabilir.
- Daha önce öğrendiği cevabı önbellekten döndürebilir.
- Alan adı veya kayıt bulunamadığında hata yanıtı verebilir.
Burada önemli nokta, DNS sunucusunun mutlaka sizin web sitenizin çalıştığı sunucu olmak zorunda olmamasıdır. Web sitenizin dosyaları bir sunucuda, DNS kayıtlarınız ise farklı bir DNS hizmetinde bulunabilir. DNS hizmeti yalnızca alan adını doğru hedefe yönlendiren kayıtları yanıtlıyor olabilir.
DNS kaydı neyi gösterir?
DNS kaydı, bir alan adı ya da alt alan adı hakkında belirli bir bilgi içerir. Kayıt türü, bu bilginin ne anlama geldiğini belirler. Başlangıç seviyesinde en sık karşılaşılan kayıtları şöyle düşünebilirsiniz:
| Kayıt türü | Ne ile ilişkilendirir? | Basit örnek | Teşhisteki rolü |
|---|---|---|---|
| A | Alan adını bir IPv4 adresiyle | ornek.com → 203.0.113.10 |
Alan adının hangi IPv4 sunucusuna gideceğini gösterir. |
| CNAME | Bir alan adını başka bir alan adıyla | www.ornek.com → ornek.com |
Bir adın başka bir DNS adına yönlendirilip yönlendirilmediğini gösterir. |
| NS | Alan adını yetkili DNS sunucularıyla | ornek.com → ns1.example.net |
Alan adının DNS kayıtlarını hangi sunucuların yönettiğini gösterir. |
Bu kayıtlar aynı görevi yapmaz. Örneğin A kaydını değiştirerek alan adının IPv4 hedefini değiştirebilirsiniz; ancak bu işlem alan adının hangi DNS sunucularını kullandığını değiştirmez. NS değişikliği ise daha üst seviyede bir yetkilendirmedir: “Bu alan adıyla ilgili DNS sorularının cevabını şu sunucular versin” anlamına gelir.
Sorgu hangi sunucuya gider?
Tarayıcının adres çubuğuna bir alan adı yazıldığında süreç tek adımda gerçekleşmez. Basitleştirilmiş akış şu şekildedir:
- Tarayıcı ve işletim sistemi daha önce öğrenilmiş bir DNS yanıtını kontrol eder.
- Gerekirse bilgisayar, yapılandırılmış DNS çözümleyiciye sorgu gönderir.
- Çözümleyici, alan adının hangi NS sunucularını kullandığını öğrenir.
- Yetkili NS sunucusuna giderek A, CNAME veya ilgili diğer kaydı sorar.
- Bulunan sonuç bilgisayara iletilir ve tarayıcı elde edilen adrese bağlanmayı dener.
Bu akışta iki ayrı soru vardır:
- “Bu alan adının yetkili DNS sunucuları hangileri?” sorusu NS kayıtlarıyla ilgilidir.
- “Bu yetkili sunucular alan adını hangi hedefe yönlendiriyor?” sorusu ise A veya CNAME gibi kayıtlarla ilgilidir.
Bu ayrım, DNS yönlendirme hatalarını teşhis ederken başlangıç noktasıdır. Bir kullanıcı alan adının yanlış IP’ye gittiğini düşünüyorsa A kaydını kontrol etmelidir. Fakat sorgu beklenmeyen bir DNS hizmetinden cevaplanıyorsa önce NS değerlerine bakmak gerekir.
DNS konusunu daha geniş bir yazılım mantığı içinde çalışmak isteyenler, alan adı ve sunucu iletişiminin arkasındaki temel düşünme becerilerini Berk Akademi blogundaki yazılım ve bilgisayar bilimi içerikleri üzerinden pekiştirebilir.
Adres defteri benzetmesini gerçek bir örnekle düşünmek
Diyelim ki ornek.com için şu kayıtlar bulunuyor:
ornek.com A 203.0.113.10www.ornek.com CNAME ornek.comornek.com NS ns1.dns.example
Bu yapı şu anlama gelir:
ornek.comiçin IPv4 hedefi203.0.113.10adresidir.www.ornek.comdoğrudan IP yerineornek.comadını takip eder.ornek.comalan adının DNS kayıtlarını cevaplama yetkisins1.dns.examplegibi NS sunucularındadır.
Buradaki NS sunucusu yanlış seçilirse, doğru A kaydı başka bir DNS panelinde kayıtlı olsa bile sorguyu yanıtlayan sunucu o kaydı görmeyebilir. Böyle bir durumda sorun “A kaydı hiç yazılmamış” gibi görünebilir; oysa asıl problem, sorgunun doğru adres defterine gitmemesidir.
NS Değişikliği Hangi Panelde Yapılır ve Yanlış Nameserver Ne Bozar?

Nameserver, bir alan adının DNS sorgularını hangi yetkili sunucuların yanıtlayacağını belirleyen sunucu bilgisidir. NS değişikliği genellikle alan adının satın alındığı veya yönetildiği kayıt kuruluşu panelindeki alan adı ayarlarından yapılır. A ve CNAME gibi kayıtlar ise alan adının NS değerlerinde gösterilen yetkili DNS hizmetinin DNS yönetim panelinde düzenlenir.
Bu nedenle “DNS ayarını değiştirdim ama etkisi olmadı” durumunda ilk bakılması gereken yer, kaydın doğru panelde değiştirilip değiştirilmediğidir. Alan adı başka bir DNS hizmetini kullanıyorsa, eski panelde yaptığınız A kaydı değişikliği sorgulara yansımayabilir.
Nameserver ile A veya CNAME kaydı arasındaki panel farkı
İki ayar seviyesini birbirinden ayırmak için şu modeli kullanabilirsiniz:
- Alan adı yönetim paneli: Alan adının hangi NS sunucularını kullanacağını belirlersiniz.
- Yetkili DNS paneli: Bu NS sunucularının cevaplayacağı A, CNAME, MX, TXT ve benzeri kayıtları düzenlersiniz.
Örneğin alan adınızın NS kayıtları belirli bir DNS hizmetini gösteriyorsa, ornek.com için A kaydı bu hizmetin DNS panelinden yönetilmelidir. Alan adı kayıt kuruluşundaki NS alanına yanlışlıkla web sunucusunun IP adresini yazmak doğru değildir; NS alanı DNS sunucusu adlarını bekler, A kaydı alanı ise IPv4 adresi içindir.
Bu farkı bir bina benzetmesiyle de düşünebilirsiniz. Alan adı yönetim panelindeki NS ayarı, postanın hangi binaya gönderileceğini belirler. DNS panelindeki A veya CNAME kayıtları ise o binadaki adres defterinin içeriğidir. Posta yanlış binaya gidiyorsa içeride doğru adresin yazılı olması sonucu değiştirmez.
Önce alan adı hangi NS sunucularını kullanıyor, bunu kontrol edin
Bir DNS yönlendirme hatasında doğrudan A kaydını değiştirmek yerine önce yetkili NS değerlerini doğrulamak daha güvenlidir. Aşağıdaki kısa kontrol sırası, yanlış panelde işlem yapma riskini azaltır:
- Alan adının mevcut NS değerlerini sorgulayın.
- Sonuçta görünen NS sunucularının hangi DNS hizmetine ait olduğunu belirleyin.
- Bu sunucuların yönettiği DNS panelini bulun.
- A veya CNAME kaydını yalnızca bu yetkili panelde düzenleyin.
- Değişiklikten sonra NS ve hedef kaydı yeniden sorgulayın.
NS kayıtlarını komut satırından kontrol etmek için şu örnekler kullanılabilir:
dig ornek.com NS
nslookup -type=NS ornek.com
dig çıktısında ANSWER SECTION bölümünü arayın. Burada alan adıyla birlikte NS sunucularının adlarını görmeniz beklenir. nslookup sonucunda ise nameserver veya benzer biçimde yetkili sunucu adları listelenebilir. Çıktıda görünen sunucu adlarını, işlem yaptığınız DNS panelindeki bilgilerle karşılaştırın.
Bu sorguların amacı A kaydının doğru olup olmadığını hemen kanıtlamak değil, önce hangi sunucunun cevap verdiğini anlamaktır. Eğer siz bir panelde A kaydını güncelliyor, fakat sorgu başka NS sunucularını gösteriyorsa değişiklik beklediğiniz DNS yanıtını üretmeyebilir.
Yanlış nameserver hangi belirtilere yol açabilir?
Yanlış nameserver kullanımı her zaman aynı belirtiyi oluşturmaz. DNS yanıtının yapısına, eski kayıtların durumuna ve sorgunun hangi çözümleyici üzerinden yapıldığına bağlı olarak farklı sonuçlar görülebilir.
| Belirti | Olası neden | Kontrol komutu | Düzeltme adımı |
|---|---|---|---|
| Alan adı eski sunucuya gidiyor | Sorgu hâlâ eski yetkili NS sunucularından cevaplanıyor olabilir. | dig ornek.com NS |
Alan adı yönetim panelindeki NS değerlerini ve doğru DNS hizmetini karşılaştırın. |
| A kaydı değiştiği hâlde sonuç değişmiyor | Kayıt, yetkili olmayan veya artık kullanılmayan bir DNS panelinde düzenlenmiş olabilir. | dig ornek.com A |
NS sorgusundaki sunucuların yönettiği panelde A kaydını güncelleyin. |
www açılmıyor, kök alan adı açılıyor |
www için CNAME veya A kaydı eksik ya da hatalı olabilir. |
dig www.ornek.com Adig www.ornek.com CNAME |
www kaydını yetkili DNS panelinde kontrol edin. |
| Beklenmeyen DNS yanıtı alınıyor | Yanlış NS, eski kayıt veya farklı bir DNS katmanının yanıtı kullanılıyor olabilir. | nslookup -type=NS ornek.com |
Önce yetkili sunucuları, ardından bu sunuculardaki kayıtları karşılaştırın. |
NS değerlerini değiştirmeden önce kısa kontrol listesi
- Değişiklik yaptığınız panelin alan adı yönetim paneli mi, DNS kayıt paneli mi olduğunu ayırın.
- Mevcut NS sunucularını not alın; yalnızca beklediğiniz değerleri varsaymayın.
- Yeni NS değerlerini girerken sunucu adlarının yazımını dikkatle karşılaştırın.
- A ve CNAME kayıtlarının yeni yetkili DNS panelinde gerçekten bulunduğunu kontrol edin.
- Kök alan adı ile
wwwalt alan adını ayrı ayrı sorgulayın. - Değişiklik sonrasında farklı sonuçlar görürseniz bunu hemen kayıt hatası olarak yorumlamayın; sonraki teşhis adımlarında önbellek ve sorgu kaynağını da ayırın.
DNS ayarlarını komutlarla ve sistematik kontrol adımlarıyla öğrenmek, yazılım geliştirirken karşılaşılan ağ ve sunucu problemlerini daha anlaşılır hâle getirir. Bu konuları uygulamalı ve eğitmen eşliğinde çalışmak isteyenler için canlı sınıflı yazılım eğitimleri içinde temel programlama ve problem çözme yaklaşımı kullanılabilir.
A, CNAME, NS, Kök Alan Adı ve www Nasıl Birlikte Çalışır?
Bir alan adının çalışması, tek bir DNS kaydının doğru olmasına bağlı değildir. Kök alan adı, www alt alan adı ve alan adının yetkili DNS sunucuları farklı görevler üstlenir. Bu nedenle kök alan adı açılırken www adresinin hata vermesi veya tam tersi, çoğu zaman bu adların ayrı ayrı kontrol edilmesi gerektiğini gösterir.
A kaydı, bir DNS adını IPv4 adresine bağlar. Örneğin ornekalanadi.test için A kaydının değeri 192.0.2.10 ise DNS istemcisi bu alan adını ilgili IPv4 adresiyle eşleştirir. Buradaki IP adresi yalnızca kavramsal bir örnektir; gerçek bir sunucuyu temsil etmek zorunda değildir.
CNAME kaydı ise bir DNS adını doğrudan IP adresine değil, başka bir alan adına yönlendirir. Örneğin www.ornekalanadi.test adı ornekalanadi.test adına işaret edebilir. DNS çözümleyici daha sonra hedef alan adının A veya AAAA gibi adres kayıtlarını arar. Bu nedenle CNAME, “bu adın asıl hedefi başka bir DNS adıdır” anlamına gelir.
NS kaydı, bir alan adının DNS kayıtlarını hangi yetkili ad sunucularının yönettiğini belirtir. Yetkili sunucu, ilgili alan adı için hangi A, CNAME, MX veya diğer kayıtların geçerli olduğunu bildiren DNS sunucusudur. Alan adının kayıtları doğru panelde düzenlense bile NS kayıtları yanlış DNS hizmetini gösteriyorsa yapılan değişiklikler internette beklenen şekilde görünmeyebilir.
Kök alan adı ve www aynı şey değildir
Kök alan adı, alan adının başında ayrıca bir alt alan adı bulunmayan biçimidir. Örneğin ornekalanadi.test kök alan adı olarak düşünülebilir. www.ornekalanadi.test ise bunun www adlı alt alan adıdır. Kullanıcı açısından ikisi aynı web sitesine gidiyor gibi görünebilir; ancak DNS açısından iki farklı ad için ayrı kayıtlar bulunabilir.
| Kayıt türü | DNS adı | Örnek değer | İşlevi |
|---|---|---|---|
| A | ornekalanadi.test | 192.0.2.10 | Kök alan adını örnek bir IPv4 adresine bağlar. |
| CNAME | www.ornekalanadi.test | ornekalanadi.test | www adını kök alan adına yönlendirir. |
| NS | ornekalanadi.test | ns1.dns-ornek.test | Alan adı için yetkili DNS sunucusunu gösterir. |
| NS | ornekalanadi.test | ns2.dns-ornek.test | Alan adı için ikinci yetkili DNS sunucusunu gösterir. |
Bu tablo gerçek bir alan adına veya gerçek bir DNS sağlayıcısına ait değildir. Amaç, kayıtların görevlerini birbirinden ayırmaktır. Kök alan adında A kaydı bulunması, otomatik olarak www adının da çalışacağı anlamına gelmez. Aynı şekilde www için CNAME tanımlanmış olması, kök alan adının hedef sunucusunun doğru olduğu anlamına gelmez.
Belirtiye göre hangi kayıt şüpheli olabilir?
- Kök alan adı açılıyor, www açılmıyorsa:
wwwiçin CNAME veya A kaydı eksik, farklı ya da hatalı olabilir. - www açılıyor, kök alan adı açılmıyorsa: Kök alan adının A kaydı kontrol edilmelidir. Kök alan adında yalnızca
wwwiçin oluşturulmuş bir CNAME bulunması sorunu tek başına çözmeyebilir. - Her iki ad da farklı bir hedefe gidiyorsa: Kök alan adı ve
wwwayrı sunuculara yönleniyor olabilir. - DNS yanıtı hiç alınamıyorsa: NS kayıtları, alan adının yetkili DNS hizmeti ve kayıtların düzenlendiği panel birlikte incelenmelidir.
- Bir ad doğru IP’yi, diğeri eski IP’yi gösteriyorsa: Kayıtlar arasında hedef uyumsuzluğu veya henüz yenilenmemiş DNS önbelleği olabilir.
Başlangıç seviyesinde en pratik yaklaşım, önce üç soruya cevap vermektir: Sorgulanan DNS adı tam olarak hangisi, bu adın kayıt türü ne, kayıt hangi hedefi gösteriyor? Bu soruları ayırmadan yalnızca “alan adı çalışmıyor” demek teşhisi gereksiz yere zorlaştırır. Temel DNS kavramlarını pekiştirmek isteyenler, ücretsiz yazılım ve kodlama bilgi testi üzerinden benzer mantık kurma ve problem çözme becerilerini de ölçebilir.
A ve CNAME aynı ad için neden çatışabilir?
A kaydı bir adı doğrudan IPv4 adresine bağlarken CNAME kaydı aynı adı başka bir DNS adına bağlar. Bu iki yaklaşım aynı DNS adı için farklı çözüm yolları tanımlar. Örneğin www.ornekalanadi.test için hem A kaydıyla bir IP adresi hem de CNAME kaydıyla ornekalanadi.test hedefi tanımlanırsa, hangi bilginin esas alınacağı belirsizleşebilir.
DNS standartları açısından CNAME kullanılan bir adın aynı ad üzerinde başka kayıtlarla birlikte bulunması çoğu senaryoda uygun değildir. Ancak DNS panelleri kayıtları farklı biçimlerde gösterebilir veya bazı hizmetler kök alan adı için sağlayıcıya özgü çözümler kullanabilir. Bu nedenle panelde görülen alanlara bakarak kesin hüküm vermek yerine, aynı DNS adı için hangi kayıtların yayımlandığını komut satırından kontrol etmek daha güvenlidir.
Örneğin www için hedef kök alan adı olarak seçilmişse şu mantık izlenir:
www.ornekalanadi.testiçin CNAME yanıtı var mı kontrol edilir.- CNAME hedefi olan
ornekalanadi.testiçin A veya AAAA kaydı aranır. - Kök alan adının döndürdüğü adresin beklenen sunucuya ait olup olmadığı incelenir.
- DNS doğru görünüyorsa sorun HTTP yönlendirmesi, TLS sertifikası, sanal sunucu ayarı veya web sunucusunun alan adı yapılandırmasında aranır.
Önemli nokta şudur: DNS kaydı yalnızca isim çözümleme aşamasını gösterir. Bir ad doğru IP adresine çözülse bile sunucu bu alan adını tanımıyor olabilir. Bu durumda DNS başarılı, fakat web sunucusu yapılandırması hatalı olabilir.
dig ve nslookup ile DNS Yanıtı Nasıl Okunur?

dig ve nslookup, bir alan adı için DNS sorgusu göndermeye yarayan komut satırı araçlarıdır. Bu araçlarla kök alan adının A kaydını, yetkili sunucuların NS kayıtlarını veya www adının CNAME hedefini ayrı ayrı inceleyebilirsiniz. Böylece tarayıcıdaki genel hata mesajını, ölçülebilir DNS yanıtlarına bölmek mümkün olur.
Aşağıdaki örneklerde example.com yalnızca dokümantasyon amacıyla kullanılmıştır. Gösterilen çıktılar kavramsal çıktı biçimleridir; gerçek zamanlı DNS yanıtı veya belirli bir tarihteki kayıt durumu olarak değerlendirilmemelidir.
dig ile kök alan adının A kaydını sorgulama
dig example.com A
; <<>> DiG <<>> example.com A
;; status: NOERROR
;; ANSWER SECTION:
example.com. 3600 IN A 192.0.2.10
Bu sorguda son bölümdeki A, yalnızca IPv4 adres kaydının istendiğini belirtir. ANSWER SECTION, DNS sunucusunun soruya verdiği doğrudan yanıt bölümüdür. Örnekteki 192.0.2.10 adresi temsili bir değerdir. Gerçek çıktıda burada alan adının yayımlanmış IPv4 adresi görünür.
status: NOERROR, sorgunun DNS protokolü açısından başarıyla yanıtlandığını gösterir.example.com., yanıtın hangi DNS adına ait olduğunu belirtir. Sondaki nokta, tam ve mutlak alan adı gösterimidir.3600, örnek çıktıda TTL değerini temsil eder. Bu değer, yanıtın önbellekte ne kadar süre tutulabileceğiyle ilgilidir.IN, internet sınıfını ifade eder.Ave ardından gelen IP adresi, alan adının IPv4 hedefini gösterir.
dig ile NS kayıtlarını kontrol etme
dig example.com NS
; <<>> DiG <<>> example.com NS
;; status: NOERROR
;; ANSWER SECTION:
example.com. 86400 IN NS ns1.dns-ornek.test.
example.com. 86400 IN NS ns2.dns-ornek.test.
NS sorgusunda amaç, alan adı için yetkili kabul edilen ad sunucularını görmektir. Birden fazla NS satırı bulunması yedeklilik amacı taşıyabilir; ancak burada asıl teşhis sorusu, kayıtları düzenlediğiniz DNS hizmetinin yetkili yanıt veren sunucularla uyumlu olup olmadığıdır.
Yanıt beklediğiniz DNS panelindeki kayıtlarla örtüşmüyorsa kayıtları yanlış panelde düzenliyor olabilirsiniz. Bu durumda A veya CNAME kaydını tekrar tekrar değiştirmek yerine önce NS zincirini kontrol etmek daha doğru olur.
www için CNAME sorgulama
dig www.example.com CNAME
; <<>> DiG <<>> www.example.com CNAME
;; status: NOERROR
;; ANSWER SECTION:
www.example.com. 3600 IN CNAME example.com.
Bu örnekte www.example.com doğrudan bir IP adresi döndürmek yerine example.com adına işaret eder. Bu yalnızca ilk adımdır. CNAME hedefi olan kök alan adının A veya AAAA kaydı ayrıca sorgulanmalıdır:
dig example.com A
dig example.com AAAA
CNAME zinciri birden fazla hedef içeriyorsa yanıt bölümlerinde bir adın başka bir ada yönlendiği görülebilir. Teşhis sırasında zincirin sonundaki adın gerçekten adres kaydına ulaşıp ulaşmadığına bakılır. Zincirin bir halkası eksikse www sorgusu CNAME döndürse bile tarayıcı bağlantı kuramayabilir.
Windows ortamında nslookup kullanımı
nslookup -type=A example.com
nslookup -type=NS example.com
nslookup -type=CNAME www.example.com
nslookup komutunda -type=A, -type=NS veya -type=CNAME seçeneği hangi kayıt türünün sorgulanacağını belirtir. Temel bir sorgu için kayıt türü yazmadan da şu komut kullanılabilir:
nslookup example.com
Bu temel kullanım, sistemin varsayılan DNS sunucusuna soruyu iletir. Aynı alan adı farklı ağlarda veya farklı DNS sunucuları kullanıldığında farklı yanıtlar gösterebilir. Bu nedenle bir sorun yaşandığında yalnızca tek bir bilgisayardaki sonucu kesin kanıt olarak görmek yerine, sorgulanan kayıt türünü ve kullanılan DNS sunucusunu not etmek gerekir.
Çıktıdaki hata mesajları nasıl yorumlanır?
NXDOMAIN, sorgulanan DNS adının ilgili DNS alanında mevcut olmadığına işaret eden bir yanıttır. Örneğin yanlış yazılmış bir alt alan adı, hiç oluşturulmamış bir www kaydı veya yanlış yetkili DNS sunucusuna yayımlanmış bir yapılandırma bu belirtiyle karşılaşmanıza neden olabilir. Ancak hatanın kaynağını bulmak için alan adını, kayıt türünü ve yetkili sunucuyu birlikte kontrol etmek gerekir.
- NOERROR ve ANSWER SECTION boşsa: Alan adı mevcut olabilir, fakat sorgulanan kayıt türünde doğrudan kayıt bulunmuyor olabilir.
- NXDOMAIN görülüyorsa: Sorgulanan DNS adı bulunamıyor olabilir. Yazım hatası ve yetkili DNS yanıtı kontrol edilmelidir.
- Sorgu zaman aşımına uğruyorsa: DNS sunucusundan yanıt alınamıyor, ağ erişimi sorunlu veya kullanılan sunucu isteği yanıtlamıyor olabilir.
- REFUSED benzeri bir yanıt varsa: DNS sunucusu sorguya yanıt vermeyi reddetmiş olabilir. Bu durum, kaydın kesinlikle yanlış olduğunu tek başına kanıtlamaz.
- ANSWER SECTION içinde beklenmeyen IP varsa: A kaydı yanlış hedefe işaret ediyor, farklı bir DNS hizmeti yetkili durumda bulunuyor veya önbellekte eski yanıt tutuluyor olabilir.
dig çıktısındaki status alanı, yanıtın genel durumunu anlamaya yardımcı olur; fakat tek başına web sitesinin kullanılabilir olduğunu kanıtlamaz. Örneğin A kaydı doğru bir IP adresi döndürebilir, fakat o IP üzerindeki web sunucusu ilgili alan adını tanımıyor olabilir. HTTP durum kodları, TLS sertifikası, ters vekil sunucu, sanal host ve uygulama yapılandırması DNS sorgusunun dışında kalan katmanlardır.
Bu nedenle DNS teşhisinde şu ayrım korunmalıdır: DNS yanıtı var mı? sorusu ile web sitesi HTTP üzerinden doğru yanıt veriyor mu? sorusu aynı değildir. DNS sorgusu başarılı olduktan sonra sorun devam ediyorsa bir sonraki inceleme alanı web sunucusu ve HTTP yapılandırmasıdır. Komut çıktılarını adım adım yorumlama ve neden-sonuç ilişkisi kurma becerisini geliştirmek isteyenler, algoritma bilgi testi üzerinden temel teşhis ve problem çözme yaklaşımını da sınayabilir.
Pratik DNS kontrol listesi
- Sorun yaşayan adresi tam yazın: kök alan adı mı,
wwwmü, başka bir alt alan adı mı? - Kök alan adı için
Ave gerekiyorsaAAAAkaydını sorgulayın. wwwiçin CNAME mi, A kaydı mı yayımlandığını kontrol edin.- CNAME varsa hedef alan adının ayrıca adres kaydı döndürüp döndürmediğine bakın.
- NS sorgusuyla hangi ad sunucularının yetkili göründüğünü inceleyin.
status,ANSWER SECTION, IP adresi ve varsa hata mesajlarını birlikte okuyun.- DNS yanıtı doğru olsa bile HTTP, TLS veya web sunucusu yapılandırmasının ayrıca incelenmesi gerektiğini unutmayın.
Tarayıcı Belirtisine Göre Dört Aşamalı DNS Teşhis Akışı
DNS yönlendirme hatasını teşhis ederken en hızlı yöntem, tarayıcıdaki belirtiyi doğrudan “DNS bozuk” diye yorumlamak yerine dört aşamada ilerlemektir: önce alan adının hangi yetkili nameserver’lardan yanıt aldığını doğrulayın, ardından ilgili paneldeki A veya CNAME kayıtlarını kontrol edin, kök alan adı ile www alt alan adını ayrı ayrı sorgulayın ve son olarak farklı çözümleyiciler ya da ağlardan aynı sonucu karşılaştırın.
Bu yaklaşım, DNS sorunu ile web sunucusu veya uygulama sorununu birbirinden ayırır. Örneğin alan adı doğru IP adresine çözülüyor olabilir; ancak web sunucusunda alan adı eşlemesi yapılmamışsa eski site açılabilir. Benzer şekilde DNS yanıtı doğru olsa bile TLS sertifikası, HTTP yönlendirmesi, sanal host ayarı veya uygulama yapılandırması nedeniyle tarayıcıda hata görülebilir. Sorunu katman katman incelemek, rastgele kayıt değiştirmekten daha güvenlidir.
Belirtiye göre uygulanabilir DNS teşhis tablosu
| Belirti | Olası neden | Kontrol komutu | Beklenen gözlem | Düzeltme adımı |
|---|---|---|---|---|
| Alan adı hiç çözülmüyor; tarayıcıda “sunucu bulunamadı” benzeri bir hata görülüyor. | Yanlış NS kaydı, yetkili DNS panelinde eksik kayıt, hatalı alan adı yazımı veya çözümleyici tarafında geçici yanıt sorunu olabilir. NXDOMAIN tek başına yalnızca alan adının o sorgu yolunda bulunamadığını gösterir; kesin nedeni tek başına kanıtlamaz. | dig NS example.com +shortdig example.com |
NS sorgusunda beklenen nameserver’lar görünmüyorsa alan adı farklı bir DNS hizmetini kullanıyor olabilir. A sorgusunda status: NXDOMAIN görülürse ilgili ad için kayıt bulunamadığı yönünde yanıt alınmıştır. |
Önce alan adının kayıt kuruluşunda tanımlı NS değerlerini doğrulayın. Sonra bu NS sunucularının yönettiği DNS panelinde kök alan adı için A veya uygun bir CNAME kaydı bulunduğunu kontrol edin. Kayıt doğruysa farklı bir çözümleyiciyle tekrar karşılaştırın. |
| Alan adı açılıyor fakat yanlış sunucu, eski site veya başka bir proje görüntüleniyor. | Yanlış IP adresine yönlenen A kaydı, yanlış hedefe giden CNAME, eski sunucuda hâlâ etkin alan adı eşlemesi veya web sunucusunda yanlış sanal host yapılandırması olabilir. | dig example.com +shortnslookup example.com |
Komut çıktısındaki IP adresi beklenen sunucunun IP adresiyle eşleşmiyorsa DNS tarafında kayıt sorunu düşünülür. IP doğru olduğu hâlde yanlış site açılıyorsa sorun DNS dışında, sunucunun alan adı eşlemesinde veya uygulama yapılandırmasında olabilir. | DNS panelindeki A/CNAME hedefini kontrol edin. IP doğruysa sunucuda ilgili alan adının doğru sanal host, reverse proxy veya uygulama projesiyle eşleştirildiğini inceleyin. Eski sunucunun yanıt verip vermediğini de ayrıca kontrol edin. |
www.example.com çalışıyor fakat example.com açılmıyor. |
Kök alan adı için A kaydı bulunmaması, kök alan adında hatalı CNAME kullanımı, kök ve www kayıtlarının farklı DNS panellerinde bulunması veya yalnızca www için web sunucusu tanımlanması mümkündür. |
dig example.com A +shortdig www.example.com A +shortdig www.example.com CNAME +short |
www sorgusu bir IP adresi veya geçerli bir CNAME döndürürken kök alan adı boş yanıt verebilir. Kök alan adında NXDOMAIN, NOERROR ile boş cevap veya farklı bir IP görülmesi olasıdır. |
Kök alan adı ile www için ayrı kayıtları kontrol edin. Kök alan adını sunucunun IP adresine yönlendirin veya DNS hizmetinizin desteklediği kök alan adı yönlendirme yöntemini kullanın. Ardından web sunucusunda her iki host adının da tanımlı olduğunu doğrulayın. |
| DNS değişikliği yapıldı ancak bazı ağlarda eski site, bazılarında yeni site görülüyor. | TTL nedeniyle farklı DNS çözümleyicilerde önbelleklenmiş yanıtlar, yerel cihaz veya modem önbelleği, farklı ağların farklı çözümleyiciler kullanması ya da değişikliğin yetkili NS sunucularına henüz yansımamış olması söz konusu olabilir. | dig @1.1.1.1 example.com Adig @8.8.8.8 example.com Adig @ns1.example-dns.com example.com A |
Yetkili NS yeni IP’yi döndürürken bazı genel çözümleyiciler eski IP’yi döndürebilir. Yetkili NS de eski değeri veriyorsa sorun önbellekten çok DNS panelindeki kayıt veya değişikliğin uygulanmasıyla ilgili olabilir. | Önce yetkili NS yanıtını esas alın. Genel çözümleyiciler arasındaki farkı TTL ve önbellek katmanlarıyla birlikte değerlendirin. Yerel DNS önbelleğini temizleyip farklı bir ağdan tekrar test edin; DNS yanıtı her yerde doğruysa HTTP, TLS veya uygulama katmanına geçin. |
Tablodaki example.com ve ns1.example-dns.com ifadeleri örnek yer tutuculardır. Kendi alan adınızı ve gerçekten yetkili olan nameserver adresini yazmalısınız. dig komutunda belirli bir çözümleyiciyi @ işaretiyle seçmek, “benim bilgisayarım ne görüyor?” sorusuyla “belirli bir DNS çözümleyicisi ne görüyor?” sorusunu ayırmanıza yardımcı olur.
Dört aşamalı karar akışı
- Kullanılan NS sunucularını doğrulayın.
dig NS alanadiniz.com +shortveyanslookup -type=NS alanadiniz.comkomutunu çalıştırın. Çıktıdaki nameserver’lar, kayıtları düzenlediğiniz DNS paneliyle gerçekten aynı hizmete ait mi kontrol edin. Yanlış panelde A kaydını değiştirmek, alan adının kullandığı yetkili DNS sunucularını değiştirmez. - Yetkili DNS panelindeki A ve CNAME kayıtlarını inceleyin. Kök alan adı,
wwwve kullanılan diğer alt alan adları ayrı kayıtlardır. Kök alan adı için beklenen A kaydı,wwwiçin ise A veya CNAME kaydı bulunup bulunmadığını kontrol edin. Hedefte yazım hatası, alan adı sonunda gereksiz nokta veya yanlış IP olup olmadığına bakın. - Kök alan adını ve
wwwadını ayrı sorgulayın. Birinin çalışması diğerinin otomatik olarak doğru yapılandırıldığı anlamına gelmez.dig alanadiniz.com A +shortvedig www.alanadiniz.com A +shortkomutlarını ayrı çalıştırın.wwwbir CNAME döndürüyorsa hedef adını da ayrıca sorgulayın. - Farklı çözümleyici ve ağlarla karşılaştırın. Aynı sorguyu yerel varsayılan çözümleyicinizle, farklı bir genel çözümleyiciyle ve mümkünse mobil internet gibi farklı bir ağ üzerinden tekrarlayın. Sonuçlar değişiyorsa TTL, önbellek veya çözümleyici farkını değerlendirin. Sonuçlar aynı olduğu hâlde tarayıcı yanlış siteyi açıyorsa DNS dışındaki sunucu ve uygulama ayarlarına geçin.
“Yanlış sunucu açılıyor” belirtisinde DNS dışını da kontrol edin
Yanlış sunucu görülmesi çoğu zaman yalnızca A kaydına bakılarak çözülemez. DNS doğru IP adresini döndürse bile web sunucusu gelen isteğin hangi alan adına ait olduğunu anlamak için Host başlığına veya TLS tarafında sunulan alan adına göre yapılandırılır. Nginx, Apache, IIS, reverse proxy veya uygulama sunucusunda alan adı eski projeyle eşleşmişse yeni IP’ye ulaşsanız bile eski içerik görüntülenebilir.
Bu nedenle şu ayrımı yapın:
- DNS komutu yanlış IP döndürüyor: Öncelikle A/CNAME kaydı ve yetkili DNS paneli incelenir.
- DNS doğru IP döndürüyor ancak eski site geliyor: Sunucu üzerindeki alan adı eşlemesi, sanal host veya reverse proxy kontrol edilir.
- Doğru site geliyor ancak HTTPS hatası alınıyor: Sertifika kapsamı, TLS yapılandırması ve HTTP’den HTTPS’ye yönlendirme incelenir.
- DNS doğru, HTTP yanıtı alınıyor ancak sayfa bozuk: Uygulama, yönlendirme, port, güvenlik duvarı veya veritabanı katmanına geçilir.
DNS teşhisinde komut çıktısını belgelemek de önemlidir. Alan adını, sorgulanan kayıt türünü, kullanılan çözümleyiciyi ve alınan IP adresini not edin. Böylece aynı sorunu tekrar tekrar çözmeye çalışmak yerine hangi katmanda farklılık oluştuğunu görebilirsiniz. Terimlerin kısa açıklamaları ve benzer teknik sorular için DNS ve programlama konularını açıklayan SSS bölümü yardımcı bir başvuru noktası olabilir.
TTL, DNS Önbelleği ve Değişikliklerin Farklı Görünmesi
TTL, yani Time To Live, bir DNS yanıtının çözümleyiciler ve diğer önbellek katmanları tarafından ne kadar süre saklanabileceğini belirleyen kayda bağlı değerdir. Bir DNS çözümleyicisi A kaydını aldığında her sorguda yetkili nameserver’a gitmek yerine yanıtı TTL süresi boyunca önbellekten sunabilir. Bu nedenle DNS panelinde yapılan bir değişiklik, her cihazda aynı anda görünmeyebilir.
Ancak farklı sonuçları yalnızca TTL ile açıklamak doğru değildir. Yerel işletim sistemi, tarayıcı, modem veya kurumsal ağ, internet servis sağlayıcısının çözümleyicisi ve kullanılan genel DNS çözümleyicisi farklı önbellek katmanları oluşturabilir. Ayrıca yanlış DNS panelinde yapılan değişiklik, yetkili NS sunucularında uygulanmayan kayıt veya kök alan adı ile www arasındaki farklı yapılandırma da benzer bir belirti oluşturabilir.
Değişikliğin hangi katmanda görünmediğini bulun
İlk test, yetkili nameserver’ın yeni kaydı döndürüp döndürmediğini kontrol etmektir. Yetkili NS yeni A veya CNAME yanıtını veriyorsa DNS panelindeki değişikliğin DNS otoritesine ulaştığı anlaşılır; farklı çözümleyiciler eski yanıt veriyorsa önbellek ihtimali güçlenir. Yetkili NS de eski kaydı döndürüyorsa henüz önbellek aşamasına geçmeden panel, kayıt türü, alan adı adı veya NS yapılandırması incelenmelidir.
dig NS example.com +short
dig @ns1.example-dns.com example.com A +short
dig @1.1.1.1 example.com A +short
dig @8.8.8.8 example.com A +short
dig @ns1.example-dns.com www.example.com CNAME +short
Bu örnekte ilk komut kullanılan nameserver’ları, ikinci komut yetkili sunucunun kök alan adı için verdiği A yanıtını, üçüncü ve dördüncü komut farklı çözümleyicilerin gördüğü sonucu gösterir. Son komut ise www için CNAME kullanılıyorsa hedef adı görüntüler. Yetkili NS ile genel çözümleyiciler farklı sonuç veriyorsa bu farkı hemen “DNS bozuk” diye etiketlemeyin; TTL ve ara önbellekler değerlendirilmelidir.
Kısa DNS önbelleği kontrol listesi
- Yetkili NS sunucularını sorgulayın ve DNS panelindeki hizmetle eşleştirin.
- Kök alan adı için A veya uygun yönlendirme kaydını doğrudan sorgulayın.
wwwiçin A ve CNAME yanıtını ayrı test edin.- Yetkili NS yanıtını en az iki farklı çözümleyicinin yanıtıyla karşılaştırın.
- Aynı testi farklı bir internet bağlantısından tekrarlayın.
- TTL değerini ve olası önbellek katmanlarını göz önünde bulundurun.
- DNS yanıtları her testte doğruysa HTTP, TLS, web sunucusu ve uygulama ayarlarına geçin.
Yerel önbellek nasıl elenir?
Windows’ta Komut İstemi açılarak ipconfig /flushdns komutu çalıştırılabilir. Microsoft’un ipconfig komut belgeleri, bu seçeneğin DNS istemci çözümleyici önbelleğini temizlemek için kullanılabildiğini açıklar. Komut sonrasında aynı sorguyu tekrar çalıştırın; değişiklik görünmüyorsa sorun yalnızca bilgisayarın yerel önbelleğinde değildir.
Tarayıcı önbelleği de DNS teşhisini maskeleyebilir. Chrome’da ayarlar içindeki tarama verilerini silme ekranından önbellek ve gerekirse site verileri temizlenebilir. Firefox’ta ayarlardaki “Gizlilik ve Güvenlik” bölümünden önbellek veya site verileri temizlenebilir. Bu işlem bazı oturumları kapatabileceği için yalnızca gerekli verileri seçmek daha güvenlidir. Tarayıcı önbelleğini temizlemek, yetkili DNS sunucusundaki hatalı kaydı düzeltmez; yalnızca yerel tarayıcı katmanını test dışı bırakır.
Önbellek temizlendiği hâlde farklı ağlarda farklı sonuç alıyorsanız karşılaştırmayı sürdürün. Bir cihazın Wi-Fi üzerinden eski IP’yi, mobil internet kullanan başka bir cihazın yeni IP’yi göstermesi; farklı çözümleyici, farklı TTL durumu veya farklı ağ politikası anlamına gelebilir. Bu durumda en güvenilir referans, alan adının yetkili NS sunucusundan alınan yanıttır.
DNS kayıtları doğru IP veya hedef adı döndürmeye başladığında teşhis bitmiş sayılmaz. Sayfa hâlâ açılmıyor, yanlış protokole yönleniyor, sertifika uyarısı veriyor veya belirli URL’lerde hata üretiyorsa artık HTTP ve TLS katmanını incelemek gerekir. Böyle bir geçiş, DNS’i gereksiz yere tekrar tekrar değiştirmeyi önler. DNS ve yazılım temellerini sistemli biçimde geliştirmek isteyenler, asenkron yazılım eğitimleri içinde komut satırı, ağ mantığı ve hata ayıklama alışkanlıklarını destekleyen içeriklerden yararlanabilir.
Sık Sorulan Sorular
A kaydı ile CNAME kaydı arasındaki temel fark nedir?
A kaydı bir alan adını doğrudan IPv4 adresine yönlendirir. CNAME kaydı ise bir alan adını başka bir alan adına takma ad olarak bağlar; çözümleyici daha sonra hedef alan adının kaydını takip eder. Kök alan adı ile alt alan adlarında kullanılabilecek kayıt türleri DNS hizmetinin kurallarına göre değişebileceği için panelin desteklediği yapı dikkate alınmalıdır.
NS kaydını değiştirdiğim halde DNS panelindeki A kaydı neden etkili olmuyor?
Alan adı, değiştirdiğiniz paneldeki nameserver’ları kullanmıyor olabilir. NS değişikliğinin doğru kayıt kuruluşunda tanımlandığını, alan adının sorgulanan NS değerlerinin beklenen sunucuları gösterdiğini ve A kaydının gerçekten yetkili panelde bulunduğunu kontrol edin. Yanlış paneldeki A kaydı, teknik olarak doğru olsa bile alan adının aktif DNS yanıtını değiştirmeyebilir.
www çalışırken kök alan adı neden açılmayabilir?
www.example.com ile example.com farklı DNS adlarıdır ve ayrı kayıtları olabilir. www için CNAME veya A kaydı bulunurken kök alan adı için kayıt bulunmayabilir, yanlış IP tanımlanmış olabilir ya da web sunucusunda kök alan adı eşlemesi yapılmamış olabilir. Her iki adı ayrı ayrı sorgulayıp DNS ve sunucu yapılandırmasını birlikte inceleyin.
DNS değişikliğinin farklı kullanıcılarda farklı zamanda görünmesinin nedenleri nelerdir?
Farklı DNS çözümleyicilerin önbellekleri, TTL değerleri, işletim sistemi ve tarayıcı önbellekleri, modem veya kurumsal ağ önbelleği ve farklı ağların farklı DNS hizmetleri kullanması sonuçları etkileyebilir. Önce yetkili NS yanıtını kontrol edin; yetkili yanıt doğruyken bazı çözümleyiciler eski değeri gösteriyorsa önbellek farkı olasılığını değerlendirin.
dig çıktısındaki NXDOMAIN ve SERVFAIL mesajları nasıl yorumlanır?
NXDOMAIN, sorgulanan adın ilgili DNS çözümleme yolunda bulunamadığını belirten bir yanıttır; yanlış alan adı, eksik kayıt veya yetkili yapılandırma sorunu gibi farklı nedenlerle birlikte değerlendirilmelidir. SERVFAIL ise çözümleyicinin geçerli bir yanıt üretemediğini gösterir; yetkili sunucuya erişim, DNSSEC, nameserver yanıtı veya geçici çözümleme problemi gibi birden fazla sebep olabilir. Her iki mesaj da tek başına kesin kök neden değildir.
En sağlıklı teşhis, aynı alan adını yetkili NS, farklı çözümleyiciler ve farklı ağlar üzerinden karşılaştırarak DNS katmanından HTTP ve TLS katmanına kontrollü biçimde ilerlemektir.