Come funzionano i server DNS preferiti e alternativi o multipli?


21

Stavo pensando di aggiungere 8.8.8.8 alla fine dell'elenco dei server DNS del mio adattatore come backup nel caso in cui tutto fallisse, quando mi è venuto in mente che non so davvero come vengono trattati i server DNS secondari e terziari.

  • In quali condizioni viene utilizzato il prossimo server DNS?
  • Il server successivo verrà controllato se il nome non è stato risolto?
  • Posso configurare la mia macchina per interrogare più server se un nome non viene risolto?

Sono anche preoccupato che aggiungendo un server DNS non sulla mia intranet, potrei non essere in grado di risolvere i nomi locali.

  • Se il primo server DNS non funziona, per quanto tempo verrà utilizzato il server DNS secondario?
  • Quando la mia macchina verifica se il server DNS primario è attivo, blocca la mia query DNS corrente?
  • In che modo più server DNS influiscono sulle prestazioni? Se ho quattro server DNS nell'elenco dei miei adattatori e tre di loro sono morti, attenderanno tre timeout prima di ottenere una risposta?

Non sono sicuro che questa domanda sia specifica del sistema operativo. Diversi sistemi operativi lo trattano in modo diverso?

Il mio obiettivo è aggiungere 8.8.8.8 ai server DNS oltre a ciò che DHCP distribuisce con uno script. Continuo a imbattermi in stupidi problemi DNS in cui le mie macchine finiscono con un server DNS falso / irraggiungibile / semplicemente privo di errori a causa di errori nella configurazione DHCP su cui non ho alcun controllo. Mi sto stancando, ma mi chiedo se l'aggiunta di questo fail safe causerebbe più problemi di quanti ne risolva.


1
Questa domanda è correlata: superuser.com/q/558843/146694 L'aggiunta di un indirizzo DNS esterno a una rete che necessita della risoluzione dei nomi interna causa molti problemi .
Tanner Faulkner,

Risposte:


16

La risposta è certamente specifica del sistema operativo, nel senso che nulla impedisce a un determinato sistema operativo di comportarsi diversamente. Non c'è nulla di necessario nell'interrogazione del client DNS di più server che impedirebbe a un'implementazione del sistema operativo di trattare le query DNS in modo diverso da quello che sto descrivendo qui.

Detto questo, l'esempio di come Linux cerca i nomi DNS dovrebbe essere rappresentativo di come lo fanno oggi la maggior parte dei sistemi operativi di uso comune.

Ecco un buon post che descrive in dettaglio il comportamento, oltre a un modo per impostare qualcosa di simile a quello che hai chiesto.

L'idea generale è che, per impostazione predefinita, i server DNS secondari / terziari vengono utilizzati in sequenza solo se il server DNS primario scade o punta a un indirizzo IP non instradabile. Anche se il server DNS primario dice "quel dominio non si risolve", non passerà a chiedere al server dei nomi successivo. Tratta qualsiasi risposta valida alla query come motivo per non passare al server DNS successivo nell'elenco.

Un possibile modo sensato di configurarlo in modo che gli indirizzi locali si risolvano per primi, ma continuino a utilizzare Google DNS o OpenDNS invece del server DNS dell'ISP, è configurare il router o la LAN box (qualunque sia il gateway Internet) da utilizzare 8.8.8.8come suo nameserver primario. Naturalmente, la casella gateway dovrebbe essere in esecuzione un nameserver e dovrebbe essere configurata per rispondere alle query DNS per i nomi host locali sulla sottorete privata, ma se non riesce a risolvere la sottorete locale, dovrebbe immediatamente puntare a Google DNS. Questo è il migliore dei due mondi.

Un altro modo per farlo è configurare server dei nomi diversi per interfacce di rete diverse. Windows ti consente di farlo per impostazione predefinita; l'articolo nel link sopra descrive un modo per farlo configurando l'implementazione del server DNS BIND9 usando le direttive forwarde forwarders.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.