DNS secondario
Il Domain Name System, abbreviato in DNS, è un sistema distribuito a livello globale per la traduzione dei domini Internet in indirizzi IP. Il DNS restituisce un indirizzo IP per un nome di dominio e funziona quindi come “rubrica” di Internet. Concettualmente, l’indirizzo IP corrisponde a un indirizzo postale a cui si possono inviare pacchetti. Di seguito alcuni esempi di query DNS:
Nome di dominio interrogato | Indirizzo IP ottenuto in risposta |
---|---|
‘example.com’ | ‘93.184.216.34’ |
‘ionos.it’ | ‘217.160.86.80’ |
Data l’importanza del DNS, le informazioni DNS vengono distribuite in modo ridondante su diversi sistemi. In questo modo le informazioni rimangono accessibili anche in caso di malfunzionamenti di singoli componenti del DNS. Inoltre, la vicinanza geografica di un server è determinante per la velocità delle risposte. In un sistema ridondante si distingue tra un’origine e, se necessario, più copie. In pratica, una tale impostazione richiede un meccanismo per regolare le copie ridondanti quando l’origine cambia.
Prova il nostro VPS. I primi 30 giorni sono in omaggio e se allo scadere del periodo di prova non sarai convinto, ti rimborseremo tutte le spese sostenute.
Cos’è il DNS secondario?
Un meccanismo di base per la distribuzione di informazioni DNS per una zona DNS su più server è stato definito in una specificazione della Internet Engineering Task Force (IETF), pubblicata nel 1996. Qui viene definito come un server DNS primario, chiamato “master”, notifica a un gruppo di server DNS secondari, chiamati “slave”, un cambiamento della zona DNS. Ai server DNS secondari viene richiesto di effettuare una richiesta al server DNS primario per ottenere le modifiche.
“Questo documento descrive l’opcode NOTIFY per il DNS, con il quale un server primario informa un gruppo di server secondari che i dati del server primario sono stati modificati e chiede ai server secondari di interrogare i nuovi dati.“ – Internet Engineering Task Force“ (IETF), Fonte: https://www.ietf.org/rfc/rfc1996.txt, Traduzione: IONOS
(Originale: “This memo describes the NOTIFY opcode for DNS, by which a master server advises a set of slave servers that the master’s data has been changed and that a query should be initiated to discover the new data.“)
I termini “master” e “slave” in informatica sono caduti in disuso per via degli avvenimenti storici e sono stati gradualmente sostituiti con termini equivalenti.
Per definizione, esiste un solo server DNS primario per una zona DNS. Questo server contiene le informazioni di origine DNS per la zona e serve come punto di accesso per l’amministratore della stessa. Se si devono apportare modifiche a una zona DNS, queste vengono effettuate sul server DNS primario. Invece, diversi server DNS secondari distribuiti in tutto il mondo vengono utilizzati per il mirroring delle relative informazioni. Spesso per l’hosting del DNS secondario viene utilizzato un provider DNS separato.
È da notare che i termini “primario” e “secondario” hanno un significato diverso quando associati ai server DNS, che varia in base al contesto. Forse sapete già che potete cambiare i server DNS utilizzati nelle impostazioni di sistema della vostra connessione di rete. Anche questi sono spesso definiti come “primario” e “secondario”, causando di fatto una sovrapposizione di termini. In riferimento alla zona DNS, entrambi i server da voi specificati possono essere server DNS secondari. Inoltre, è possibile configurare più di due server DNS, secondo le proprie esigenze.
Qual è la differenza tra DNS secondario e primario?
In primo luogo, è necessario chiarire che sia i server DNS primari che quelli secondari sono “name server autorevoli” per la rispettiva zona. Ciò significa che le informazioni memorizzate per la zona DNS sono necessariamente affidabili. I name server autorevoli sono quindi in contrapposizione ai name server che salvano nella cache solo le informazioni DNS provenienti da query DNS già eseguite.
La differenza tra server DNS primario e secondario è principalmente di natura amministrativa. Il server DNS primario contiene le informazioni DNS di una zona DNS nel cosiddetto file di zona. Eventuali modifiche al file di zona vengono effettuate direttamente dall’amministratore di zona. Al contrario, il file di zona di un server DNS secondario non può essere modificato direttamente; eventuali modifiche a questo file sono determinate dal DNS primario.
Se il file di zona viene modificato, i server DNS secondari vengono informati della modifica e richiedono i dati modificati. Il trasferimento di informazioni DNS tra server DNS è noto come trasferimento di zona. Nel trasferimento di zona, un server DNS secondario è la destinazione, mentre il server DNS primario funge da origine. Ricordate che lo stesso server fisico può essere allo stesso tempo il server DNS primario per una zona DNS e un server DNS secondario per un’altra zona.
Come funziona il DNS secondario?
La caratteristica principale del DNS secondario è che il file di zona viene trasferito da una fonte esterna ai server. Per il trasferimento di zona vengono utilizzati vari meccanismi. Fondamentale per la regolamentazione del trasferimento di zona è il record DNS, “Start of Authority” (SOA), che comprende diversi campi:
- Il campo ‘MNAME’ contiene l’indirizzo IP del server DNS primario.
- Il record SOA contiene anche una serie di campi che definiscono gli intervalli in cui i server DNS secondari interrogano automaticamente il primario per le modifiche.
Di seguito riportiamo tre configurazioni DNS di uso frequente.
Primario/Secondario
In un certo senso, questa è la configurazione “classica” per distribuire le informazioni DNS di una zona a diversi server DNS autorevoli. A essere utilizzato è un server DNS primario, specificato nel campo MNAME del record SOA. I server DNS secondari controllano a intervalli regolari se si è verificata una modifica delle informazioni DNS per la loro zona e, se necessario, avviano un trasferimento dei dati modificati. Inoltre, il server primario può notificare le modifiche ai server DNS secondari mediante la relativa istruzione.
Primario nascosto
L’approccio noto come “Primario nascosto” è una variante interessante della classica configurazione primario/secondario, in cui il server primario funziona in background. Il server specificato nel campo MNAME della voce SOA non è il server primario effettivo. I server DNS secondari non possono quindi interrogare da soli le modifiche alla zona DNS, ma la richiesta esplicita deve partire dal primario nascosto per mezzo di una notifica.
Solitamente si configura un computer nella rete locale come server DNS in modo da utilizzarlo come primario nascosto. Da ciò ne conseguono due vantaggi immediati:
- Le modifiche al file di zona si possono effettuare comodamente a livello locale.
- Tutto il traffico DNS in entrata è gestito dai server DNS secondari.
Per adottare questa configurazione, è utile proteggere la comunicazione tra i server DNS secondari e il primario nascosto con la tecnologia di crittografia DNSSEC.
Primario/Primario
Questa configurazione è uno sviluppo recente. Utilizza diversi server DNS autorevoli per una zona DNS, tutti contenenti i dati di origine. Non avviene alcun trasferimento di zona tra di loro e quindi non c’è un DNS secondario nel vero senso della parola. Ogni modifica della zona DNS richiede un allineamento coordinato dei server DNS primari. A questo scopo vengono utilizzati sistemi proprietari. Immaginate, ad esempio, un sistema esterno con GUI e API che viene utilizzato per modificare le informazioni DNS e distribuire le modifiche.
Perché usare il DNS secondario?
L’utilizzo del DNS secondario presenta molti vantaggi. Per comprenderli meglio, immaginiamo che ci sia un solo server DNS per una zona DNS. Una configurazione di questo tipo avrebbe anche i seguenti effetti negativi:
- Gli utenti più lontani dal server DNS primario subirebbero un ritardo nelle risposte rispetto agli utenti più vicini.
In questo caso, il DNS secondario assicura determinate prestazioni nella risposta alle richieste DNS.
- Un guasto del server DNS primario significherebbe che le informazioni autorevoli per la zona DNS non sarebbero più disponibili all’improvviso.
In questo caso, il DNS secondario garantisce la ridondanza e l’elevata disponibilità delle informazioni DNS.
- L’elevato numero di query DNS in entrata sovraccaricherebbe il server DNS primario una volta raggiunta una certa soglia.
In questo caso, il DNS secondario distribuisce il carico e garantisce quindi un’elevata disponibilità delle informazioni DNS.
Risulta quindi chiaro che una configurazione senza DNS secondario sarebbe estremamente soggetta a guasti tecnici e attacchi informatici.
I vantaggi presentati in merito all’utilizzo del DNS secondario sono di natura tecnica. A questi si aggiunge una motivazione di carattere amministrativo che si verifica quando un’organizzazione vuole migrare verso un nuovo fornitore di DNS. In questo caso, l’impostazione esistente per la gestione della zona DNS può ancora essere utilizzata, ad esempio in una configurazione primaria nascosta. Il nuovo provider DNS funge da DNS secondario per rispondere alle richieste DNS in entrata.
Come si può stabilire se si tratta di un DNS primario o secondario?
La distinzione tra DNS primario e secondario è principalmente amministrativa. Un osservatore esterno non può stabilire in modo certo se un server DNS autorevole è un server primario o secondario. Inoltre, lo stesso server può essere DNS primario per una zona e DNS secondario per un’altra. Anche il campo MNAME del record SOA non dà nessun suggerimento, poiché l’attuale server DNS primario può essere gestito come primario nascosto.