
Comment trouver et modifier le fichier hosts sous Ubuntu (Guide 2026)
Tutoriel complet pour trouver et éditer /etc/hosts sous Ubuntu 24.04 et 22.04 : nano, systemd-resolved, flush DNS, droits sudo et résolution locale.
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
Ubuntu est la distribution Linux la plus utilisée en développement web, nativement, sous WSL2 sur Windows, ou sur VPS. Le fichier hosts reste /etc/hosts, mais Ubuntu ajoute des subtilités : systemd-resolved, la ligne 127.0.1.1, et l’interaction avec NetworkManager.
Comment modifier le fichier hosts sur Ubuntu
Pour modifier le fichier hosts sur Ubuntu, ouvrez /etc/hosts en root puis videz systemd-resolved :
- Ouvrez un terminal (Ctrl + Alt + T).
- Lancez
sudo nano /etc/hostset saisissez votre mot de passe. - Ajoutez une ligne avec l'IP, un espace, puis le domaine, par exemple
127.0.0.1 monsite.test. - Enregistrez avec Ctrl+O puis Entrée, et quittez avec Ctrl+X.
- Videz le cache DNS :
sudo resolvectl flush-caches.
La vérification et les détails systemd-resolved sont ci-dessous.
Ce guide cible Ubuntu 22.04 LTS et 24.04 LTS (2026). Linux général : guide Linux. Pilier : multi-plateforme.
Structure par défaut d’/etc/hosts sur Ubuntu
Après installation :
127.0.0.1 localhost
127.0.1.1 ubuntu-laptop
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allroutersubuntu-laptop correspond à /etc/hostname. Cette entrée évite des warnings sudo et des retards sur hostname -f.
Procédure complète Ubuntu
1. Sauvegarde (bon réflexe)
sudo cp /etc/hosts /etc/hosts.backup.$(date +%Y%m%d)2. Édition
sudo nano /etc/hostsAjout type projet Laravel / Symfony / Node :
# === MonProjet, dev local ===
127.0.0.1 monprojet.test
127.0.0.1 api.monprojet.test
127.0.0.1 vite.monprojet.testSyntaxe : guide syntaxe.
3. Flush DNS
sudo resolvectl flush-cachesSi commande introuvable (Ubuntu minimal) :
sudo systemctl restart systemd-resolved4. Vérification
getent hosts monprojet.test
ping -c 2 monprojet.testsystemd-resolved sur Ubuntu
Ubuntu pointe souvent /etc/resolv.conf vers 127.0.0.53 (stub resolver). Le fichier hosts reste lu avant cette couche.
Diagnostic :
resolvectl status
resolvectl query monprojet.testSi resolvectl query montre votre IP hosts, la résolution système est OK.
Stack dev courante sur Ubuntu
Nginx + PHP-FPM
Virtual host server_name monprojet.test; + entrée hosts → 127.0.0.1.
Docker Compose
Préférez extra_hosts plutôt que modifier hosts dans le conteneur :
extra_hosts:
- "monprojet.test:host-gateway"Snap / Firefox
Le navigateur peut cacher DNS séparément. Testez aussi curl en CLI.
Ubuntu sous WSL2 (Windows)
Double configuration :
| Environnement | Fichier | Usage |
|---|---|---|
| Windows | C:\Windows\System32\drivers\etc\hosts | Chrome/Edge Windows |
| WSL Ubuntu | /etc/hosts | curl, npm, php artisan serve |
Procédure WSL :
sudo nano /etc/hosts
# mêmes entrées que sur Windows si vous testez les deuxWindows : guide Windows 11.
Note : WSL2 peut régénérer partiellement hosts au restart dans certains scénarios, documentez un script ~/bin/sync-hosts.sh pour l’équipe.
cloud-init sur VPS Ubuntu
Sur instances cloud, cloud-init injecte parfois des entrées metadata :
grep cloud-init /etc/hostsPour persister vos ajouts, utilisez des snippets cloud-init ou Ansible plutôt qu’une édition manuelle oubliée.
Permissions sudo
Utilisateur doit être dans groupe sudo. Entreprise : guide admin.
Sans mot de passe sudo (poste dev isolé uniquement) :
# /etc/sudoers.d/hosts-dev, DANGEREUX en prod
username ALL=(ALL) NOPASSWD: /usr/bin/nano /etc/hostsDéconseillé en environnement partagé.
Dépannage Ubuntu
« Temporary failure in name resolution »
- Vérifiez
/etc/resolv.confetsystemd-resolved - Entrée hosts mal formée (caractère invisible copié depuis Word)
sudo: unable to resolve host ubuntu-laptop
→ Ligne 127.0.1.1 ubuntu-laptop manquante ou hostname incohérent.
Modification non visible dans le navigateur
→ Flush resolvectl et cache navigateur.
Conflit avec Pi-hole ou DNS chiffré
DoH dans Firefox bypass parfois le resolver, testez en navigation privée sans extensions.
Bloquer des sites sur Ubuntu
0.0.0.0 distraction.social
0.0.0.0 www.distraction.socialGuide : bloquer un site. Sécurité : est-ce sûr ?.
Bonnes pratiques équipe Ubuntu
- Domaines .test (RFC réservés) plutôt que .local
- Backup daté avant import liste pub
- README avec commande flush copiable
- Entrées datées pour migrations temporaires
- Collègues Mac : partager tableau domaines, eux : Mac ou ToggleHosts
Exemple README :
## Hosts Ubuntu
sudo nano /etc/hosts
sudo resolvectl flush-caches
127.0.0.1 app.equipe.testComparaison rapide LTS
| Version | resolved | Notes |
|---|---|---|
| 22.04 LTS | Oui | Standard entreprise |
| 24.04 LTS | Oui | Même procédure |
Laravel, Symfony et PHP sur Ubuntu
Laravel Valet Linux (ou équivalent)
Beaucoup d’équipes PHP utilisent des domaines .test :
127.0.0.1 monapp.test
127.0.0.1 api.monapp.testPuis php artisan serve --host=0.0.0.0 ou Nginx site-enabled. Oublier resolvectl flush-caches après ajout = ticket « 404 seulement chez moi ».
Symfony local
Fichier .env.local :
APP_URL=https://symfony.testHosts obligatoire si vous testez cookies domain-scoped ou CORS entre sous-domaines.
Composer et scripts post-install
Automatisez l’onboarding :
#!/bin/bash
# scripts/setup-hosts.sh
grep -q "monapp.test" /etc/hosts || echo "127.0.0.1 monapp.test" | sudo tee -a /etc/hosts
sudo resolvectl flush-cachesVersionnez le script, pas le fichier hosts système du développeur.
Node.js, Vite et ports multiples
127.0.0.1 frontend.dev.test
127.0.0.1 backend.dev.testProxy Vite :
// vite.config.js
server: { host: 'frontend.dev.test', port: 5173 }Test : curl -H "Host: frontend.dev.test" http://127.0.0.1:5173
Snap Firefox sur Ubuntu 24.04
Firefox Snap est le défaut. En cas de doute :
sudo apt install firefox --no-install-recommends # deb natif si politique équipe le permetComparez résolution Snap vs deb si le navigateur seul échoue.
Multipass et VMs Ubuntu locales
Canonical Multipass crée des VMs Ubuntu isolées, chacune a son /etc/hosts. Modifiez l’hôte Ubuntu et la VM si vous accédez depuis les deux.
Netplan et résolution (ne pas confondre)
Netplan configure interfaces réseau, pas le contenu de /etc/hosts. Les confusions mènent à éditer le mauvais fichier YAML dans /etc/netplan, restez sur /etc/hosts pour les noms locaux.
Checklist onboarding Ubuntu (copier-coller wiki)
## Setup hosts, Ubuntu dev
1. sudo cp /etc/hosts /etc/hosts.backup
2. sudo nano /etc/hosts
3. Coller bloc projet (voir repo docs/hosts.txt)
4. sudo resolvectl flush-caches
5. getent hosts app.equipe.test
6. Ouvrir https://app.equipe.testPerformance : fichier hosts volumineux
Si un dev importe une liste anti-pub de 50 Mo sur Ubuntu :
wc -l /etc/hostsPlus de 20 000 lignes → mesurer latence time getent hosts google.com. Envisager Pi-hole réseau plutôt qu’hosts local, guide blocage.
PostgreSQL, Redis et noms de service locaux
Pattern microservices Ubuntu :
127.0.0.1 postgres.dev.test
127.0.0.1 redis.dev.test
127.0.0.1 api.dev.testDocker Compose expose 5432 sur localhost ; votre app lit DATABASE_URL=postgres://postgres.dev.test:5432, hosts unifie la doc équipe même si les ports changent.
GitHub Codespaces et dev distant
Codespaces ignore le hosts de votre laptop, l’environnement distant a son propre /etc/hosts. Si vous basculez entre local Ubuntu et Codespace, maintenez deux checklists séparées.
systemd-resolved et DNSSEC
resolvectl query affiche parfois « DNSSEC validated » pour le DNS upstream, cela n’affecte pas la priorité du fichier hosts local. Vos entrées 127.0.0.1 restent prioritaires.
AppArmor et édition /etc/hosts
Sur Ubuntu, AppArmor ne bloque généralement pas sudo nano /etc/hosts. Si vous voyez « Permission denied » malgré sudo, vérifiez que le filesystem n’est pas monté en read-only (mount | grep ' / ') après une mise à jour kernel ratée.
Journalctl et diagnostic réseau
Après modification hosts, si un service systemd échoue au démarrage :
journalctl -u nginx -n 50 --no-pagerUn unknown host indique souvent une faute de frappe dans /etc/hosts, pas un problème nginx.
Comparez toujours /etc/hostname, /etc/hosts et la sortie de hostname -f lors d’un onboarding Ubuntu, trois sources qui doivent rester cohérentes.
Conclusion
Sur Ubuntu : backup, sudo nano /etc/hosts, respecter 127.0.1.1, resolvectl flush-caches, getent pour tester. WSL et cloud-init sont les deux pièges qui surprennent même les devs expérimentés.
Suite : Linux, guide complet, pilier.
Sources et ressources externes
Questions fréquentes
/etc/hosts, identique à la plupart des distributions Linux.
L’installateur l’ajoute pour que le nom de machine soit résolvable sans DNS externe. Ne la supprimez pas sans ajuster /etc/hostname.
sudo resolvectl flush-caches, Ubuntu utilise systemd-resolved par défaut depuis plusieurs versions LTS.
Rarement directement pour les entrées manuelles. Les entrées que vous ajoutez restent en général persistantes.
Oui pour éditer /etc/hosts dans WSL, mais le hosts Windows reste séparé pour les apps Windows.
sudo cp /etc/hosts.backup.YYYYMMDD /etc/hosts puis sudo resolvectl flush-caches
Articles similaires
Fichier hosts qui ne fonctionne pas ? Solutions Windows, Mac, LinuxDépannage
Fichier hosts qui ne fonctionne pas ? Solutions Windows, Mac, Linux
4 min de lecture
Comment trouver et modifier le fichier hosts sous Windows 11 (Guide 2026)Modifier le fichier hosts
Comment trouver et modifier le fichier hosts sous Windows 11 (Guide 2026)
7 min de lecture
Est-ce sûr de modifier le fichier hosts ? (2026)Modifier le fichier hosts
Est-ce sûr de modifier le fichier hosts ? (2026)
8 min de lecture