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:
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 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):
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? Ça devrait être
hosts
et pas host
, etc.
- L'extension est-elle correcte? Il ne doit pas avoir d’extension (
hosts
pas hosts.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".
- Avez-vous suivi la syntaxe correcte ? Avez-vous accidentellement préfixé les lignes avec un hash (
#
) qui indique des commentaires?
- Vous êtes-vous occupé de toutes les variantes (
www.example.com
et example.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
, ASCII HT
, hex 0x09
) ou un seul espace (hex 0x20
), 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
, 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 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:
\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:
- Créez un nouveau fichier texte sur votre bureau.
- Copiez et collez le contenu de votre fichier hosts actuel dans ce fichier dans le Bloc-notes.
- Enregistrez le nouveau fichier texte et renommez-le
hosts
.
- Copiez ( ne déplacez pas ) le fichier dans votre
%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):
- Accédez à
%SystemRoot%\System32\drivers\etc
dans l'explorateur Windows.
- Si vous ne pouvez pas voir le
hosts
fichier, assurez-vous de pouvoir voir les fichiers cachés et les fichiers système .
- Cliquez avec le bouton droit sur le
hosts
fichier et sélectionnez Properties
dans le menu contextuel.
- Dans la
hosts Properties
fenêtre, cliquez sur l' Security
onglet.
- Examinez la liste de noms dans la
Group or user names:
boîte. Si %COMPUTERNAME%\Users
est présent, cliquez dessus pour afficher les autorisations.
- Si
Users
n'est pas présent, ou est présent mais n'a pas la Read
permission, cliquez sur Edit...
.
- Si
Users
n'est pas présent, cliquez sur Add...
, le type Users
, cliquez sur Check Names
, puis cliquez sur OK ou appuyez sur Entrée.
- Sélectionnez
Users
et assurez Read & execute
-vous que la case est cochée Allow
. Cliquez sur OK. Si un Windows Security
message d'alerte apparaît, choisissez Yes
de continuer.
- Cliquez sur OK pour fermer la
hosts Properties
fenêtre.
- Montez à 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 accédant à Internet Explorer -> Options Internet -> Connexions -> Paramètres réseau -> Serveur proxy / avancé. Ajoutez ensuite vos exceptions à la zone de texte Exceptions. Par exemplelocalhost;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.