Le fichier /etc/hostset le DNS ne fonctionnent pas ensemble. Ils fournissent des résolutions de noms indépendantes (noms de réseau).
La colle qui les relie est à l' intérieur /etc/nsswitch.confpour les systèmes Linux . Dans les /etc/netsvc.confserveurs AIX, dans le système pour Windows et peut être répertorié avec lookupd -configuration(recherchez LookupOrder, similaire à:) Cache FF DNS NI DSdans les systèmes MacOS.
L'ordre réel devient complexe et généralement alambiqué car chaque service de résolution de noms peut (et souvent le fait) regarder à l'intérieur d'autres niveaux de résolution. Comme dnsmasq(un serveur DNS léger généralement à 127.0.0.1:53, ou ::1:53(ou les deux)) lit et inclut généralement le /etc/hostscontenu du fichier. Ou comme systemd.resolver(un résolveur de base qui ne devrait résoudre que les noms non pointés comme mycomputer) appelle directement les résolutions DNS pour les noms pointés ( mycomputer.here.dev.) sous certaines conditions.
En général, les services sont appelés dans l'ordre et le premier qui n'échoue pas gagne et est accepté comme la bonne adresse. L'ordre de base général est le suivant: /etc/hosts(fichier), mDNS (noms sans point), DNS, NIS, NIS +, LDAP. Dans certains systèmes Linux, il existe une résolution de dernier recours pour l'ordinateur hostnamedu servicemyhostname
Par exemple, dans ce système (à partir de cat /etc/nsswitch):
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
Notez que l' orderentrée très ancienne (glibc 2.4 et versions antérieures) est définie/etc/host.conf comme:
order hosts,bind,nis
Appliquer uniquement au /etc/hostsservice de noms de fichiers (fichier ).
Les effets sur cet ordinateur client (Linux) liés à NIS et LDAP sont (généralement) contrôlés par le serveur DNS utilisé (bind, unbound, etc.).
donc:
- Si un nom d'hôte peut être résolu dans / etc / hosts, le DNS s'applique-t-il après / etc / hosts pour résoudre le nom d'hôte ou traite-t-il l'adresse IP résolue par / etc / hosts comme un "nom d'hôte" à résoudre récursivement?
Aucun.
Si un nom d'hôte peut être résolu dans /etc/hosts, le DNSne s'applique pas (si les fichiers se trouvent avant DNS).
l'adresse IP résolue n'est pas non plus traitée comme un "nom d'hôte".
C'est simplement: l'adresse résolue.
navigateur
Un navigateur peut utiliser n'importe quelle méthode pour résoudre un nom (après avoir vérifié son cache de noms résolus). Ce n'est que s'il utilise une méthode fournie par le système que l'ordre donné ci-dessus s'applique. Le navigateur, comme tout programme, peut choisir de contacter directement n'importe quel serveur DNS.
Si l'ordre du système est /etc/hostsantérieur DNS, cela signifie qu'une entrée dans ce fichier aura priorité sur le DNSservice de résolution.
Donc:
- ... Cela signifie-t-il que / etc / hosts remplace DNS pour résoudre les noms d'hôtes?
Oui (si le navigateur utilise la résolution fournie par le système).
Pourquoi ne postule-t-il pas de /etc/hostsnouveau, pour que je ne puisse pas me connecter au site Web?
Ce n'est que jusqu'à ce que le cache interne du navigateur soit effacé (ou qu'il expire) pour ce nom spécifique que ce nom soit à nouveau recherché en dehors du navigateur.
Si le navigateur a un nom résolu dans son cache, le navigateur l'utilise à nouveau.
Utilisez ceci pour vider le cache .
Ou fermez simplement (attendez un moment) et redémarrez le navigateur.
/etc/hostsles serveurs de noms définis localement. C'est assez déroutant d'être témoin la première fois. (En vous regardant, navigateurs à base de chrome!)