Cosa innesca l'utilizzo del tempo negativo per vivere il valore del record SOA DNS?


8

Sto leggendo il seguente tutorial DNS e contiene questo esempio:

domain.com.  IN SOA ns1.domain.com. admin.domain.com. (
                                        12083   ; serial number
                                        3h      ; refresh interval
                                        30m     ; retry interval
                                        3w      ; expiry period
                                        1h      ; negative TTL
)

La descrizione per il negative TTLvalore dice questo:

1h: questa è la quantità di tempo in cui il server dei nomi memorizzerà nella cache un errore di nome se non riesce a trovare il nome richiesto in questo file.

Quali sono le condizioni che potrebbero attivare il server per memorizzare nella cache un errore di nome come questo? Un esempio sarebbe davvero utile.

Risposte:


11

L'intervallo di memorizzazione nella cache negativo SOAentra in gioco quando un server autorevole indica che il record richiesto non esiste. I casi specifici sono:

  • Risposte con un codice di risposta di NXDOMAIN.
  • Risposte con uno NODATAstato sintetico, ma solo forme in cui SOAè presente un record. ( NOERRORrcode, 0 risposte, 1 SOArecord nella sezione autorità + NSrecord opzionali )

È comune che il software server imponga un massimo configurato localmente su questo valore, quindi anche se si ha un TTL negativo della 86400non esistenza non sarà necessariamente memorizzato nella cache per così tanto tempo dai server ricorsivi remoti.

I casi sono coperti dalla sezione RFC 2308 se si desidera leggere più avanti. Leggi la sezione 2 come primer, quindi 5-6.


IIUC se richiedo "not.available.example.com" dal server autorevole, viene memorizzato nella cache per il tempo negativo di vita?
Ole

Corretta. I server ricorsivi completi memorizzeranno in modo affidabile la non esistenza, ma il comportamento dei risolutori di stub (come le librerie del resolver del sistema operativo) varierà. Windows fa, per esempio. Scopriresti "Il nome non esiste". nell'output di ipconfig /displaydns, che rappresenta NXDOMAIN. In quell'output troverai anche istanze di "Nessun record di tipo X", che corrisponde a NODATA. La maggior parte dei sistemi basati su UNIX no , poiché non memorizzano nella cache affatto senza configurazione aggiuntiva. ( nscdcon cache abilitata, server ricorsivo locale e utilizzo di 127.0.0.1 per ricerche DNS, ecc.)
Andrew B

Quindi, se sto immaginando lo scopo correttamente, è per poter ricontrollare che "not.available.example.com" non era realmente disponibile in base al server ricorsivo completo? In altre parole, se non ottengo un indirizzo IP, posso eseguire una query sul server su qualcosa come un endpoint / displaydns e il risultato dovrebbe contenere la conferma che l'indirizzo non esiste davvero?
Ole

ipconfig /displaydnsesiste per dirti il ​​contenuto della cache del resolver stub locale. Ne più ne meno. Ciò che gli amministratori potrebbero voler fare con tali informazioni è aperto.
Andrew B,

@Ole Lo scopo è prevenire ripetute query per il nome, una volta che il server ha già detto al risolutore che non esiste. Proprio come qualsiasi altra cache.
Barmar,
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.