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 comporte des doublons sur SO, tel 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 permettant de résoudre tous les problèmes liés aux hôtes et couvrant tous les cas.
Réponses:
Sur la base de ma propre expérience et de ce que j'ai rencontré pendant la recherche sur Google, voici quelques points à essayer:
1. Avez-vous vérifié que cela fonctionne correctement?
Les modifications apportées aux hôtes devraient 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
cmd
, Entrée) et tapez: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):
Et voir si elle utilise la bonne adresse IP. Si c'est le cas, votre fichier hosts est correct 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):
Vous pouvez vérifier les données actuelles dans le cache DNS avec:
2. Bases
hosts
et pashost
, etc.hosts
pashosts.txt
) - faites attention si vous avez configuré Windows pour masquer les extensions connues, vérifiez les propriétés pour vous assurer: Le type de fichier d’hôtes correct apparaît uniquement comme "Fichier".#
) qui indique des commentaires?www.example.com
etexample.com
- le plus sûr d’ajouter les deux)?3. espaces blancs
Le format de chaque ligne est
IP address
, ensuite, un onglet horizontal (code d'échappement\t
, ASCIIHT
, hex0x09
) ou un seul espace (hex0x20
), puis le nom de l'hôte, c'est-à-dire.www.example.com
, puis enfin un retour chariot suivi d’un saut de ligne (codes d’échappement\r\n
, ASCIICRLF
, hex0x0d 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!)
Les octets individuels peuvent être visualisés dans Notepad ++ avec le plugin éditeur hexadécimal . Notepad ++ affiche é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:
L'entrée devrait être:
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:
hosts
.%SystemRoot%\System32\drivers\etc
répertoire et écrasez l'ancien fichier.Le dernier point est important: la copie fonctionne, le déplacement pas.
Le
Users
compte local doit pouvoir lire le fichier hosts . Pour vous assurer (sous Windows 7):%SystemRoot%\System32\drivers\etc
dans l'explorateur Windows.hosts
fichier, assurez-vous de pouvoir voir les fichiers cachés et les fichiers système .hosts
fichier et sélectionnezProperties
dans le menu contextuel.hosts Properties
fenêtre, cliquez sur l'Security
onglet.Group or user names:
boîte. Si%COMPUTERNAME%\Users
est présent, cliquez dessus pour afficher les autorisations.Users
n'est pas présent, ou est présent mais n'a pas laRead
permission, cliquez surEdit...
.Users
n'est pas présent, cliquez surAdd...
, le typeUsers
, cliquez surCheck Names
, puis cliquez sur OK ou appuyez sur Entrée.Users
et assurezRead & execute
-vous que la case est cochéeAllow
. Cliquez sur OK. Si unWindows Security
message d'alerte apparaît, choisissezYes
de continuer.hosts Properties
fenêtre.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 accédant à 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:
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.
la source
hosts
fichier est utilisé, et sa modification en 127.0.0.1 est effectivement une erreur, sauf si vous exécutez un serveur DNS sur votre ordinateur. ordinateur.Assurez-vous que vous avez mis l'adresse IP en premier, puis le "domaine" comme ceci:
la source
127.0.0.1 bo.dev www.bo.dev ftp.bo.dev
.dev
TLD localement en pensant qu'il n'y aura pas de collision. Il s’agit d’un TLD global générique valide appartenant à Google et son utilisation posera de nombreux problèmes. Voir ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hstsS'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.
la source
(machine)\USERS
avec lire et lire et exécuter les autorisations et aprèsipconfig /flushdns
cela a fonctionné. Merci beaucoup. Je suis très heureux d'avoir enfin mon fichier hôtes.Dans mes cas, j'ai essayé le fichier créé par Windows 7: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.
hôtes.ics:
En conséquence, Windows ignore les paramètres de C: \ Windows \ System32 \ drivers \ etc \ hosts et les utilise à partir de hosts.ics.
la source
Hosts
fichier simplement parce qu'ilHosts.ics
est présent. Quelque chose d'autre pourrait amener Windows à ignorer vos fichiers Hosts, comme peut-être une mauvaise extension (mais cachée).Je rencontrais le même problème, les entrées du fichier hosts étant ignorées. J'ai tout essayé dans cela et dans 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.
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.
la source
hosts.bak
, puisJ'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.
la source
Assurez-vous que vous avez entré les valeurs comme
IP NAME
, pas commeNAME 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.
la source
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.
la source
Dans Windows, assurez-vous que HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath pointe vers le répertoire du fichier hosts.
la source
Dans mon cas, le problème était que je copiais un fichier hosts à partir d'un répertoire chiffré et que je remplaçais ainsi etc / hosts. Je devais examiner les propriétés et décocher la case "chiffrer le fichier".
la source
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).
la source