
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.
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.
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