Le librerie client DNS lo fanno.
Le librerie C contengono client DNS che racchiudono le ricerche da nome a indirizzo nel protocollo DNS e le consegnano ai server DNS proxy per svolgere tutto il duro lavoro di risoluzione delle query. Esistono molti di questi client DNS. Quello che si trova nella libreria di runtime C principale del tuo sistema operativo sarà molto probabilmente quello del BIND di ISC. Ma ce ne sono molti altri dalla dns
biblioteca di Daniel J. Bernstein attraverso c-ares ad adns.
Sebbene molti di essi contengano i propri meccanismi di configurazione nativi, generalmente hanno una modalità di compatibilità della libreria BIND in cui leggono resolv.conf
, che è il file di configurazione per la libreria client BIND C dell'ISC.
L'NSS è sovrapposto a questo, ed è configurato da nsswitch.conf
. Una delle cose che le ricerche NSS possono invocare internamente è il client DNS e nsswitch.conf
viene letto dal codice NSS nella libreria C per determinare se e dove le ricerche vengono inviate al client DNS e come gestire le varie risposte.
(C'è una leggera complicazione a questa idea causata da Name Services Cache Dæmon, nscd. Ma questo aggiunge semplicemente un client di livello superiore extra nella libreria C, parlando di un protocollo idiosincratico a un server locale, che a sua volta funge da Client DNS che parla il protocollo DNS a un server DNS proxy. systemd-resolved
Aggiunge complicazioni simili.)
systemd-resolved
, NetworkManager
, connman
, dhcpcd
, resolvconf
, E altri regolare il file di configurazione del client BIND DNS per i client DNS interruttore di parlare con diversi server DNS del proxy al volo. Ciò non rientra nel campo di applicazione di questa risposta, soprattutto perché su questo sito WWW ci sono già molte risposte che trattano già dei dettagli bizantini che tale meccanismo comporta.
Il modo più tradizionale di fare le cose nel mondo Unix è di eseguire un server DNS proxy sulla macchina stessa o su una LAN. Da qui ciò che dice il manuale di FreeBSD sui sistemi normalmente configurati, in cui l'azione predefinita della libreria client DNS in assenza di resolv.conf
corrispondenze è quella che normalmente hanno gli amministratori di sistema Unix, che è un server DNS proxy in ascolto su 127.0.0.1. (Il manuale di FreeBSD per resolv.conf
è in realtà un documento che proviene anche dal BIND di ISC, e ovviamente può anche essere trovato dove la libreria client DNS di BIND è stata incorporata in altri luoghi come la libreria GNU C.)
Ulteriori letture