/etc/hosts fournit des correspondances statiques entre adresses et noms à la pile locale de services de noms. Il est utile pour les noms de bouclage, les dépendances d'amorçage et les tests précisément délimités, mais ne publie aucun enregistrement aux autres hôtes et ne met pas le DNS à jour.
DNS · Leçon 4
/etc/hosts
Découvrez comment les correspondances locales du fichier hosts participent à la résolution Linux et comment les tester sans risque.
Lire le fichier
Une ligne commence par une adresse IPv4 ou IPv6 suivie d'un ou plusieurs noms :
127.0.0.1 localhost
192.0.2.25 app-test.example.net app-test
2001:db8::25 app-test-v6.example.net app-test-v6
Les commentaires commencent par #. Certains outils considèrent conventionnellement le premier nom comme canonique et les suivants comme des alias, mais le comportement varie selon les applications et API. Évitez les entrées en double ou contradictoires pour un même nom.
Quel élément apparaît en premier sur une ligne normale de correspondance dans /etc/hosts ?
Ordre du résolveur
La configuration Name Service Switch, généralement /etc/nsswitch.conf, détermine comment les fonctions du résolveur système combinent files, le DNS, les systèmes multicast et d'autres sources. Une ligne courante est :
hosts: files dns
Ne supposez pas que les fichiers précèdent toujours le DNS sans examiner cette politique. Des applications peuvent aussi utiliser leurs propres bibliothèques DNS, caches, mandataires ou résolveurs chiffrés et ne pas suivre le chemin du système.
Qu'est-ce qui détermine si le résolveur système consulte /etc/hosts avant le DNS ?
Tester par le résolveur système
Utilisez getent pour exercer le chemin configuré du service de noms :
$ getent ahosts app-test.example.net
dig interroge directement le DNS et ne rapporte normalement pas les correspondances de /etc/hosts. Cette différence est utile : une réussite de getent associée à un échec de dig peut signaler une source locale ou une différence de politique.
Quel outil convient le mieux pour vérifier si la résolution normale du système voit une entrée du fichier hosts ?
Modifier sans risque
Conservez les entrées nécessaires de localhost et d'identité de l'hôte, validez l'adresse voulue et effectuez une modification récupérable avec un éditeur privilégié. N'écrasez pas un véritable domaine public pour un test improvisé : cela peut rediriger des identifiants ou du trafic applicatif. Utilisez un nom de test dédié et retirez l'entrée après l'expérience.
Après la modification, testez l'application exacte, car elle peut conserver un cache ou utiliser un autre résolveur. Documentez les surcharges persistantes afin qu'elles ne survivent pas silencieusement à leur objectif.
Pourquoi utiliser un nom de test dédié plutôt que de surcharger le nom d'un service public ?
Configuration des serveurs de résolution
/etc/resolv.conf contient traditionnellement les réglages des résolveurs DNS, mais il est souvent généré par NetworkManager, systemd-resolved, DHCP ou un autre gestionnaire. Inspectez les liens symboliques et commentaires, puis modifiez la configuration propriétaire plutôt qu'une sortie générée qui sera écrasée.
Que faut-il faire avant de modifier /etc/resolv.conf ?
Leçon terminée
Vous avez terminé /etc/hosts
Vous savez maintenant utiliser /etc/hosts comme source locale et contrôlée du résolveur.
Écrire des correspondances commençant par l'adresse, avec des noms et alias choisis.
Inspecter l'ordre Name Service Switch au lieu de le présumer.
Tester le résolveur système avec
getentet le DNS séparément avecdig.Employer des noms temporaires dédiés et vérifier l'application réelle.
Changer les serveurs de résolution par leur configuration propriétaire.
Conservez votre progression
Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.
Créer un compte gratuit