Las bibliotecas de cliente DNS lo hacen.
Las bibliotecas C contienen clientes DNS que envuelven búsquedas de nombre a dirección en el protocolo DNS y las entregan a servidores DNS proxy para hacer todo el trabajo de resolución de consultas. Hay muchos de estos clientes DNS. El que está en la biblioteca principal de tiempo de ejecución C de su sistema operativo muy probablemente sea el de BIND de ISC. Pero hay una gran cantidad de otros de Daniel J. Bernsteindns
biblioteca través de c-ares a adns.
Aunque varios de ellos contienen sus propios mecanismos de configuración nativos, generalmente tienen un modo de compatibilidad de biblioteca BIND donde leen resolv.conf
, que es el archivo de configuración para la biblioteca de cliente BIND C de ISC.
El NSS se superpone a esto y está configurado por nsswitch.conf
. Una de las cosas que las búsquedas de NSS pueden invocar internamente es el cliente DNS, ynsswitch.conf
el código NSS lo lee en la biblioteca C para determinar si las búsquedas se entregan al cliente DNS y dónde y cómo lidiar con las diversas respuestas.
(Hay una pequeña complicación a esta idea causada por el Name Services Cache Dæmon, nscd. Pero esto simplemente agrega un cliente de capa superior adicional en la biblioteca C, hablando un protocolo idiosincrásico a un servidor local, que a su vez actúa como un El cliente DNS que habla el protocolo DNS a un servidor DNS proxy systemd-resolved
agrega complicaciones similares).
systemd-resolved
` NetworkManager
` connman
` dhcpcd
`resolvconf
, Y otros ajustar el archivo de configuración del cliente DNS BIND DNS a los clientes interruptor para hablar, en diferentes servidores DNS de proxy sobre la marcha. Esto está fuera del alcance de esta respuesta, especialmente porque hay muchas respuestas en este sitio WWW que ya se ocupan de los detalles bizantinos que implica dicho mecanismo.
La forma más tradicional de hacer las cosas en el mundo de Unix es ejecutar un servidor DNS proxy en la máquina o en una LAN. De ahí lo que dice el manual de FreeBSD sobre los sistemas configurados normalmente, donde la acción predeterminada de la biblioteca del cliente DNS en ausencia de resolv.conf
coincide con lo que normalmente tienen los administradores del sistema Unix, que es un servidor DNS proxy que escucha en 127.0.0.1. (El manual de FreeBSD resolv.conf
es en realidad doco que también se origina en BIND de ISC, y por supuesto también se puede encontrar donde la biblioteca de cliente DNS de BIND se ha incorporado en otros lugares, como la biblioteca GNU C).
Otras lecturas