Les bibliothèques client DNS le font.
Les bibliothèques C contiennent des clients DNS qui regroupent les recherches nom-à-adresse dans le protocole DNS et les remettent aux serveurs DNS proxy pour effectuer tout le travail de résolution des requêtes. Il y a beaucoup de ces clients DNS. Celui qui se trouve dans la bibliothèque d'exécution C principale de votre système d'exploitation sera très probablement celui de BIND d'ISC. Mais il y dns
en a beaucoup d'autres de la bibliothèque de Daniel J. Bernstein à travers c-ares à adns.
Bien que plusieurs d'entre eux contiennent leurs propres mécanismes de configuration natifs, ils ont généralement un mode de compatibilité de bibliothèque BIND où ils lisent resolv.conf
, qui est le fichier de configuration de la bibliothèque client BIND C de l'ISC.
Le NSS est superposé en plus de cela et est configuré par nsswitch.conf
. L'une des choses que les recherches NSS peuvent invoquer en interne est le client DNS, et nsswitch.conf
est lu par le code NSS dans la bibliothèque C pour déterminer si et où les recherches sont transmises au client DNS et comment gérer les différentes réponses.
(Il y a une légère complication à cette idée causée par le Name Services Cache Dæmon, nscd. Mais cela ajoute simplement un client de couche supérieure supplémentaire dans la bibliothèque C, parlant un protocole idiosyncrasique à un serveur local, qui à son tour agit comme un Un client DNS parlant le protocole DNS à un serveur DNS proxy systemd-resolved
ajoute des complications similaires.)
systemd-resolved
, NetworkManager
, connman
, dhcpcd
, resolvconf
Et d' autres ajuster le fichier de configuration du client DNS BIND aux clients DNS de passer à parler à différents serveurs DNS proxy à la volée. Cela est hors de portée pour cette réponse, d'autant plus qu'il existe de nombreuses réponses sur ce site WWW traitant déjà des détails byzantins qu'un tel mécanisme implique.
La manière la plus traditionnelle de faire les choses dans le monde Unix consiste à exécuter un serveur DNS proxy sur la machine elle-même ou sur un réseau local. D'où ce que dit le manuel de FreeBSD sur les systèmes normalement configurés, où l'action par défaut de la bibliothèque client DNS en l'absence de resolv.conf
correspond à ce que les administrateurs système Unix ont normalement, qui est un serveur DNS proxy écoutant sur 127.0.0.1. (Le manuel FreeBSD pour resolv.conf
est en fait un doco qui provient également de BIND d'ISC, et peut bien sûr aussi être trouvé là où la bibliothèque cliente DNS BIND a été incorporée dans d'autres endroits tels que la bibliothèque GNU C.)
Lectures complémentaires