Bir DNS aramasının anasistemler dosya girişini yoksaymasına ne neden olabilir?


13

Yerel makinemde gezinirken yerel olarak barındırılan web sitemin performansını etkileyen bir DNS çözümleme sorunu yaşıyorum. Tarayıcımdaki URL'ye gittiğimde ağımın DNS son ekini yerel makine adıma eklersem, sitenin DNS son eki olmadan korkunç yükleme süreleri (100+ kat daha yavaş) olur.

Ben bir arama ihtiyacını önlemek için benim hosts dosyasını kullanarak bu düzeltmek düşündüm. Hosts dosyama böyle bir girdi ekledim

127.0.0.1    myMachine.MyDnsSuffix

Ancak bu, yeniden başlatmadan sonra bile yükleme sürelerini değiştirmedi. Bu özel sorunu çözmek önemli olmasa da, bunun neden olduğunu gerçekten bilmek istiyorum .

Ayrıca, etki alanında nslookup çalıştırdığımda myMachine.MyDnsSuffix, IP'yi bulmak için ağımın DNS sunucusunu kullandığını fark ettim. Bu sorunumla ilgili olabilir mi yoksa sadece nslookup'un nasıl çalıştığını yanlış anlıyor muyum?

Yanıtlar:


20

Nslookup, HOSTS dosyanızı kullanmak yerine, bir DNS sunucusunu test etmek için kullanıldığını düşünüyorum. http://support.microsoft.com/kb/200525 bu kadarını gösteriyor.

Sadece basit bir ping deneyin. Does ping myMachine.MyDnsSuffixEğer HOSTS dosyasında döngü adresine gidermek belirttiniz?


Hakkında iyi bir noktaya değindin nslookup. Sadece ping işlemi yapmayı denedim myMachine.MyDnsSuffixve ağdaki IP 127.0.0.1adresime, HOSTS dosyamda belirtildiği gibi çözülmedi .
Dan Herbert

İşletim sisteminiz nedir? Windows7 ve muhtemelen Vista'nın HOSTS dosyasında bazı garip UAC korumaları olduğunu düşünüyorum. Yaptığınız değişikliklerin doğru şekilde kaydedildiğinden emin misiniz?
Christopher Karel

İşletim sistemim Windows XP. Değişiklikler düzgün kaydediliyor gibi görünüyor.
Dan Herbert

Hmm ... HOSTS girişinin başında karma işareti yok, değil mi? (bu bir yorum yapar) Ve C: \ Windows \ System32 \ drivers \ etc \ hosts olduğundan emin misiniz? Buraya kukla bir giriş ekleyebilir ve bunun belirttiğiniz gibi çözülüp çözülmeyeceğini görebilir misiniz?
Christopher Karel

3
Oh, ve isim önbelleğini temizlemeyi unutma. ipconfig /flushdns. Ve NETBIOS da önbelleğe: nbtstat -R. (Pencerelerde büyük / küçük harfe duyarlı - WTF, neden?!?)
Christopher Karel

8

DNS aramaları bir anasistemler dosyası kullanmaz. Hiç.


2
@BartDeVos hayır, yanlış değil. Genel bir ana bilgisayar araması (yani gethostbyname()hosts dosyası veya DNS üzerinden gidebilir, ancak DNS'ye özgü bir arama (gerçekleştirdiği gibi nslookup) hosts dosyasını kullanmaz.
Alnitak

Bununla birlikte, gethostinfo / getaddrinfo (gethostbyname'in modern sürümleri) POSIX'tir ve Windows'un kullandığı şey değildir.
adaptr

2

Tamam, yepyeni bir yaklaşım. IP ve NETBIOS önbelleğinizi temizleyelim. ipconfig /flushdnsve nbtstat -R. Ardından Wireshark gibi bir paket dinleyicisi ateşleyin ve çalışırken ping yapın.

Paket yakalama işleminden, A) bir DNS isteği olup olmadığını ve varsa hangi adı talep edip etmediğini görmek istiyoruz. B) Bir NETBIOS isteği varsa. Bu adın doğru DNS yerine NETBIOS aracılığıyla çözümlenmesi mümkündür.

Önbelleğinizi temizlemenize rağmen yukarıdakilerden hiçbirini görmezsek, büyük olasılıkla adın ana bilgisayarlardan veya lmhost'lardan alınıyor olması muhtemeldir.


1

Web forumlarındaki bazı kişiler yeni bir hosts dosyası oluşturmanın ve DNS istemci hizmetini yeniden başlatmanın sorunu çözdüğünü iddia ediyor, ancak yeniden başlatmayı denediyseniz bunun neden işe yarayacağından emin değilim.

Bunun bir longshot olduğunu anlıyorum, ancak hosts dosya girişinde MSDN, Microsoft veya MSN gibi Microsoft ile ilgili herhangi bir kelime yok mu? Microsoft, belirli adlarla eşleşen ana bilgisayar dosya girdilerini yoksaymak için dnsapi.dll yazdı. Örneğin, aşağıdaki girdiyi eklersem, Windows bu girdiyi atlar ve girdideki her iki ana makine adını da DNS kullanarak çözer:

127.0.0.1 www.microsoft.com www.mysite.com

HOSTS dosyamda microsoft ile ilgili herhangi bir şey yok. Yalnızca birkaç dahili test alanım var. HOSTS dosyam oldukça basit.
Dan Herbert

Hmm, ilginç. HOSTSDosyayı yoksaymak için sabit kodlanmış MS etki alanlarını biliyordum , ancak MS etki alanı ile bir girişi paylaşıyorsa MS olmayan etki alanı bile yok sayılıyor mu? Bu sadece zayıf programlama. Bu kesinlikle bir HOSTSdosya “küçültülüyorsa” dikkat edilmesi gereken bir şeydir .
Synetech

0

Tam DNS adını kullanırken, tarayıcınız IE için proxy sunucunuzdan tıklamaya çalışır .

Ana bilgisayar dosyası veya ad çözümleme sırası bu sorunla ilgisi yoktur ve ana bilgisayar dosyası olan insanlığın arka tarafındaki iltihaplı ağrı geri çekilmeli ve gürültülü bir şekilde çekilmelidir.


Yine de bir proxy'ye bağlı değilim.
Dan Herbert

1
mh: Kök sunucuları kayıt eklememe / kaldırma / düzenlememe izin verdiği müddetçe, ana bilgisayarları çekim konusunda size katılıyorum.
Ian Boyd

0

http://geekswithblogs.net/JanS/archive/2009/06/17/beware-of-spacing-in-windows7-hosts-file.aspx

Bu asıl sebep gibi görünüyor. Aniden ve uyarı vermeden 25 yıllık bir sözleşmeyi göz ardı etmek için Microsoft'a bırakın.


2
Lütfen cevabınıza bir cevap / neden belirtiniz. Bir bağlantıdan çok daha güzel.
Jacob

Bağlı URL'nin önemli kısmı şöyledir, ancak hiçbir şey işe yaramadı. Başka bir örnek görene kadar, <ip adresi> <tek boşluk> <değer>
Tun

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.