Question fichier hosts ignoré, comment résoudre le problème?


Le fichier hosts sur les ordinateurs Windows est utilisé pour lier certaines chaînes de noms à des adresses IP spécifiques afin de remplacer d'autres méthodes de résolution de noms.

Souvent, on décide de changer le fichier hosts et découvre que les modifications refusent de prendre effet ou que même les anciennes entrées du fichier hosts sont ignorées par la suite. Cela peut être causé par un certain nombre d’erreurs de type "gotcha" et il peut être frustrant de savoir laquelle.

Face au problème de l’ignorance d’un fichier hôtes par Windows, quel est le protocole de dépannage complet à suivre?


Cette question a des doublons sur SO, tels que Le fichier HOSTS est ignoré 

Celles-ci ont toutefois tendance à traiter d'un cas spécifique et, une fois l'erreur constatée, le PO est découvert, la discussion est terminée. Si vous n'avez pas commis la même erreur, une telle discussion n'est pas très utile. J'ai donc pensé qu'il serait plus utile de disposer d'un protocole général pour résoudre tous les problèmes liés aux hôtes qui couvriraient tout cas.


121
2017-11-26 16:28


origine


En outre, comme quelqu'un posté ailleurs, n'utilisez pas "nslookup" pour tester ceci car cette commande ignore le fichier hosts. Utilisez plutôt "ping". - LatinSuD


Réponses:


D'après ma propre expérience et ce que j'ai rencontré lors de la recherche sur Google, voici quelques points à essayer:

1. Avez-vous vérifié que cela fonctionne correctement?

Les modifications apportées aux hôtes doivent prendre effet immédiatement, mais Windows met en cache les données de résolution de noms afin que les anciens enregistrements puissent être utilisés pendant un certain temps. Ouvrez une ligne de commande (Windows + R, cmdEntrez) et tapez:

ipconfig /flushdns

Supprimer les anciennes données. Pour vérifier si cela fonctionne, utilisez (en supposant que vous avez une entrée ipv4 dans vos hôtes pour www.exemple.com ou une entrée ipv6 dans vos hôtes pour ipv6.exemple.com):

ping www.example.com -n 1
ping -6 ipv6.example.com -n 1

Et voir si elle utilise la bonne adresse IP. Si oui, votre fichier hosts va bien et le problème est ailleurs.

En outre, vous pouvez réinitialiser le cache NetBios avec (ouvrez la console en tant qu’administrateur ou elle échouera):

nbtstat -R

Vous pouvez vérifier les données actuelles dans le cache DNS avec:

ipconfig /displaydns | more

2. Bases

  • Votre fichier hosts est-il nommé correctement? CA devrait etre hosts et pas host, etc.
  • L'extension est-elle correcte? Il ne devrait pas y avoir d'extension (hosts ne pas hosts.txt) - faites attention si vous avez configuré Windows pour masquer des extensions connues, vérifiez les propriétés pour être sûr: Le type de fichier d'hôtes correct apparaîtra simplement comme "Fichier".
  • Avez-vous suivi le syntaxe correcte? Avez-vous accidentellement préfixé les lignes avec un hachage (#) qui indique des commentaires?
  • Avez-vous pris soin de toutes les variantes (www.example.com et example.com - le plus sûr d'ajouter simplement les deux)?

3. espaces blancs

Le format de chaque ligne est IP address, puis un onglet horizontal (code d'échappement \t, ASCII HT, hex 0x09) ou un seul espace (hex 0x20), puis le nom d'hôte, c'est-à-dire. www.example.com, puis enfin un retour chariot suivi d’un saut de ligne (codes d'échappement) \r\n, ASCII CRLF, hex 0x0d 0x0a).

Exemples d'entrées utilisant des images de contrôle Unicode pour indiquer les caractères de contrôle. (Ne pas copier et coller dans votre fichier hosts!)

192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊

Les octets individuels peuvent être visualisés dans Bloc-notes ++ avec le plugin éditeur hexadécimal. Notepad ++ affichera également des caractères spéciaux (Affichage -> Afficher le symbole) afin que vous puissiez facilement inspecter le nombre et le type de caractères d'espacement.

Si vous avez copié et collé des entrées d'hôtes de quelque part, vous pouvez vous retrouver avec plusieurs espaces. En théorie, les hôtes prennent en charge plusieurs espaces séparant les deux colonnes, mais c'est une autre chose à essayer si rien d'autre ne fonctionne.

Pour être sûr, assurez-vous que toutes les lignes de votre fichier hosts utilisent des tabulations ou des espaces, pas les deux.

Enfin, terminez le fichier avec une ligne vide.

4. Clé de registre

Il existe une clé de registre spécifiant l'emplacement du fichier hosts. Soi-disant, Windows ne prend pas réellement en charge le placement du fichier hosts à d’autres emplacements, mais vous voudrez peut-être vérifier. La clé est:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath

L'entrée devrait être:

%SystemRoot%\System32\drivers\etc

5. Autorisations

Parfois, il existe des problèmes avec les autorisations sur le fichier, les attributs de fichier et des choses similaires. Pour recréer le fichier avec les autorisations par défaut:

  1. Créez un nouveau fichier texte sur votre bureau.
  2. Copiez et collez le contenu de votre fichier hosts actuel dans ce fichier dans le Bloc-notes.
  3. Enregistrez le nouveau fichier texte et renommez-le. hosts.
  4. Copie (ne bougez pas) le fichier à votre %SystemRoot%\System32\drivers\etc répertoire et écraser l’ancien fichier.

Le dernier point est important: la copie fonctionne, le déplacement pas.

Le local Users Compte doit pouvoir lire le fichier hosts. Pour vous assurer (sous Windows 7):

  1. Aller vers %SystemRoot%\System32\drivers\etc dans l'explorateur Windows.
  2. Si vous ne pouvez pas voir le hosts fichier, assurez-vous que vous pouvez voir les fichiers cachés et système.
  3. Faites un clic droit sur le hosts déposer et sélectionner Properties dans le menu contextuel.
  4. dans le hosts Properties fenêtre, cliquez sur le Security languette.
  5. Examiner la liste des noms dans le Group or user names: boîte. Si %COMPUTERNAME%\Users est présent, cliquez dessus pour voir les permissions.
  6. Si Users n'est pas présent, ou est présent mais n'a pas Read permission, cliquez Edit....
  7. Si Users n'est pas présent, cliquez Add..., tapez Users, Cliquez sur Check Nameset cliquez sur OK ou appuyez sur Entrée.
  8. Sélectionner Userset assurer Read & execute est vérifié dans le Allow colonne. Cliquez sur OK. Si un Windows Security Une boîte d’alerte apparaît, choisissez Yes continuer.
  9. Cliquez sur OK pour fermer le hosts Properties la fenêtre.
  10. Remontez à la section 1 de cette réponse et suivez les instructions pour vérifier si cela fonctionne maintenant.

6. Encodage

Le fichier hosts doit être encodé en ANSI ou UTF-8 sans BOM. Vous pouvez le faire avec Fichier -> Enregistrer sous.

7. Proxies

Si vous avez un proxy configuré, il peut contourner le fichier hosts. La solution consiste à ne pas utiliser le proxy ou à le configurer pour ne pas le faire.

Pour vérifier, allez dans Internet Explorer -> Options Internet -> Connexions -> Paramètres réseau. Si tout est vide et que l'option "Détecter automatiquement les paramètres" est cochée, vous n'utilisez pas de proxy.

Si vous utilisez un proxy pour accéder au Web et ne souhaitez donc pas le désactiver, vous pouvez ajouter des exceptions en allant dans Internet Explorer -> Options Internet -> Connexions -> Paramètres réseau -> Serveur proxy / avancé. Ajoutez ensuite vos exceptions à la zone de texte Exceptions. Par exemple. localhost;127.0.0.1;*.dev

8. adresse DNS

(Cela peut également résoudre les problèmes de proxy.)

Accédez aux propriétés de vos connexions réseau, puis aux paramètres TCP / IP, puis remplacez le premier serveur DNS par 127.0.0.1 (localhost). La seconde devrait probablement être l'adresse IP de votre DNS actuel.

Ce n'est pas nécessaire pour que le fichier hosts fonctionne, mais cela peut aider dans votre cas si quelque chose est étrangement configuré.

9. adresses locales

Si vous utilisez une entrée de domaine .local sous la forme myhost.local et qu'elle est ignorée, veuillez procéder comme suit:

x.x.x.x myhost.local www.myhost.local

même si le www.myhost.local n’existe pas. D'une certaine manière, Windows n'ajoute pas son groupe de travail ou son domaine local.


184
2017-11-26 16:28



MERCI BEAUCOUP DE SUPERBEST! Je pleure presque, tant de nôtres sont en train de devenir fous pour un SPACE au début d'une entrée vierge entre 2 lignes. Merci Merci Merci Merci Merci Merci !!!!!
Un autre piège est que les versions 64 bits de Windows redirigent le dossier System32 pour les applications 32 bits (telles que Notepad ++) afin que, lorsque vous enregistrez, le fichier apparaît dans le dossier SystemWOW64 au lieu de System32. La meilleure solution consiste simplement à utiliser la version Windows du Bloc-notes, qui est 64 bits. La deuxième solution consiste à vous connecter au partage administratif (\\ votremachinename \ c $ \ Windows \ System32 \ drivers \ etc) pour ouvrir le fichier si vous utilisez un éditeur 32 bits. - Tim Lewis
Bon post, mais avec quelques erreurs. 1) "Détecter automatiquement les paramètres" dans IE pouvez conduisent à (même sans le savoir) à utiliser un proxy, si votre réseau fournit effectivement une configuration automatique du proxy. 2) Changer vos serveurs DNS dans les paramètres réseau n’a rien à voir avec comment / quand / si le hosts Le fichier est utilisé et sa modification en 127.0.0.1 est effectivement une erreur, sauf si vous utilisez un serveur DNS sur votre ordinateur. - Massimo
# 5 (créer un nouveau fichier et le copier) a fait l'affaire pour moi. Win7 peut être amusant avec des autorisations. - chris
J'ai modifié le fichier hosts sous Cygwin à l'aide de vim. Je pense que cela a entraîné l'arrêt du problème de mon fichier hosts. Je devais créer un nouveau fichier et copier le contenu du fichier hosts précédent et le corriger. - forloop


Assurez-vous que vous avez mis l'adresse IP en premier, puis le "domaine" comme ceci:

127.0.0.1   bo.dev
127.0.0.1   www.bo.dev

13
2018-06-04 12:20



Je préfère utiliser une seule ligne: 127.0.0.1 bo.dev www.bo.dev ftp.bo.dev - Xhynk
Attention, le fichier hosts de Windows n'autorise que NEUF OU MOINS d'entrées par ligne! Cela m'a mordu et a mis du temps à comprendre. - andrew
Ne pas utiliser le .dev TLD pense localement qu'il n'y aura pas de collision. Il s'agit d'un TLD global générique valide appartenant à Google et vous rencontrerez de nombreux problèmes d'utilisation. Voir ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts - Patrick Mevzek


S'il vous plaît ajouter vérification des autorisations de fichiers J'ai constaté que même si j'avais des droits d'administrateur local sur l'ordinateur et donc sur les hôtes. Ce n’est que lorsque j’ai ajouté des utilisateurs locaux aux autorisations du fichier hosts avec Read and Read & Execute, puis un ipconfig / flushdns Que les hôtes sont devenus actifs.


10
2017-10-09 23:29



C'était ça! J'ai été dérouté par ce problème pour années. J'ai ajouté (machine)\USERS avec Lis et Lire et exécuter autorisations et après ipconfig /flushdns ça a marché. Merci beaucoup. Je suis très heureux d'avoir enfin mon fichier hôtes. - Clement Cherlin


Dans mes cas, j'ai essayé le fichier créé par Windows 7: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.

hôtes.ics:

# This file has been automatically generated for use by Microsoft Internet
# Connection Sharing. It contains the mappings of IP addresses to host names
# for the home network. Please do not make changes to the HOSTS.ICS file.
# Any changes may result in a loss of connectivity between machines on the
# local network.

En conséquence, Windows ignore les paramètres de C: \ Windows \ System32 \ drivers \ etc \ hosts et les utilise à partir de hosts.ics.


4
2017-09-24 20:56



De support.microsoft.com/en-us/kb/309642/en-us, qui est vieux, alors peut-être plus précis: "Le fichier Hosts.ics est utilisé par ICS pour stocker des informations sur les clients configurés de manière dynamique. Évitez de modifier ce fichier pour éviter la perte de connectivité ou de données. Le fichier Hosts (sans extension de nom de fichier) est le fichier auquel vous ajoutez informations sur les clients configurés de manière statique. " Donc, je ne m'attendrais pas à ce que Windows ignore la Hosts déposer juste parce que Hosts.ics est présent. Quelque chose d'autre pourrait amener Windows à ignorer vos fichiers Hosts, par exemple une extension incorrecte (mais cachée). - Arjan
Je vois cette information. Mais je ne sais pas pourquoi je suis parvenu à faire fonctionner les hôtes uniquement lorsque j’ai édité hosts.ics. Avant de modifier hosts.ics, j’ai essayé toutes les méthodes de cette rubrique, mais les hôtes ne fonctionnent pas. - Unick


Je rencontrais le même problème, les entrées du fichier hosts étant ignorées. J'ai tout essayé dans cela et beaucoup d'autres discussions sans succès. J'ai pensé publier ce qui a fonctionné pour moi au cas où quelqu'un d'autre l'aurait trouvée.

  1. Ouvrir l'explorateur Windows en tant qu'administrateur
  2. SUPPRIME le fichier hosts
  3. Ouvrez le Bloc-notes en tant qu'administrateur et créez un nouveau fichier d'hôtes.
  4. Commencez à partir de zéro et ajoutez des entrées.
  5. Assurez-vous que le fichier hosts n'a pas d'extension .txt

Remarque: ouvrez simplement le fichier hosts et supprimez le contenu, vérifiez qu'il était à 0 Ko et rajoutez-le, cela n'a pas fonctionné. Je soupçonne un problème d'autorisations sur le fichier.


2
2018-02-18 00:05





J'ai passé des heures, probablement des jours sur ce sujet.

La sécurité IBM Trusteer Endpoint Rapport peut être à l'origine de ce problème.

J'avais ajouté mysite.com à sa liste de sites de confiance.

Je pense que dans le cadre de sa sécurité, il empêche les logiciels malveillants ou les virus de vous diriger vers d'autres sites.

J'ai pris mon nom de la liste des sites de confiance et il ne vérifie plus et ne "corrige" pas le détournement de fichiers de mon hôte.

J'espère que cela aide quelqu'un à résoudre son problème.


1
2018-02-16 21:00





Un problème oublié dans la discussion ci-dessus concerne les noms non qualifiés (noms qui n'incluent pas de point) dans le fichier hosts. Vos paramètres réseau peuvent alors entrer en jeu et ajouter automatiquement votre propre domaine à la fin d'un domaine non qualifié. Par conséquent, le nom pourrait ne pas être résolu ou, pire encore, être résolu sur une machine complètement différente.


1
2018-05-06 07:20





Dans Windows, assurez-vous que HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath pointe sur le répertoire du fichier hosts.


0
2018-03-18 06:56





Dans mon cas, le problème était que je copiais un fichier hosts à partir d'un répertoire crypté et que je remplaçais ainsi etc / hosts. Je devais examiner les propriétés et décocher la case "chiffrer le fichier".


0
2018-05-18 08:12





Assurez-vous que vous avez entré les valeurs comme IP NAME, pas aussi NAME IP.

Cela peut arriver s'il n'y a qu'une seule entrée dans le fichier et si vous ignorez le texte de commentaire.


0
2017-07-10 15:21





Mon fichier hosts est ignoré jusqu'à ce que je dispose d'une connexion réseau sur mon ordinateur portable (Windows 7). Une fois que je me connecte à un réseau, tout fonctionne comme prévu. Évidemment, sans réseau, je ne peux pas envoyer de ping aux hôtes, etc., mais je m'attendais toujours à ce que Windows obtienne leurs adresses IP à partir du fichier hosts. Ce n'est pas. Même après la déconnexion, les adresses sont toujours correctes, mais entre le redémarrage de l'ordinateur et la première connexion à un réseau, le fichier hosts est ignoré.

(Incidemment, les tabulations, les espaces et les retours à la ligne ne sont pas pertinents pour autant que je sache).


0
2018-05-08 09:55