Bibliotecas de clientes DNS fazem.
As bibliotecas C contêm clientes DNS que agrupam as pesquisas de nome para endereço no protocolo DNS e as entregam a servidores DNS proxy para executar todo o trabalho pesado da resolução de consultas. Existem muitos desses clientes DNS. A que está na principal biblioteca de tempo de execução C do seu sistema operacional provavelmente será a do BIND do ISC. Mas há muitos outros da dns
biblioteca de Daniel J. Bernstein, do c-ares ao adns.
Embora vários deles contenham seus próprios mecanismos de configuração nativos, eles geralmente têm um modo de compatibilidade da biblioteca BIND onde leem resolv.conf
, que é o arquivo de configuração da biblioteca cliente BIND C do ISC.
O NSS é colocado em camadas e é configurado por nsswitch.conf
. Uma das coisas que as pesquisas do NSS podem chamar internamente é o cliente DNS e nsswitch.conf
é lido pelo código NSS na biblioteca C para determinar se e onde as pesquisas são entregues ao cliente DNS e como lidar com as várias respostas.
(Existe uma ligeira complicação nessa idéia causada pelo Name Services Cache Dæmon, nscd. Mas isso simplesmente adiciona um cliente de camada superior extra na biblioteca C, falando um protocolo idiossincrático a um servidor local, que por sua vez atua como um Cliente DNS que fala o protocolo DNS para um servidor DNS proxy. systemd-resolved
Adiciona complicações semelhantes.)
systemd-resolved
, NetworkManager
, connman
, dhcpcd
, resolvconf
, E outros ajustar o arquivo de configuração do cliente DNS BIND para clientes interruptor de DNS para falar com diferentes servidores de DNS de proxy na mosca. Isso está fora do escopo desta resposta, especialmente porque há muitas respostas neste site da WWW que já lidam com os detalhes bizantinos que esse mecanismo envolve.
A maneira mais tradicional de fazer as coisas no mundo Unix é executar um servidor DNS proxy na própria máquina ou em uma LAN. Daí o que o manual do FreeBSD diz sobre sistemas normalmente configurados, onde a ação padrão da biblioteca cliente DNS, na ausência de, resolv.conf
corresponde ao que os administradores de sistema Unix normalmente possuem, que é um servidor DNS proxy que escuta em 127.0.0.1. (O manual do FreeBSD para resolv.conf
na verdade é um documento que também se origina do BIND do ISC e, é claro, também pode ser encontrado onde a biblioteca cliente DNS do BIND foi incorporada em outros locais, como a biblioteca GNU C.)
Leitura adicional