7 votes

Windows 7 a cessé d'utiliser le fichier "hosts" pour la résolution DNS.

J'utilise Windows 7 Home Premium 64 bits. Depuis aujourd'hui, j'ai remarqué que la résolution DNS ne lit pas mon nom de domaine. %SYSTEMROOT%\System32\drivers\etc\hosts fichier. Je dis cela parce que j'ai ajouté deux nouvelles entrées au fichier et lorsque j'exécute 'nslookup' sur la ligne de commande, elles ne sont pas résolues. De plus, le simple fait d'essayer de résoudre 'localhost' entraîne l'interrogation de mon serveur DNS primaire.

J'ai lu plusieurs fils de discussion qui suggèrent que le fichier pourrait avoir été corrompu et qu'il faut le mettre de côté et en créer un nouveau. J'ai fait cela, et aucune amélioration.

Existe-t-il une sorte de clé de registre qui contrôle la séquence des ressources utilisées pour la résolution DNS (similaire à nsswitch.conf sous Unix) ? Quelle autre cause pourrait être à l'origine de ce problème ?

1 votes

Je me demande si vous avez finalement trouvé un moyen de modifier ce comportement de Windows 7 64-bit, car j'aurais besoin que les deux méthodes (nslookup et ping) fournissent le même résultat de résolution de nom !

13voto

Christian Points 1102

Lorsque vous exécutez un nslookup sur une adresse, Windows interrogera le serveur DNS et ne cherchera pas dans le répertoire fichier d'hôtes . Toujours. Cependant, lorsqu'il se connectera, il utilisera la valeur du fichier d'hôtes. Essayez d'ajouter exemple.com à votre fichier d'hôtes, et faites en sorte qu'il pointe vers 127.0.0.1. Exécutez un nslookup Il s'agit de l'adresse IP réelle. Faites un ping. Votre hôte local répondra.

C:\>nslookup example.com
Server:  
Address:  10.110.5.1

Non-authoritative answer:
Name:    example.com
Address:  192.0.32.10

C:\>ping example.com

Pinging example.com [127.0.0.1] with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

Ping statistics for 127.0.0.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:\>

0 votes

Votre exemple ne fonctionne pas sous Windows 7 x64. Le ping indique que l'hôte n'a pas été trouvé.

0voto

Jano Rajmond Points 121

Je n'ai pas réussi à faire fonctionner mon fichier hosts sous Windows 7 x64. Ce qui est désagréable, c'est qu'avec exactement les mêmes paramètres, il fonctionne sur x86.

Pour bloquer l'accès à certains programmes et à certains sites, j'ai donc utilisé le pare-feu personnel gratuit ZoneAlarm. Je sais que c'est la solution la moins élégante, mais pour moi, il n'y avait pas d'autre solution dans cette situation.

Pour moi, les deux ping y nslookup a ignoré le fichier hosts bien que j'aie essayé plusieurs versions et modifié l'encodage des caractères mais sans succès.

Je ne sais pas si quelqu'un d'autre pourrait bénéficier de la solution que j'ai utilisée, mais je voulais juste vous faire savoir qu'elle existe et qu'elle fonctionne !

0voto

Mark Points 1

J'ai lutté contre ce problème pendant trop longtemps, pensant que mon logiciel antivirus ou autre était en cause. En fait, mon éditeur, Bloc-notes a ajouté l'extension .txt au nom du fichier, le rendant ainsi invisible pour le système !

Vérifiez l'extension. Elle doit être vide ! Voir aussi Comment puis-je rétablir le fichier Hosts par défaut ? . Cela réinitialise votre fichier d'hôte comme il l'était au départ.

-1voto

Paul T Points 1

J'avais le même problème et cela a fonctionné pour moi dans Win 7.

Lorsque vous ajoutez vos nouvelles entrées au fichier hosts, veillez à utiliser tous les espaces, sans tabulation.

Ça a marché pour moi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X