Per quanto tempo la cache DNS negativa dura in genere?

Se un server DNS presenta un record e manca, spesso "cache negativo" il fatto che questo record è mancante e non cercare di cercarlo di nuovo per un po '. Non vedo niente nel RFC circa il TTL sulla cache negativa dovrebbe essere, quindi indovino che sia un po 'arbitrario. Nel mondo reale, per quanto tempo questi record negativi rimangono attorno?

  • Errore DNS - il pannello di controllo del dominio accetta solo url come dns
  • Perché i record NS non contengono indirizzi IP?
  • Perché il DNS funziona come funziona?
  • Quali sono tutte le possibili cause del messaggio di errore "Un controller di dominio di Active Directory (AD DC) per il dominio ..."?
  • Il serial SOA ha importnza quando si tratta di ISP caching nameserver?
  • DNS NS e chiarificazione del dominio
  • 2 Solutions collect form web for “Per quanto tempo la cache DNS negativa dura in genere?”

    Il TTL per la cache negativa non è arbitrario. Viene prelevato dal record SOA nella parte superiore della zona a cui il record richiesto sarebbe appartenuto, se fosse esistito. Per esempio:

    example.org. IN SOA master-ns1.example.org. Hostmaster.example.org. ( 2012091201 43200 1800 1209600 86400 ) 

    L'ultimo valore del record SOA ("86400") è la quantità di tempo che viene richiesto ai client di memorizzare i risultati negativi in example.org. .

    Se un client richiede doesnotexist.example.org. , cache il risultato per 86.400 secondi.

    Ciò dipende dalla definizione esatta di una "query negativa", ma in entrambi i casi questo è documentato in rfc2308 «Cache negativa di query DNS (DNS NCACHE)» :


    NXDOMAIN

    • Se la risoluzione è rioutput e risulta in NXDOMAIN , la risposta verrà fornita con un record SOA , che contiene il NXDOMAIN TTL (tradizionalmente noto come field MINIMUM ). rfc2308#section-4

    SERVFAIL

    • Se la risoluzione non è rioutput ed SERVFAIL un timeout ( SERVFAIL ) , potrebbe anche non essere in cache e in tutte le circostanze NON DEVE essere memorizzato nella cache per più di 5 minuti. rfc2308#section-7.1

      Si noti che, in pratica, la memorizzazione di tali risultati per i 5 minuti consentiti è un ottimo modo per ridurre l'esperienza di un client se il loro server di cache occasionalmente subisce brevi problemi di connettività (e lo rende facilmente vulnerabile ad un'amplificazione di Denial of Service, where pochi secondi di inattività causerebbero che alcune parti del DNS siano in calo per i cinque minuti interi).

      Prima di BIND 9.9.6-S1 (rilasciato nel 2014), a quanto pare, SERVFAIL non era affatto memorizzato nella cache. a878301 (2014-09-04)

      Ad esempio, al momento della tua domanda e in tutte le versioni di BIND rilasciate prima del 2014, il resolver ricorsivo BIND NON ha cache SERVFAIL a tutti, se il predetto commit e la documentazione sulla prima introduzione in 9.9.6-S1 deve essere creduto.

      Nell'ultimo BIND, il servfail-ttl predefinito è 1s e l'impostazione è hardcoded ad un soffitto di 30s (al posto del massimale mandato da RFC di 300s ). 90174e6 (2015-10-17)

      Inoltre, sono riportte alcune citazioni degne di nota sulla questione:

      L'esito della risposte SERVFAIL in cache ha incluso alcune situazioni in cui è stato visto che pregiudica l'esperienza del cliente, in particolare quando le cause del SERVFAIL presentate al client erano transitorie e da uno scenario in cui un tentativo immediato della query sarebbe un azione più appropriata.

      La seconda tattica è affermare che i client DNS diffusi faranno qualcosa di particolarmente malvagio quando non riescono a raggiungere tutti i server DNS. Il problema di questo argomento è che l'affermazione è falsa. Qualsiasi tale cliente è chiaramente buggy e non sarà in grado di sopravvivere sul mercato: considerare cosa succede se i router del cliente scendono brevemente o se la networking del cliente viene temporaneamente inondata.


    In sintesi, una risposta NXDOMAIN verrà memorizzata nella cache come specificato nella SOA della zona applicabile, mentre è improbabile che SERVFAIL venga memorizzata nella cache o, se memorizzata nella cache, sarà al massimo un numero di secondi a due cifre.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.