J'ai un problème de résolution DNS qui affecte les performances de mon site Web hébergé localement lors de sa navigation sur ma machine locale. Si j'attache le suffixe DNS de mon réseau au nom de ma machine locale lorsque je vais à l'URL dans mon navigateur, le site a des temps de chargement terribles (100+ fois plus lents) que sans le suffixe DNS.
J'ai pensé que je pouvais résoudre ce problème en utilisant mon fichier d'hôtes pour éviter d'avoir à effectuer une recherche. J'ai ajouté une entrée à mon fichier d'hôtes comme celle-ci
127.0.0.1 myMachine.MyDnsSuffix
Mais cela n'a pas changé les temps de chargement, même après un redémarrage. Bien qu'il ne soit pas important de résoudre ce problème spécifique, j'aimerais vraiment savoir pourquoi cela se produit.
De plus, lorsque j'exécute nslookup sur le domaine myMachine.MyDnsSuffix
, Je remarque qu'il utilise le serveur DNS de mon réseau pour trouver l'IP. Cela pourrait-il être lié à mon problème ou suis-je simplement en train de mal comprendre comment fonctionne nslookup?
Je crois que nslookup est utilisé pour tester un serveur DNS lui-même, par opposition à l'utilisation de votre fichier HOSTS. http://support.Microsoft.com/kb/200525 semble en indiquer autant.
Essayez juste un simple ping. Est-ce que ping myMachine.MyDnsSuffix
résoudre l'adresse de bouclage que vous avez spécifiée dans votre fichier HOSTS?
Les recherches DNS n'utilisent pas de fichier d'hôtes. Déjà.
OK, nouvelle approche. Laissez-nous vider votre cache IP et NETBIOS. ipconfig /flushdns
et nbtstat -R
. Ensuite, lancez un renifleur de paquets comme Wireshark et faites un ping pendant qu'il est en cours d'exécution.
À partir de la capture de paquets, nous voulons voir si A) Il y a une requête DNS qui sort, et si oui, quel nom demande-t-elle. B) S'il y a une requête NETBIOS en cours. Il est possible que ce nom soit résolu via NETBIOS au lieu d'un DNS approprié.
Si nous ne voyons aucun des éléments ci-dessus malgré le vidage de votre cache, il est probable que le nom soit extrait soit des hôtes soit des lmhosts.
http://www.tweaksforgeeks.com/windows7/2011/02/windows-7-hosts-file-ignored <- Travaillez pour moi!
Certaines personnes sur les forums Web affirment que la création d'un nouveau fichier d'hôtes et le redémarrage du service client DNS corrigent le problème, mais je ne sais pas pourquoi cela fonctionnerait si vous avez déjà essayé de redémarrer.
Je me rends compte que c'est un long shot, mais il n'y a pas de mots liés à Microsoft comme MSDN, Microsoft ou MSN dans l'entrée du fichier hosts, n'est-ce pas? Microsoft a écrit dnsapi.dll pour ignorer les entrées du fichier hôtes correspondant à certains noms. Par exemple, si j'ajoute l'entrée suivante, Windows l'ignore et résout les deux noms d'hôtes dans l'entrée à l'aide de DNS:
127.0.0.1 www.Microsoft.com www.mysite.com
http://geekswithblogs.net/JanS/archive/2009/06/17/beware-of-spacing-in-windows7-hosts-file.aspx
Cela semble être la cause réelle. Laissez à Microsoft le soin d'ignorer soudainement et sans avertissement une convention vieille de 25 ans.
Lorsque vous utilisez le nom DNS complet, votre navigateur tente de passer par votre serveur proxy - clicky pour IE .
Le fichier hosts ou l'ordre de résolution de nom n'a rien à voir avec ce problème, et la plaie purulente à l'arrière de l'humanité qui est le fichier hosts doit être retirée et abattue bruyamment.