DNS_PROBE_FINISHED_NXDOMAIN: ne anlama gelir ve nasıl düzeltilir
DNS_PROBE_FINISHED_NXDOMAIN, yazdığınız ana bilgisayar adı için yapılan sorgunun "böyle bir ad yok" yanıtıyla döndüğü anlamına gelir. Tarayıcı hiçbir zaman bir IP adresi almadı, bu yüzden hiçbir zaman bağlantı açmadı. Sorun ad çözümlemesindedir, sitenin web sunucusunda değil.
Hata ne anlama gelir
NXDOMAIN bir DNS yanıt kodudur, var olmayan alan adı (non-existent domain) için kısaltma. Bir çözümleyici (resolver), kökten (root) ana bilgisayar adınızı barındırması gereken bölgeye kadar zinciri dolaştıktan ve orada hiçbir şey bulamadıktan sonra bunu döndürür. Chrome DNS_PROBE_FINISHED_NXDOMAIN yazdırır. Firefox sunucuya bağlanamadığını söyler. Safari sunucuyu bulamadığını söyler. Üçü de aynı yanıtı bildiriyor.
NXDOMAIN bir çözümleyici arızasıyla aynı şey değildir ve bu fark nereye bakacağınızı belirler. Çözümleyicinize ulaşılamıyorsa veya zaman aşımına uğruyorsa, bunun yerine bir "DNS sunucusu yanıt vermiyor" mesajı alırsınız. Bölge yanıt veriyor ama bozuksa, örneğin doğrulanmayan bir DNSSEC zinciri, genellikle SERVFAIL alırsınız. NXDOMAIN kesin bir yanıttır: ad yayınlanmamıştır.
NXDOMAIN'in bir özelliği sorun gidermede diğerlerinden daha çok önem taşır. Negatif yanıtlar önbelleğe alınır. RFC 2308 uyarınca bir çözümleyici "böyle bir ad yok" sonucunu bölgenin SOA kaydındaki aralık boyunca önbellekte tutar, genellikle 5 ile 60 dakika arasında. İki dakika önce çalışmaya başlamış bir alan adı sizin makinenizde hala başarısız olabilir ve önbellek girdisi süresi dolana ya da onu temizleyene kadar hiçbir yeniden yükleme bunu değiştirmez.
Neden olur
- Ana bilgisayar adında bir yazım hatası. Açık ara en yaygın neden, ve herkesin en son kontrol ettiği şey.
- Alan adı kayıtlı değil, veya süresi dolmuş. Süresi dolmuş bir alan adı genellikle ek sürenin (grace period) bitmesinden saatler içinde bölgeden çekilir.
- İsim sunucusu (nameserver) devri yok. Alan adı kayıt kuruluşunda mevcuttur ama bir DNS sağlayıcısını gösteren NS kaydı yoktur, bu yüzden üst bölgenin bir çözümleyiciyi yönlendirebileceği hiçbir şey yoktur.
- Kayıt silinmiş veya yeniden adlandırılmış.
wwwiçin eksik bir A veya CNAME kaydı, çıplak alan adı hala çalışırkenwww.example.comiçin NXDOMAIN üretir. - Bir değişiklik henüz çözümleyicinize ulaşmadı. Yeni kayıtların her yerde görünmesi önceki kaydın TTL'sine kadar sürebilir.
- Cihazınızda, tarayıcınızda veya İSS'nizin çözümleyicisinde önbelleğe alınmış negatif bir yanıt.
- Artık var olmayan bir yeri gösteren veya eski bir testten kalan bir satır içeren bir hosts dosyası girdisi.
- DNS'i kendisi yanıtlayan ve adı çözmesini engelleyen veya başaramayan VPN, proxy veya filtreleme yazılımı.
- Şu anda bağlı olmadığınız, dahili bir
.localveya şirket alan adı gibi, yalnızca özel bir ağda var olan bir ana bilgisayar adı.
Nasıl düzeltilir
Önce adresi yeniden yazın, sonra tarayıcınızdan ağınıza doğru dışa doğru çalışın. Hepsini birden yapmak yerine her adımdan sonra test edin.
Tarayıcı
- Aynı URL'yi bir gizli pencerede açın. Orada yükleniyorsa, işin içinde bir uzantı veya bir çerez vardır, DNS değil.
- Chrome'un kendi çözümleyici önbelleğini
chrome://net-internals/#dnsadresinden temizleyin, ardından soket havuzlarınıchrome://net-internals/#socketsadresinden boşaltın. Chrome işletim sisteminden ayrı bir önbellek tutar, bu yüzden yalnızca bir işletim sistemi temizliği genellikle hiçbir şeyi değiştirmez.
Windows
- Çözümleyici önbelleğini boşaltın:
ipconfig /flushdns - Ağ kirasını yenileyin, bu DHCP tarafından dağıtılan DNS sunucularını da alır:
ipconfig /release ipconfig /renew - Bir boşaltma kalıcı olmuyorsa önbellekleme hizmetini yeniden başlatın:
net stop dnscache net start dnscache C:\Windows\System32\drivers\etc\hostsdosyasında alan adını adlandıran bir satır olup olmadığına bakın ve eskiyse silin.- Genel bir çözümleyici ayarlayın:
netsh interface ipv4 set dnsservers name="Wi-Fi" static 1.1.1.1 primary - Son çare olarak ağ yığınını sıfırlayın, ardından yeniden başlatın:
netsh winsock reset
macOS
- Önbelleği boşaltın:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Hangi sunucuların kullanıldığını görün:
scutil --dns | grep nameserver - Arayüzü genel bir çözümleyiciye yönlendirin:
sudo networksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1 /etc/hostsdosyasını inceleyin ve alan adına ait her satırı kaldırın.
Linux
- systemd-resolved üzerinde:
sudo resolvectl flush-caches, ardındanresolvectl statusile kullanılan sunucuları doğrulayın. - dnsmasq üzerinde:
sudo systemctl restart dnsmasq. nscd üzerinde:sudo systemctl restart nscd. - Hangi çözümleyiciyi sorguladığınızı görmek için
/etc/resolv.conf'u, eski bir geçersiz kılma için/etc/hosts'u okuyun. - NetworkManager ile, çözümleyiciyi bağlantının kendisinde değiştirin:
nmcli con mod "Wired connection 1" ipv4.dns "1.1.1.1 1.0.0.1" nmcli con up "Wired connection 1"
Yönlendirici (Router)
- Yönlendiricinin gücünü kapatıp açın. Çoğu tüketici yönlendiricisi kendi önbelleğine sahip küçük bir yönlendirme çözümleyicisi çalıştırır ve bir yeniden başlatma onu temizler.
- Yönlendiricinin yönetim sayfasında, WAN veya DHCP DNS sunucularına bakın. Eski bir dahili sunucuyu veya bir filtreleme hizmetini gösteriyorlarsa değiştirin.
- Wi-Fi yerine mobil veri kullanan bir telefonla test edin. Ad orada çözülüyorsa, sorun ağınızın içindedir.
Alan adının sahibiyseniz
Kendi sitenizde NXDOMAIN bir yayınlama sorunudur ve gelebileceği yalnızca birkaç yer vardır. Önce kayıt durumunu ve son kullanma tarihini kontrol edin. Ardından insanların atladığı adım olan devri (delegation) doğrulayın:
dig NS example.com +short
dig example.com +trace
Boş bir NS yanıtı, üst bölgede devir olmadığı anlamına gelir, bu yüzden hiçbir çözümleyici orada hangi kayıtları oluşturduğunuzdan bağımsız olarak DNS sağlayıcınıza ulaşamaz. +trace çıktısı yönlendirme (referral) zincirini ve durduğu tam adımı gösterir. Devir sorunsuzsa, düzenlediğiniz bölgede kaydın var olduğunu doğrulamak için doğrudan sağlayıcınızın isim sunucusunu sorgulayın:
dig @ns1.example-dns.net www.example.com A
Eksik bir kayıt eklediğinizde, eski negatif yanıt SOA minimumunun izin verdiği süre boyunca başka yerlerde önbellekte kalır, bu yüzden düzeltmenin işe yaramadığı sonucuna varmadan önce o kadar bekleyin.
Dışarıdan kontrol edin
Yukarıdaki her düzeltme yalnızca kendi makinenizi değiştirir. Hiçbiri adın başka birisi için çözülüp çözülmediğini söylemez, ve önce bilmek istediğiniz şey de budur. Sorguyu iki genel çözümleyiciye karşı çalıştırıp karşılaştırın:
dig example.com +short
dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +short
nslookup example.com 8.8.8.8
Varsayılan çözümleyiciniz hiçbir şey döndürmüyor ve 1.1.1.1 bir adres döndürüyorsa, kayıt vardır ve çözümleyiciniz eski bir negatif yanıtı tutuyor ya da adı filtreliyor demektir. Her çözümleyici hiçbir şey döndürmüyorsa, kayıt gerçekten eksiktir.
İki çözümleyici yine de yalnızca tek bir bakış noktasını kapsar ve DNS yanıtları insanların beklediğinden daha sık bölgeye göre değişir. Adı birçok ülkedeki kontrol noktalarından aynı anda çözmek ve her birinin ne döndürdüğünü okumak için DNS sorgu kontrolünü çalıştırın. Bölünmüş bir sonuç, bazı konumların yanıt verip bazılarının vermemesi, hala yayılmakta olan bir değişikliğe veya bir sağlayıcının isim sunucusunun internetin bir kısmından erişilemez olduğuna işaret eder. Zaman içindeki bu okuma DNS yayılımıdır (propagation) ve kendi rehberi DNS yayılımı nasıl kontrol edilir'dedir.
Çözülmeyi durduran bir adı yakalamak
Kaybolan bir kayıt sizin tarafınızda hiçbir iz bırakmaz. Hiçbir şey bunu günlüğe kaydetmez, çünkü hiçbir istek asla ulaşmaz, ve tek belirti düşen bir trafik grafiğidir. Her durumda çözüm, ofisinizden başka bir yerden belirli bir zamanlamayla çalışan bir sorgudur. HostTracker 2004'ten beri web sitelerini izliyor ve şu anda 158 şehirdeki 300'den fazla kontrol noktasından çalışıyor; bir ad çözülmeyi bıraktığında veya yanlış bir adresle yanıt vermeye başladığında e-posta, SMS, sesli arama, Slack, Telegram ve daha fazlasıyla uyarı gönderiyor. Bu bölümdeki diğer rehberler sorun giderme kümesindedir, ve buna en yakın ikisi, çözümleyicinin hiç yanıt vermediği durumlar için DNS sunucusu yanıt vermiyor ve yanıt verdiği ama çok uzun sürdüğü durumlar için yavaş bir DNS sorgusu nasıl düzeltilir'dir.