
Fichier hosts qui ne fonctionne pas ? Solutions Windows, Mac, Linux
Le fichier hosts est ignoré ou /etc/hosts ne s’applique pas ? Corrigez-le sous Windows, Mac et Linux : flush DNS, syntaxe, IPv6, fins de ligne, caches de résolveur et permissions.
Gérez vos fichiers hosts sans terminal
ToggleHosts vous permet de gérer vos environnements visuellement sur Windows, macOS et Linux, avec flush DNS automatique et sauvegardes.
Paiement unique
Si le fichier hosts « ne fonctionne pas », l’entrée est presque toujours correcte mais quelque chose en aval l’ignore, généralement un cache DNS périmé, un cache navigateur, une petite erreur de syntaxe, ou un autre résolveur qui prend le dessus. Suivez la checklist ordonnée ci-dessous ; elle vaut pour /etc/hosts sous macOS et Linux et C:\Windows\System32\drivers\etc\hosts sous Windows.
Checklist rapide (le plus fréquent d’abord)
- Videz le cache DNS. Les modifications ne s’appliquent qu’après un flush, voir comment vider le cache DNS sur chaque OS.
- Videz le cache DNS du navigateur et ouvrez un nouvel onglet,
chrome://net-internals/#dns. - Vérifiez la syntaxe :
IP<espace-ou-tab>nom_d_hôte, sanshttp://, sans port, sans commentaire collé au nom. - Confirmez qu’elle n’est pas commentée (pas de
#en début de ligne). - Ajoutez un saut de ligne final après la dernière entrée et réenregistrez.
- Confirmez l’enregistrement avec les droits admin/root (pas de « accès refusé » silencieux).
- Écartez un autre résolveur (VPN, proxy, systemd-resolved, nscd), détails par OS plus bas.
Erreurs de syntaxe qui cassent le fichier en silence
# Faux
http://127.0.0.1 monapp.test # pas de schéma autorisé
127.0.0.1:3000 monapp.test # pas de port autorisé
127.0.0.1 *.monapp.test # pas de wildcard (voir dnsmasq)
# Correct
127.0.0.1 monapp.test
127.0.0.1 monapp.test www.monapp.testLe fichier hosts ne reconnaît que les noms exacts et ignore ports et schémas. Pour toutes les règles, voir le guide de syntaxe du fichier hosts. Les wildcards nécessitent dnsmasq, voir domaines locaux wildcard avec dnsmasq.
IPv6 vs IPv4
Si un nom résout mais que la connexion échoue, l’appli préfère peut-être l’IPv6. Mappez les deux :
127.0.0.1 monapp.test
::1 monapp.testContexte : 127.0.0.1 vs localhost. Si localhost lui-même refuse la connexion, voir localhost n’autorise pas la connexion.
Windows : pourquoi les modifications hosts sont ignorées
- Pas vidé / pas élevé : enregistrez dans un éditeur ouvert via Exécuter en tant qu’administrateur, puis
ipconfig /flushdns. - « Protection hosts » de l’antivirus : Norton, McAfee, Kaspersky et l’accès contrôlé aux dossiers peuvent bloquer ou annuler les éditions.
- Mauvais fichier : vérifiez avoir édité
C:\Windows\System32\drivers\etc\hosts(sans extension). Voir modifier le fichier hosts sous Windows.
macOS : pourquoi /etc/hosts est ignoré
- Cache système :
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder. - Noms .local : ils passent par mDNS/Bonjour, pas par le fichier hosts, utilisez plutôt
.test. - Enregistré sans sudo / mauvaises fins de ligne : utilisez
sudo nano /etc/hostset gardez des fins de ligne Unix (LF). Guide Mac détaillé : le fichier hosts ne fonctionne pas sur Mac.
Linux : caches de résolveur et ordre
- Cache systemd-resolved :
sudo resolvectl flush-caches(ousudo systemd-resolve --flush-caches). - Cache nscd :
sudo systemctl restart nscds’il est installé. - Ordre NSS : vérifiez
/etc/nsswitch.conf, la lignehosts:doit listerfilesavantdns(ex.hosts: files dns), sinon le DNS peut l’emporter. - Flag immuable :
lsattr /etc/hosts; retirez-le avecsudo chattr -i /etc/hostssi présent. Puis videz le DNS sous Linux.
Vérifier en ligne de commande
getent hosts monapp.test
ping monapp.testSi ces commandes renvoient l’IP de votre fichier hosts mais pas le navigateur, c’est le navigateur qui est périmé. Si elles renvoient la mauvaise IP, la couche système (cache, syntaxe, résolveur) est encore en cause, pas le navigateur.
Arrêtez de vous battre avec le fichier hosts
La plupart des cas « le fichier hosts ne fonctionne pas » sont un flush oublié ou une ligne malformée. Un gestionnaire de hosts comme ToggleHosts valide chaque entrée, garde le fichier syntaxiquement correct, et vide le DNS automatiquement après chaque changement, pour que les éditions prennent effet du premier coup. Pour éditer à la main sans risque, voir comment modifier le fichier hosts et comment fonctionne la résolution DNS.
_Dernier test : juin 2026 sur Windows 11, macOS 26 Tahoe et Ubuntu 24.04._
Sources et ressources externes
- Page de manuel hosts(5) (man7.org)
- Comment fonctionne le DNS (Cloudflare Learning)
- Le fichier hosts expliqué (Wikipédia)
Questions fréquentes
Raisons les plus fréquentes : le cache DNS n’a pas été vidé, le navigateur a son propre cache, la ligne a une erreur de syntaxe (mauvais séparateur, pas de saut de ligne final, ou http://), l’entrée est commentée, ou un autre résolveur (VPN, systemd-resolved, nscd) prend le dessus.
Enregistrez le fichier avec les droits admin/root, puis videz le cache DNS (ipconfig /flushdns sous Windows, sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder sous macOS, sudo resolvectl flush-caches sous Linux) et videz le cache DNS du navigateur.
Généralement oui, le fichier hosts est consulté avant le DNS externe pour la plupart des résolutions. Mais un VPN, un proxy ou un résolveur cache peuvent intercepter les noms, et le fichier hosts ne gère pas les wildcards.
Le navigateur garde un cache DNS séparé et peut réutiliser une connexion active. Videz-le (chrome://net-internals/#dns) et ouvrez un nouvel onglet. Si le terminal échoue aussi, corrigez d’abord la couche système.
Oui. Sous macOS/Linux, un fichier enregistré avec des fins de ligne Windows (CRLF) ou sans saut de ligne final peut faire ignorer la dernière entrée. Utilisez un éditeur de texte brut et des fins de ligne Unix (LF).
Articles similaires
EACCES: permission denied sur /etc/hosts : comment corrigerDépannage
EACCES: permission denied sur /etc/hosts : comment corriger
4 min de lecture
getaddrinfo ENOTFOUND dans Docker et Node.js : solutionsDépannage
getaddrinfo ENOTFOUND dans Docker et Node.js : solutions
4 min de lecture
Comment vider le cache DNS (Windows, Mac, Linux, Chrome)Vider le cache DNS
Comment vider le cache DNS (Windows, Mac, Linux, Chrome)
9 min de lecture