Un file di zona contiene i record di risorse DNS per tutti i nomi di dominio associati alla zona. I file di zona archiviano tutti i dati serviti da un server DNS. Questa ricetta descrive il formato file di zona base senza alcun record di risorse adatto per qualsiasi tipo di file di zona.
Il file di zona deve essere creato all'interno della directory di lavoro del server DNS. Non sono richiesti nomi file con file di zona, ma uno standard ragionevole è db.nome del dominio, il nome del dominio preceduto da db.
Il formato di base del file di zona è un campo time to live (TTL) seguito dai record di inizio dell'autorizzazione (SOA). Il TTL indica ai server DNS non autorevoli la durata della cache dei record recuperati dal file di zona. Più lungo è questo periodo, più tempo ci vorrà per propagare le modifiche ai file di zona. Più corto è il TTL, più difficile sarà il funzionamento dei tuoi server DNS, perché i server non autorevoli dovranno fare la stessa domanda più frequentemente. I valori da poche ore a un giorno sono ragionevoli.
Un valore TTL intero viene interpretato come secondi, sebbene per quelli di noi che non stanno calcolando a piedi, l'aggiunta di m alla fine significa minuti, h ore, d giorni e settimane. Un giorno sarebbe rappresentato da una delle seguenti righe:
$ TTL 86400
$ TTL 1440m
$ TTL 24 ore
$ TTL 1d
La sezione SOA è un pezzo intimidatorio di codice per i non iniziati, ma ogni campo della SOA ha uno scopo significativo. Preso un pezzo alla volta, è semplice. La SOA inizia con il nome di dominio principale della zona (useremo tech-recipes.com in questa ricetta), la classe della zona (IN), SOA e i seguenti sette campi nell'ordine:
MNAME Il server DNS principale per la zona (ad esempio ns1.tech-recipes.com.).
RNAME Un indirizzo email per qualcuno responsabile del dominio (con @ sostituito con a.) Come nospam.tech-recipes.com.
Numero di serie Questo valore è forse la più grande fonte di scratching relativo al DNS. Per rendere le cose veloci ed efficienti, BIND elabora i file di zona in un altro formato. Quando BIND carica un file di zona all'avvio, controlla il numero di serie e elabora solo il file di zona se il numero di serie è più grande della versione precedentemente elaborata. Quindi, se cambi il file di zona ma non il numero di serie, BIND ignorerà le modifiche.
Un formato comune per il numero di serie contiene la data e un numero di serie univoco (YYYYMMDDNN) come 2004010402 per la seconda revisione (02) del file il 4 gennaio 2004. Ciò consente di apportare 100 modifiche al file in un giorno. Se sono necessarie più modifiche, consiglio di andare a casa per dormire bene la notte.
ricaricare I server secondari o slave possono essere configurati per interrogare il server master con questo periodo per verificare se il numero di serie è cambiato e, quindi, se è necessario aggiornare il file di zona.
Riprova Se il server DNS principale della zona non risponde alla richiesta di un server slave per un aggiornamento, il server slave lo chiederà spesso. In genere un'ora o meno.
scadere In caso di guasto del server DNS principale, un server slave continuerà a utilizzare i dati esistenti per questo periodo di tempo. Dopo che il tempo è scaduto, i dati sono considerati obsoleti e non saranno utilizzati in quel momento il dominio non sarà più risolto. Questo valore dovrebbe essere abbastanza lungo da consentire la correzione delle interruzioni del server master, nell'ordine delle settimane.
Memorizzazione nella cache negativa TTL Le risposte negative (come quando un record richiesto non esiste) possono essere memorizzate anche su server non autorevoli. Questo campo si comporta come il TTL complessivo, ma in particolare per le risposte negative. I valori piccoli sono appropriati (da 15 a 2 ore).
I campi possono essere collocati tra parentesi se si estendono su più di una riga. Mettendo tutto questo insieme, il seguente è il file di zona (meno eventuali record di risorse) per il dominio tech-recipes.com:
$ TTL 1d
tech-recipes.com. IN SOA ns1.tech-recipes.com (
nospam.tech-recipes.com
2004010402
1h
15m
4w
1h)
Il più grande trucchetto con i file di zona DNS è l'uso corretto della sintassi del nome di dominio completo. Ciò significa che un nome di dominio completo terminerà con un punto (tech-recipes.com.) - Senza questo periodo, BIND assumerà che stai usando la stenografia e aggiungerà il nome di dominio predefinito della zona alla fine del nome (quindi tech -recipes.com significherebbe davvero tech-recipes.com.tech-recipes.com.).