Advertisement
  1. Code
  2. Web Development

Un'introduzione all'apprendimento e all'utilizzo dei record DNS

Scroll to top
Read Time: 10 min

() translation by (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Introduzione

Essenzialmente, il Domain Name System (DNS) è un elenco telefonico per Internet. Per esempio se si digita apple.com nel browser per comprare accessori per iPhone, come la vostra richiesta raggiungerà il server web di Apple all'indirizzo IP 17.172.224.47? Questo è ciò che il sistema DNS fa per noi.

Se sei un piccolo imprenditore o un blogger in WordPress, probabilmente ti è stato chiesto di configurare i record A e CNAME. O quando si è tentato di migrare la posta elettronica e ti han chiesto di modificare il record MX. O un servizio di hosting web ti ha chiesto di impostare un record TXT prima di farlo funzionare. A cosa serve tutto questo e per quale motivo c'è tutta questa confusione?

In questo tutorial, si analizzerà il sistema DNS di Internet e si guiderà l'utente attraverso la configurazione dei record per le più comuni consulenze tecnologiche di ogni giorno e per imprenditori.

Per qualsiasi domanda o commento sul tutorial, sentitevi liberi di pubblicarli qui sotto nella sezione commenti. Potete anche seguirmi su Twitter o scrivermi direttamente.

Imparare a conoscere i tipi di record DNS

Nome server

Quando hai comprato il dominio, il tuo register ti ha probabilmente configurato i record DNS predefiniti e fornito i loro nomi server (NS). È necessario disporre di un nome server (che spesso sono a coppie o a tre per ridondanza, ad esempio ns1.yourregistrarserver.com, ns2.yourregistrarserver.com) per fornire alla directory DNS di Internet gli indirizzi IP numerici dei web server e dei servizi.

Ecco un esempio dei record NS per il mio sito, JeffReifman.com:

Example Name Server Records NS for Jeff Reifmans WebsiteExample Name Server Records NS for Jeff Reifmans WebsiteExample Name Server Records NS for Jeff Reifmans Website

Tutte le impostazioni che descriveremo qui di seguito verranno configurate dall'utente sull'host degli NS e pubblicate dai loro server per aggiornare le directory di internet.

Ci sono una serie di tipi di record DNS, e i più comuni sono probabilmente i record A.

Record A

Se un utente digita jeffreifman.com, la richiesta verrà passata a una directory in cui si cercherà un record DNS corrispondente al mio dominio radice. Come radice, cioe senza prefisso, senza www, senza nessun sottodominio, solo https://jeffreifman.com. Ad esempio, il livello radice del record A del tuo dominio potrebbe puntare a 107.164.32.96. Ciò dirà a internet su quale indirizzo IP inviare la vostra richiesta di navigazione.

Per anni ho usato il sito Kloth per verificare i record DNS, ma ce ne sono molti altri da poter utilizzare, ad esempio Google Dig o KeyCDN, per i quali ho scritto su Tuts+ sui servizi CDN. Molti siti offrono questi strumenti.

Ecco un esempio di query per un record A su Kloth:

Kloth DNS Lookup of an A RecordKloth DNS Lookup of an A RecordKloth DNS Lookup of an A Record

I record sottodominio

È inoltre possibile configurare i record A per una varietà di sottodomini. Ad esempio, se si desidera che il proprio sito www.yourwebsite.com punti allo stesso indirizzo, è possibile impostare un'identico record A per il sottodominio www; quindi il dominio principale e il dominio www si troveranno ad avere gli stessi indirizzi IP.

DNS A Record Example with SubdomainDNS A Record Example with SubdomainDNS A Record Example with Subdomain

Recentemente, ho co-fondato Flee the Jungle su http://fleethejungle.com per allontanare gli acquirenti da Amazon, dopo aver raccontato le storie negative della società ai danni di Seattle e l'articolo virale pubblicato dal New York Times:

Flee the Jungle image by Kali SnowdenFlee the Jungle image by Kali SnowdenFlee the Jungle image by Kali Snowden

Successivamente lanceremo sottodomini collegati a specifiche città, ad esempio portland.fleethejungle.com. Se si vuole ospitare questi sottodomini su server diversi, dovremmo impostare diversi record A per ogni sottodominio di città, in modo tale da farli puntare agli indirizzi IP dei vari server.

DNS A Record Example with SubdomainsDNS A Record Example with SubdomainsDNS A Record Example with Subdomains

Le wildcard

I record DNS consentono anche l'uso delle wildcard (usando un asterisco *) che consentono facilmente di inoltrare tutto il traffico del sottodominio verso un indirizzo IP. Ad esempio, se per qualsiasi città, voglio inoltrare la loro richiesta su un singolo server, potrei fare così:

DNS Wildcard Record ExampleDNS Wildcard Record ExampleDNS Wildcard Record Example

Le wildcard facilitano l'inoltro di tutto il traffico da più sottodomini verso un unico server.

Routing in ingresso sul server

Quando il traffico arriva al tuo server dal sistema DNS, come va configurato per gestire il tutto? Per esempio, ecco la configurazione Apache del mio sito per il traffico www e il traffico dalla radice del dominio:

1
<VirtualHost *:80>
2
    ServerName jeffreifman.com
3
    ServerAlias www.jeffreifman.com
4
    DocumentRoot /var/www/jeffreifman
5
    DirectoryIndex index.php
6
    <Directory /var/www/wpapps/>
7
      AllowOverride All
8
      Order Deny,Allow
9
      Allow from all
10
   </Directory>
11
</VirtualHost>

Inoltre, vendo anche domini tramite un sito web. Quindi, ecco come configurare Apache e i record DNS per accettare il traffico da diversi domini:

1
<VirtualHost *:80>
2
    ServerName newscloud.com
3
    ServerAlias *acro.io
4
    ServerAlias *acroyoga.io
5
    ServerAlias *acupuncture.io
6
    ServerAlias *allmisses.com
7
    ServerAlias *amehzon.com
8
    ServerAlias *carestrategies.com
9
    ServerAlias *caringsitters.com
10
    ServerAlias *clipboards.io
11
    ServerAlias *commonbits.com
12
    ServerAlias *commonroad.com
13
    ServerAlias *commontunes.com
14
    ServerAlias *completelady.com
15
    ...

Più avanti parleremo dei record CNAME. Tornano utili in diversi modi, in particolare per semplificare la gestione degli indirizzi IP e per future migrazioni da un server a un altro.

Record CNAME

I CNAME sono essenzialmente alias di dominio e sottodominio pensati per eseguire il mapping del traffico. Ad esempio, se hai mai impostato un blog con WordPress o Tumblr, ti possono chiedere di mappare il vostro dominio a un record CNAME anziché un record A con un indirizzo IP.

Io non uso molto Tumblr, ma un po' di tempo fa l'ho provato con http://misc.jeffreifman.com. Ecco le istruzioni per configurare il nome del tuo dominio. Consentono di usare sia record A o CNAME. Ho usato un record CNAME:

DNS Settings for TumblrDNS Settings for TumblrDNS Settings for Tumblr

Ecco il mio record DNS per misc.jeffreifman.com:

1
misc.jeffreifman.com   CNAME   domains.tumblr.com.

Nota: dovresti inserire un punto finale dopo gli indirizzi CNAME.

Quando un utente digita misc.jeffreifman.com nel proprio browser, il DNS lo farà puntare a domains.tumblr.com che cercherà in modo ricorsivo il relativo indirizzo IP 66.6.44.4.

Uno dei vantaggi dei CNAME è che se Tumblr cambia l'indirizzo IP del proprio server in ingresso, non servirà cambiare il relativo record CNAME. Si può lasciare lo stesso nome e Tumblr potrà gestire il cambiamento dell'IP modificando il record A per domains.tumblr.com.

Utilizzo questo approccio per i miei domini in vendita, dove la maggior parte di loro puntano a un CNAME per il mio server web. Se ho bisogno di cambiare host e modificare l'indirizzo IP del mio server web, posso cambiare il sottodominio del record A per il record CNAME che ho usato, piuttosto che modificare cento record per ogni nome di dominio venduto.

Nota: gli standard DNS non consentono tecnicamente di far puntare un dominio radice a un indirizzo CNAME, ad es. jeffreifman.com CNAME domains.tumblr.com. Ecco perché Tumblr suggerisce un record A per i domini radice. Tuttavia, alcuni server DNS lo supportano, verificate con il vostro hosting. Per approfondire, leggere questo post di Josh Strange.

Un altro scenario dove utilizzerai i CNAME è con servizi CDN, come descritto nel tutorial KeyCDN che ho scritto per Tuts+. Ho impostato quattro sottodomini cloud nominandoli c1, c2, c3, c4, puntando tutti i contenuti di KeyCDN verso jr-faf.kxcdn.com.

DNS CNAME Example for KeyCDNDNS CNAME Example for KeyCDNDNS CNAME Example for KeyCDN

Cosa succede quando si modificano i record DNS?

I record DNS per domini radice e sottodomini sono generalmente indipendenti. Una modifica a un record A per un dominio radice non influisce sull'indirizzamento esistente di un CNAME di un sottodominio. Tuttavia, recentemente mi sono iscritto a un servizio di sicurezza web Incapsula, in cui mi si richiedevano due record A per lo stesso dominio radice; questo rende le cose un po' più complicato. In altre parole, si può avere tecnicamente più record A per lo stesso dominio, il che potrebbero creare conflitti.

DNS Multiple A RecordsDNS Multiple A RecordsDNS Multiple A Records

È anche importante rendersi conto che le modifiche DNS non avranno effetto immediato. Quando configuri i record DNS per la prima volta (o quando si cambiano), gli utenti di Internet non saranno immediatamente aggiornati con le tue modifiche. Questa è una delle cose che rende la migrazione da un server o da una società di hosting ad un'altra, più difficile. Infatti, nel peggiore dei casi, il processo può richiedere più di 36 ore.

Il mio register mi introdusse a WhatsMyDNS.net per un report visuale sulla propagazione della mia modifica DNS nelle varie aree. Qui di seguito uno screenshot durante la migrazione del mio server Flee the Jungle, in cui i vari cambiamenti hanno richiesto del tempo.

La mappa qui sotto mostra come i server DNS sparsi nel mondo hanno finalmente elaborato le mie ultime modifiche:

DNS Web Propagation at Whats My DNSDNS Web Propagation at Whats My DNSDNS Web Propagation at Whats My DNS

Record MX

Se ti stai chiedendo cos'è un record MX, è il momento di dirvelo. I record MX dicono al sistema DNS dove inviare tutte le email che ricevete. Quindi, se ho comprato StarWars.io e desidero ricevere le email su jeff@starwars.io, ho bisogno di fare due cose.

In primo luogo, ho bisogno iscrivermi a un servizio email come ad esempio Google Apps o FastMail per ospitare la mia email. In secondo luogo, ho bisogno di seguire le loro istruzioni per la configurazione dei record MX per i loro vari server di posta elettronica.

Ad esempio, ecco quello che appare su Google Apps:

1
Priority    Mail Server
2
1   ASPMX.L.GOOGLE.COM.
3
5   ALT1.ASPMX.L.GOOGLE.COM.
4
5   ALT2.ASPMX.L.GOOGLE.COM.
5
10   ALT3.ASPMX.L.GOOGLE.COM.
6
10   ALT4.ASPMX.L.GOOGLE.COM.

su FastMail invece è così:

1
in1-smtp.messagingengine.com (first, priority=10)
2
in2-smtp.messagingengine.com (second, priority=20)

Se si desidera avere un proprio server di posta elettronica, sarà necessario configurare il record MX per farlo puntare all'indirizzo IP del tuo server.

Molte persone hanno iniziato a usare MX Toolbox per cercare i loro record MX, ma è anche possibile utilizzare qualsiasi servizio di ricerca DNS.

DNS Check with MX ToolboxDNS Check with MX ToolboxDNS Check with MX Toolbox

Cambiare il provider di posta elettronica e spostare le email

I record MX istruiscono il sistema DNS a indirizzare la posta elettronica giornaliera, mentre le tue email già elaborate vengono archiviate nei database cloud del tuo attuale provider di posta elettronica. Se si desidera spostare tutti i messaggi esistenti, avrai bisogno di fare affidamento sui loro strumenti o sui client di posta. E naturalmente, dovrete anche aggiornare i record MX con le impostazioni del nuovo provider.

Durante il periodo di propagazione dei DNS, potresti ricevere alcuni messaggi di posta elettronica sul tuo vecchio provider e alcuni sul nuovo.

Modificare il record MX non danneggia il tuo vecchio archivio e tutti i nuovi messaggi non arriveranno più sul vecchio provider.

Record TXT

I record TXT consentono al proprietario del dominio di autenticarsi inserendo codici segreti all'interno dei loro DNS. Quando ci si registra su Google Webmaster Tools, esso vi chiederà di verificare il proprietario del dominio.

Ad esempio, Google ti chiederà di inserire un codice specifico per il tuo dominio:

1
jeffreifman.com TXT google-site-verification=Ih8iC4iSOcBSkk

Al momento io ho inserito tre record TXT per jeffreifman.com:

1
jeffreifman.com TXT  "keybase-site-verification=qG2zMYf_hw2sXUCgtYWk"
2
jeffreifman.com TXT	"v=spf1 include:spf.efwd.regsrvrs.com ~all"
3
jeffreifman.com TXT	"google-site-verification=blTgEw5QFSx5M"

Keybase, sulla quale ho scritto su Tuts+ un articolo PGP Keys, Privacy and Encryption, utilizza per me i record TXT per verificare il mio sitoweb, tramite la quale autenticare la mia identità con i miei record della chiave pubblica.

È anche possibile utilizzare i record TXT per informare ai server di rilevamento spam che il proprio server di posta invia email affidabili, come ho fatto con il record SPF qui sopra. Servizi quali Mailgun utilizzano record sia SPF che DKIM per utilizzare i loro "cannoni spara email".

Record AAAA

Siccome Internet esaurisce gli indirizzi IP, ci stiamo lentamente muovendo su un più grande indirizzamento IPV6. Potete leggere l'articolo Be the First On Your Block Running IPV6 su Tuts+ per ulteriori informazioni.

Se si decide di supportare l'indirizzamento IPv6, sarà necessario configurare un record AAAA con il relativo schema di indirizzamento:

DNS AAAA Record ExampleDNS AAAA Record ExampleDNS AAAA Record Example

Oggi, la maggior parte delle conversioni IPv4 a IPv6 vengono gestite in modo trasparente dietro le quinte. Però a un certo punto il cambiamento climatico può uccidere l'ultimo orso polare (grazie al senatore Inhofe), quindi un record A potrebbe diventare una reliquia e quelli AAAA saranno i record DNS primari da configurare.

Concludendo

Spero che questo tutorial sia stato un'utile introduzione ai record DNS. Come sempre, sentitevi liberi di inviare domande e commenti qui sotto. È inoltre possibile visitare il mio profilo Twitter per farmi sapere cosa ne pensate o cosa mi sono perso. O in alternativa, è possibile scrivermi direttamente, sfogliare gli altri miei articoli su Tuts+ o scoprire altre mie stesure.

Link correlati

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.