Locahl
Obtenir Locahl
fichier hostsLinuxtutorielterminalDNSdéveloppement local

Modifier le fichier hosts sous Linux (2026)

Guide Linux : éditer /etc/hosts avec nano ou vim, permissions root, flush DNS systemd, Docker et dépannage sur toutes distributions.

É

Équipe Locahl

·Mis à jour le ·7 min de lecture

Sous Linux, le fichier hosts vit dans /etc/hosts — même emplacement que sur macOS, avec une philosophie similaire : priorité locale sur le DNS réseau. Que vous soyez sur Fedora, Debian, Arch ou un serveur headless, ce guide 2026 vous donne la procédure universelle et les pièges par distribution.

Pour Ubuntu et dérivés (Pop!_OS, Mint), voir aussi guide Ubuntu. Vue multi-plateforme : guide pilier. Syntaxe : format /etc/hosts.

Rôle de /etc/hosts sous Linux

Le resolver Linux (glibc, systemd-resolved, NetworkManager) consulte /etc/hosts en premier pour la résolution « système ». Cas d’usage :

  • Dev web : Nginx/Apache/Caddy + domaines .test
  • Tests staging : domaine prod → IP staging
  • Serveurs : résolution interne sans DNS privé
  • Blocage local : bloquer des domaines

Contenu minimal typique :

TEXT
127.0.0.1   localhost
127.0.1.1   nom-hote.localdomain nom-hote
::1         localhost ip6-localhost ip6-loopback

La ligne 127.0.1.1 avec le hostname est ajoutée par l’installateur Debian/Ubuntu — ne la supprimez pas sans comprendre l’impact sur sudo et les mails locaux.

Édition avec nano (recommandé)

BASH
sudo nano /etc/hosts

Ajoutez en fin de fichier :

TEXT
# Projet SaaS
127.0.0.1   app.saas.test
127.0.0.1   api.saas.test

Sauvegarde nano : Ctrl+O, Entrée, Ctrl+X.

Édition avec vim

BASH
sudo vim /etc/hosts
  • Mode insertion : i
  • Sauvegarder quitter : :wq
  • Abandonner : :q!

Permissions et sécurité

Seul root écrit dans /etc/hosts. Détails : guide administrateur.

Vérifier les permissions :

BASH
ls -l /etc/hosts
# Attendu : -rw-r--r-- root root

Ne pas faire chmod 666 /etc/hosts — faille de sécurité majeure.

Risques généraux : est-ce sûr ?.

Flush DNS selon votre stack

Linux est fragmenté sur le cache DNS :

systemd-resolved (Ubuntu, Fedora récents, Debian 12+)

BASH
sudo resolvectl flush-caches
# ou ancienne syntaxe :
sudo systemd-resolve --flush-caches

Vérifier l’état :

BASH
resolvectl status

nscd (Name Service Cache Daemon)

BASH
sudo systemctl restart nscd

Pas de cache local

Parfois aucun flush n’est nécessaire — testez directement :

BASH
getent hosts app.saas.test
ping -c 1 app.saas.test

Docker et conteneurs

Erreur fréquente : modifier /etc/hosts dans un conteneur alors que le navigateur tourne sur l’hôte.

Hôte Linux : éditez /etc/hosts de la machine.

Conteneur : préférez extra_hosts dans docker-compose :

YAML
services:
  web:
    extra_hosts:
      - "app.saas.test:host-gateway"

Ou --add-host :

BASH
docker run --add-host=app.saas.test:127.0.0.1 ...

Distribution-specific notes

Debian / Ubuntu

Souvent 127.0.1.1 hostname. NetworkManager ne remplace pas hosts. Guide dédié : Ubuntu.

Fedora / RHEL

SELinux n’empêche généralement pas l’édition manuelle de /etc/hosts. Flush via resolvectl.

Arch

Pas de ligne 127.0.1.1 par défaut parfois — ajoutez localhost explicitement si besoin.

Serveurs cloud (AWS, GCP, Azure)

cloud-init peut régénérer /etc/hosts au reboot. Persistez via :

BASH
# Exemple cloud-init snippet (à adapter)
# write_files:
#   - path: /etc/hosts

Ou scripts post-boot documentés pour l’équipe.

WSL et Linux hybride

Développeurs sous Windows 11 + WSL : le hosts Windows et WSL sont distincts. Éditez les deux si vous testez des deux côtés — Windows 11.

Vérification

BASH
getent hosts api.saas.test
curl -I http://app.saas.test

Si curl échoue mais getent OK :

  • Service web non démarré
  • Mauvais port / virtual host
  • Cache navigateur distant (si test depuis autre machine)

Dépannage

Permission denied

→ Oublie de sudo. Ou filesystem read-only (mount | grep ' / ').

Entrée ignorée

  • Ligne dupliquée : première correspondance utilisée
  • Erreur syntaxe (IP invalide)
  • Cache : resolvectl flush-caches

hostname -f incorrect

Lié à /etc/hosts et /etc/hostname. Gardez cohérence entre les deux fichiers.

Modification écrasée

cloud-init, Ansible, Puppet — cherchez qui gère /etc/hosts dans votre infra.

Bonnes pratiques équipe Linux

TEXT
# === DEV — équipe platform ===
127.0.0.1   grafana.dev.test
127.0.0.1   prometheus.dev.test

# === STAGING TEMP 2026-Q2 ===
203.0.113.20   preview.client.com
  • Versionnez un template hosts dans le repo (pas le fichier système entier)
  • Documentez flush DNS par distro dans le README
  • Pour Mac collègues : guide Mac — Locahl aide côté macOS

Comparaison Linux vs Windows vs Mac

ActionLinuxWindowsMac
Chemin/etc/hostsSystem32\...\hosts/etc/hosts
Éditionsudo nanoBloc-notes adminsudo nano / GUI
Flushresolvectlipconfig /flushdnsdscacheutil

Tableau complet : guide pilier.

Gestion par configuration management (Ansible, Chef, Puppet)

En infra Linux, l’édition manuelle sudo nano ne scale pas. Exemple Ansible minimal :

YAML
- name: Ajouter entrée dev hosts
  lineinfile:
    path: /etc/hosts
    line: "127.0.0.1 app.projet.test"
    state: present
  notify: flush dns cache

handlers:
  - name: flush dns cache
    command: resolvectl flush-caches

Avantages : reproductible, auditable, revue Git.

Piège : lineinfile ne flush pas toujours au bon moment — testez sur VM avant prod.

Flatpak, Snap et sandboxing

Les applications sandboxées (Firefox Snap sur Ubuntu, Flatpak) utilisent généralement la résolution hôte standard. Exceptions rares avec réseau namespace custom. Si une Snap app ignore hosts :

BASH
# Vérifier résolution côté hôte d'abord
getent hosts app.test

Si OK côté hôte mais KO dans Snap → bug app ou permissions Snap — consultez la doc du package.

Serveurs headless (SSH uniquement)

Sur VPS sans GUI :

BASH
ssh user@serveur
sudo nano /etc/hosts
# entrée pour service interne non-DNS
10.0.0.5   db.internal.corp

Utile quand le DNS privé n’est pas encore propagé ou pour tests de bascule. Ne remplacez pas un DNS interne mature sur le long terme.

Caddy, Traefik et reverse proxy local

Pattern courant 2026 :

TEXT
127.0.0.1   api.local.test
127.0.0.1   app.local.test

Caddy route app.local.test → conteneur :3000. Sans hosts, Caddy recevrait des requêtes Host: localhost incorrectes.

Audit et conformité

Sur postes Linux corporate, /etc/hosts peut être surveillé par AIDE ou Tripwire. Toute modification déclenche une alerte SOC — normal en banque ou défense. Coordonnez avec l’IT avant d’ajouter des entrées dev.

Tableau flush DNS par distribution (2026)

DistributionCommande flush
Ubuntu 22.04+sudo resolvectl flush-caches
Debian 12idem
Fedora 40+idem
Archidem (systemd-resolved)
Alpine (musl)souvent pas de cache — redémarrer nscd si installé
CentOS 7 legacysudo systemctl restart nscd ou pas de cache

Gardez ce tableau dans le README de votre monorepo — vos collègues Windows exécuteront ipconfig /flushdns, pas resolvectl.

Kubernetes minikube et /etc/hosts

BASH
minikube ip
# 192.168.49.2 par exemple

Ajoutez :

TEXT
192.168.49.2   app.k8s.local

Ingress controller route ensuite vers vos services. Sans hosts, vous retombez sur 127.0.0.1 ou l’IP minikube en dur dans le navigateur — fragile quand l’IP change au restart.

Documentez l’IP minikube dans le README et automatisez sa mise à jour avec un hook post-start si votre équipe redémarre le cluster souvent.

Podman rootless

Podman rootless mappe les ports différemment de Docker. L’entrée hosts pointe toujours vers 127.0.0.1 côté hôte ; vérifiez podman port pour le mapping effectif.

Conclusion

Sur Linux, sudo nano /etc/hosts + resolvectl flush-caches couvrent 90 % des cas. Maîtrisez cloud-init, Docker extra_hosts, et la ligne 127.0.1.1 Debian — vous éviterez les heures de debug « ça marche sur ma machine ».

Approfondir : guide complet, Ubuntu, syntaxe.

Partager cet article
Disponible sur Windows, macOS et Linux

Prêt à simplifier votre workflow ?

Arrêtez de perdre du temps avec le terminal. Locahl vous permet de gérer votre fichier hosts en quelques clics, avec validation automatique et sans risque d'erreur.

  • Interface visuelle intuitive
  • Flush DNS automatique
  • Gestion multi-environnements
  • Sauvegardes automatiques
  • Import/Export JSON
Obtenir Locahl4,99 €Paiement unique, pas d'abonnement

Avis des lecteurs

4.7(3 avis)
Alexandre T.

"Enfin un guide Linux qui mentionne resolvectl ET systemd-resolve. Fedora et Debian couverts."

18 janvier 2026

Fatima B.

"La section Docker m’a évité de modifier hosts dans le conteneur au lieu de l’hôte."

25 février 2026

Jonas L.

"Très solide. Le lien Ubuntu est parfait pour mes collègues sur LTS."

30 mars 2026

Questions fréquentes

Où se trouve le fichier hosts sous Linux ?

/etc/hosts sur pratiquement toutes les distributions (Debian, Ubuntu, Fedora, Arch, RHEL, etc.).

Pourquoi utiliser sudo pour éditer /etc/hosts ?

Le fichier appartient à root et est protégé en écriture. sudo donne les privilèges nécessaires.

Comment vider le cache DNS sous Linux ?

Avec systemd-resolved : sudo resolvectl flush-caches ou sudo systemd-resolve --flush-caches. Sans systemd, redémarrez nscd ou le service DNS local si présent.

Le fichier hosts fonctionne-t-il dans Docker ?

Chaque conteneur a son propre /etc/hosts généré. Modifiez l’hôte pour le navigateur local, ou utilisez extra_hosts dans docker-compose pour les conteneurs.

Puis-je utiliser vim au lieu de nano ?

Oui : sudo vim /etc/hosts. Nano reste plus accessible pour les débutants.

Mes changements disparaissent au reboot

Cloud-init ou un outil de configuration peut régénérer /etc/hosts. Vérifiez /etc/cloud/cloud.cfg et les scripts de provisioning.

Articles similaires

7 min de lecture
fichier hostsWindows 11tutoriel

Modifier le fichier hosts sous Windows 11 (2026)

Guide Windows 11 : éditer hosts avec Bloc-notes admin, nouveau menu Démarrer, UAC, PowerShell 7, flush DNS et dépannage spécifique.

É

Équipe Locahl

6 min de lecture
fichier hostsmacOStutoriel

Modifier le fichier hosts sur Mac (2026)

Comment éditer /etc/hosts sur macOS sans erreur ? Comparatif Terminal (sudo nano) vs interface graphique. Résolvez permissions denied et cache DNS en 2 minutes.

É

Équipe Locahl

7 min de lecture
fichier hostsUbuntuLinux

Modifier le fichier hosts sous Ubuntu (2026)

Tutoriel Ubuntu 22.04/24.04 : éditer /etc/hosts, systemd-resolved, NetworkManager, WSL, flush DNS et bonnes pratiques dev.

É

Équipe Locahl

7 min de lecture
fichier hostsWindowstutoriel

Modifier le fichier hosts sous Windows (2026)

Tutoriel complet pour éditer C:\Windows\System32\drivers\etc\hosts sur Windows 10 et 11 : Bloc-notes admin, PowerShell, flush DNS et dépannage.

É

Équipe Locahl