Tutto quello che devi sapere sui DNS di Ubuntu
Come funziona il DNS?
Il DNS, o Domain Name System, è una delle parti più integranti di Internet. Chiunque utilizzi Internet utilizza il servizio DNS ogni giorno. Offriremo una semplice illustrazione del mondo reale e analizzeremo attentamente il percorso della query. Quando lavori con DNS, dovrai affrontare vari termini e terminologie come host, zone, TLD e risolutori. La sezione seguente fornisce un’introduzione concisa ad alcuni di questi concetti. Se vuoi intraprendere una carriera nell’amministrazione Linux, devi avere una conoscenza approfondita di come funziona il DNS. Questa guida fornisce una panoramica operativa dei concetti fondamentali del DNS ed esempi pratici di un server DNS Ubuntu.
Diciamo che stiamo provando a stabilire una connessione dal mio dispositivo portatile basato su Ubuntu al sito web “www.example.com.“. Apro un browser Internet, digito l’URL nella barra degli indirizzi e premo Invio. Inizialmente, il client o il mio browser, in questo caso, controlleranno se l’IP di “www.example.com”. esiste già nella sua cache. Se lo trova, salterà tutti i passaggi successivi. Quando il client non riesce a trovare l’IP nella cache del browser, inoltra la richiesta al risolutore o al server dei nomi dell’ISP, nel mio caso. Il risolutore tenta di vedere se altri utenti sono stati di recente su questo sito Web e, in tal caso, individua l’IP dalla sua cache. Altrimenti, il risolutore inoltra la richiesta a uno dei server dei nomi root.
Il server root restituisce l’indirizzo del server dei nomi TLD per quel dominio, che in questo esempio è un server dei nomi “.com”. Ora, il risolutore invia una richiesta al server TLD per vedere se ha il risultato previsto. Tuttavia, il server TLD non dispone delle informazioni ma sa quale nome ha il server. Restituisce l’indirizzo di quel server dei nomi con il dominio per le mappature IP per il nostro URL. Una volta che il risolutore chiede al server dei nomi il nostro dominio, restituisce l’IP appropriato. Il risolutore invia quindi l’indirizzo IP effettivo al programma client, che ora può stabilire la comunicazione necessaria.
Poiché il DNS è costituito da diversi servizi e da complesse interazioni tra loro, gli utenti devono familiarizzare con le terminologie principali per comprendere cosa sta accadendo dietro le quinte. Ecco perché abbiamo suddiviso l’intera guida in più sezioni. Il primo offre una breve introduzione a termini e concetti, mentre gli altri si occupano di flussi di lavoro e configurazioni.
Panoramica dei termini e dei concetti DNS principali
DNS
DNS o Domain Name System è il meccanismo che interpreta un nome di dominio completo (FQDN) in un indirizzo IP specifico. Questo è l’indirizzo utilizzato dai nostri sistemi per inviare e recuperare risorse web. Il DNS è costituito da più sistemi ed esegue comunicazioni multidirezionali per recuperare l’indirizzo IP associato a un URL.
Nome del dominio
I nomi di dominio sono indirizzi leggibili associati a risorse web. Rimuovono l’ambiguità di ricordare un gran numero di indirizzi IP. Ad esempio, google.com è il nome di dominio del motore di ricerca Google. Quando lo inserisci nella barra degli indirizzi del browser, utilizza il sistema DNS per trovare l’indirizzo IP.
Indirizzo IP
Un indirizzo IP è un numero univoco assegnato a tutti i dispositivi connessi a Internet in un determinato punto. Gli indirizzi IP hanno diverse classi e due versioni principali. La maggior parte delle persone utilizza attualmente la versione IP 4. Gli indirizzi IPv4 comprendono quattro ottetti, ciascuno separato da un punto “.” simbolo.
TLD
I TLD o domini di primo livello si trovano al livello più alto nella gerarchia dei nomi di dominio. Queste sono le parti più generali di un nome di dominio e si trovano nella posizione più a destra. Ad esempio, la parte “com” è il TLD dell’URL www.example.com. Alcuni domini di primo livello popolari includono “com”, “org, “gov”, “net” e “edu”.
Ospiti
I proprietari di un dominio possono definire diversi host diversi all’interno di quel dominio. Questi possono essere utilizzati per accedere a servizi o computer separati. È possibile accedere alla maggior parte dei server Web tramite il dominio nudo, come esempio.com, o tramite la dichiarazione dell’host, come www.esempio.com. La parte “www” è l’host qui. Un altro utilizzo comune di un host è fornire l’accesso API come api.example.com.
Sottodominio
I sottodomini sono semplicemente un sottoinsieme di un dominio. Ciò consente ai proprietari dei siti di avere più sottodomini sotto un dominio principale. Ad esempio, un dominio chiamato University.edu può avere diversi sottodomini per ciascuno dei suoi dipartimenti, come www.cs.university.edu o www.phy.university.edu.
La differenza tra host e sottodomini è che i primi specificano computer o servizi diversi, mentre i secondi suddividono il dominio principale in diversi gruppi.
Nome di dominio completo
Un nome di dominio completo o FQDN è il dominio assoluto di un sito web. Rappresenta la radice del dominio in questione. Un dominio solitamente contiene più percorsi secondari o percorsi, come www.example.com/new/example.
Qui, la sezione www.example.com è il FQDN. Inoltre, l’FQDN termina sempre con un punto “.” simbolo come “www.example.com.”. Tuttavia, agli utenti non è richiesto di inserire questo punto finale poiché se ne occupa il programma client.
Server dei nomi
Nel DNS, un server dei nomi è un sistema informatico che traduce i nomi di dominio in IP indirizzabili. Svolgono la maggior parte del lavoro effettivo all’interno di un’infrastruttura DNS Ubuntu. Poiché i name server devono gestire migliaia di richieste al secondo, spesso reindirizzano ulteriori richieste a nuovi server.
Inoltre, i name server possono funzionare anche come server autorevoli. In questo scenario, rispondono alle query sotto il loro controllo e altrimenti forniscono risposte memorizzate nella cache da altri server.
File di zona
I file di zona sono veri e propri file di testo che memorizzano le relazioni tra i nomi di dominio e gli indirizzi IP associati. Un sistema DNS recupera le informazioni IP di un FQDN da questo documento. Sono memorizzati sul server dei nomi e specificano quali risorse sono accessibili per un determinato dominio. Se le informazioni non sono disponibili nel file di zona, puntano alla posizione che contiene tali dati.
Server principale
Come già discusso, il DNS è un sistema gerarchico che comprende componenti multilivello. Il root server si trova al vertice di questa gerarchia. Si tratta di server estremamente potenti gestiti da più organizzazioni e controllati dall’ICANN (Internet Corporation for Assigned Names and Numbers) .
Attualmente esistono 13 root server primari in tutto il mondo e ciascuno di essi è sottoposto a mirroring per una maggiore disponibilità.
Quando qualcuno richiede un root server, la richiesta viene inoltrata al mirror più vicino. I server root gestiscono le query relative ai domini di primo livello. Ogni volta che c’è qualcosa che un server dei nomi di livello inferiore non può risolvere, al server root viene posta quella domanda.
Tuttavia, i server root non dispongono di informazioni IP. Puntano invece ai name server che gestiscono quello specifico TLD.
Server TLD
I server TLD si trovano sotto i server root nella gerarchia DNS. I server root indirizzano le entità della richiesta DNS verso il server TLD di quella richiesta. Il server TLD reindirizza quindi l’entità richiedente al server dei nomi, che dispone delle informazioni IP specifiche per il dominio in questione.
Server dei nomi a livello di dominio
I server TLD reindirizzano l’entità richiedente al server dei nomi a livello di dominio. Questo è il server il cui file di zona contiene le mappature IP per il dominio. Questo è quindi il name server con l’indirizzo IP specifico per il nome di dominio richiesto.
Risolutore
Un risolutore è l’entità richiesta responsabile del recupero delle informazioni IP di un dominio dal DNS. Di solito viene configurato all’interno del sistema client, come nel browser o tramite un’impostazione DNS Ubuntu personalizzata.
La maggior parte delle persone utilizza il risolutore DNS fornito dai propri ISP. Un risolutore è un’astrazione che consente all’utente finale di ignorare ciò che accade dietro le quinte. Può funzionare in modo ricorsivo finché non recupera l’indirizzo IP di un determinato dominio.
Record
Abbiamo già discusso del fatto che il server dei nomi memorizza le mappature dominio-IP nel file di zona. Le informazioni nei file di zona vengono salvate come record. Esistono molti tipi di record in un file di zona. Stiamo toccando alcuni dei più importanti qui.
Registri SOA
SOA sta per Start of Authority ed è un record obbligatorio per tutti i file di zona. Il primo record effettivo in un file di zona deve essere di tipo SOA. Potrebbe essere necessario del tempo prima di comprendere appieno i record SOA. Fino ad allora, ricorda i seguenti suggerimenti. Innanzitutto, un record SOA è simile al seguente snippet.
esempio.com. IN SOA ns1.esempio.com. admin.esempio.com. ( 12083; numero di serie 3 ore; intervallo di aggiornamento 30 metri; intervallo tra tentativi 3w; periodo di scadenza 1 ora; TTL negativo)
Le parti essenziali sono le seguenti.
- example.com – Questa è la radice della zona e specifica che il file è per “example.com”. dominio.
- IN SOA – “IN” sta per Internet e SOA rappresenta il fatto che si tratta di un record SOA.
- ns1.esempio.com. – È il server dei nomi primario per “example.com”. dominio. Inoltre, se hai configurato un DNS Ubuntu dinamico, il tuo server dei nomi primario va qui.
- admin.esempio.com. – È l’indirizzo email dell’amministratore responsabile di questa particolare zona. Il simbolo “@” viene sostituito con un punto “.” simbolo per l’indirizzo e-mail.
- 12083 – Questo è il numero di serie per questa zona e ti viene richiesto di incrementarlo ogni volta che aggiorni il file di zona. In questo modo i server secondari determinano che è avvenuta una modifica in questa zona.
- 3h : l’intervallo di aggiornamento per la zona specifica quanto tempo i server secondari devono attendere prima di cercare modifiche nel file di zona del server primario.
- 30m – L’intervallo tra i tentativi di una zona specifica quanto tempo i server secondari devono attendere prima di riprovare a interrogare il server primario.
- 3w – È il periodo di scadenza e definisce per quanto tempo i server secondari dovrebbero tentare di stabilire una comunicazione riuscita. Se non viene stabilita una connessione entro questo intervallo di tempo, i server secondari smetteranno di rispondere come autorevoli per questa zona.
- 1h – Se il server dei nomi non riesce a trovare il nome richiesto in questo file di zona, per questo periodo memorizzerà nella cache un errore di nome.
Record A e AAAA
I record A e AAAA associano un host a un indirizzo IP effettivo. Il record “A” mappa un host su un indirizzo IPv4 funzionante, mentre il record “AAAA” mappa gli host su indirizzi IPv6. Di seguito è riportato il formato generale per questi tipi di record.
hostname IN A IPv4Address hostname IN AAAA IPv6Address
Di seguito è riportato un esempio appropriato che utilizza il server dei nomi ns1 definito nel record SOA.
ns1.example.com. IN A 111.112.221.222
Il successivo record “A” definisce il server web come “www”.
www IN A 111.112.211.212
Record CNAME
I record CNAME rappresentano un alias per il server dei nomi definito da un record A o AAAA. Ad esempio, il seguente frammento dichiara un host chiamato “server” utilizzando un record A e quindi crea un alias “www” per quell’host.
server IN A 111.111.111.111 www IN CNAME server
Tuttavia, la creazione di alias potrebbe comportare un calo delle prestazioni poiché richiedono una query aggiuntiva al server. I record CNAME vengono solitamente utilizzati per assegnare un nome canonico a una risorsa esterna.
Record MX
I record MX vengono utilizzati per specificare gli scambi di posta per un nome di dominio e aiutano a ricevere comunicazioni e-mail che arrivano al tuo server di posta Linux. A differenza della maggior parte dei tipi di record, non associano gli host agli IP perché si applicano all’intera zona. Di seguito è riportato un semplice esempio di record MX.
IN MX 10 mail.example.com.
Si noti che in questo record non è definito alcun host e che ha anche un nuovo numero, “10”. Viene utilizzato per indicare la preferenza. Se sono presenti più record MX, le e-mail verranno indirizzate al server con il numero di preferenza più basso.
Record NS
I record NS specificano i server dei nomi utilizzati per una zona. Sebbene possa sembrare irrilevante dal momento che il file di zona esiste già sul server dei nomi, viene utilizzato per alcuni motivi. Spesso il file di zona servito da un server DNS potrebbe essere una copia memorizzata nella cache di un server diverso.
IN NS ns1.example.com. IN NS ns2.example.com.
Come i record MX, anche i record NS vengono definiti per un’intera zona e non richiedono nomi host. Inoltre, molti DNS di Ubuntu servono a considerare non validi i file di zona se non contengono più record ns. Pertanto, la maggior parte dei file di zona definisce più di un server dei nomi.
Record PTR
I record PTR specificano un nome associato a un indirizzo IP funzionante e sono semplicemente l’inverso del record A o AAAA. Devono iniziare dalla radice .arpa e sono commissionati al proprietario dell’IP. La delega degli IP a organizzazioni e fornitori di servizi è gestita dai Registri Internet Regionali (RIR).
222.111.222.111.in-addr.arpa. 33692 IN PTR host.example.com.
Lo snippet sopra fornisce un esempio di base di un record PTR. Mappa l’IP 222.111.222.111 su “host.example.com.”.
Registri CAA
I record CAA definiscono quali autorità di certificazione (CA) possono emettere certificati SSL/TLS per un nome di dominio. Se non è definito alcun record CAA per un dominio, qualsiasi CA può emettere un certificato. Tuttavia, se una CA viene definita esplicitamente, solo quella specifica autorità può emettere il certificato.
example.com. IN CAA 0 issue "letsencrypt.org"
DNS è fondamentale per ottenere un lavoro CS ben retribuito come amministratore di sistema o di rete. Lo scopo di questa guida è aiutare i principianti a padroneggiare i principi alla base del DNS il più velocemente possibile. Inoltre, i nostri redattori hanno anche fornito un’illustrazione pratica di varie configurazioni DNS di Ubuntu per facilitare il tuo processo di apprendimento.