I risolutori di stub provano solo un server DNS diverso nell'elenco dei server disponibili se non riescono a ottenere una risposta dopo aver provato un server. Se fanno ottengono una risposta, allora non vanno giù nella lista interrogando altri server solo per assicurarsi che gli altri server siano d'accordo con questa risposta. (E se hanno trovato risposte contraddittorie, quale dovrebbe fidarsi?) Quindi è normale che quando il server DNS di Google afferma che l'host della tua intranet non esiste, non controlla alcun altro server per essere sicuro.
Cosa si dovrebbe fare se i resolver locali sono garbage è fornire uno o più server alternativi che fanno lo stesso lavoro e li usano. Fondamentalmente: reimplementare i server lenti tranne ... non lento.
Avrai bisogno di un elenco di tutti i domini che appartengono alla tua intranet e del corrispondente server dei nameserver autorevole che serve ciascuno di essi. Il problema è che il tuo reparto IT potrebbe non fornirti questo elenco e potrebbe ricevere aggiunte e modifiche nel tempo, quindi dovrai mantenerlo costantemente aggiornato. Il tuo reparto IT mantiene questo elenco nei risolutori che fornisce, ma potrebbero non supportare una terza parte a conservare un'altra copia nel proprio risolutore.
È necessario un server DNS di memorizzazione nella cache come bin
o unbound
. Normalmente raccomanderei unbound
per questo, ma se vuoi eseguire il software sul tuo computer locale troverai bind
più facile perché viene preinstallato su MacOS. Se lo esegui sul tuo computer locale, puoi configurare 127.0.0.1 come risolutore.
Imposta ciascuno dei domini intranet come zona "avanti" e imposta i server di inoltro ai server dei nomi autorevoli per quel dominio. Sia per BIND che per Unbound, è possibile utilizzare principalmente la configurazione predefinita, con aggiunte di una zona di inoltro per ciascun dominio Intranet. Per BIND:
zone "yourdomain" {
type forward;
forwarders ip.add.ress ip.add.ress;
}
Per non associato:
forward-zone:
name: "yourdomain"
forward-addr: ip.add.ress
forward-addr: ip.add.ress