DNS verso il Suo VPS e reverse DNS
Modulo 7: Dominio, server web e https · Tempo di lettura: 10 minuti
Obiettivo della lezione: Dopo questa lezione sarà in grado di far puntare un dominio o un sottodominio al Suo VPS con record A e AAAA, di impostare correttamente il reverse DNS del Suo server e di verificare che nome e indirizzo corrispondano in andata e ritorno.
Concetti chiave: record A, record AAAA, TTL, un sottodominio per servizio, www, hostname del server, PTR, reverse DNS, forward-confirmed reverse DNS (FCrDNS), CAA, IPv6 dimenticato
Dall'indirizzo IP al nome
Finora ha raggiunto il Suo server tramite il suo indirizzo IP, per esempio ssh anna@192.0.2.10. Per un sito web, un certificato (lezione 7.3) e i servizi del modulo 9 Le serve un nome. Questo collegamento si crea nel DNS del Suo dominio, presso chi gestisce il Suo DNS: il Suo registrar, la Sua azienda di hosting o un servizio DNS. Il VPS in sé non c'entra nulla: il Suo server non "sa" quali nomi puntano a lui.
Le basi del DNS le ha imparate nel corso DNS. Per un VPS Le servono soprattutto due record:
| Record | Cosa | Esempio |
|---|---|---|
| A | da nome a indirizzo IPv4 | web1.example.com. 3600 IN A 192.0.2.10 |
| AAAA | da nome a indirizzo IPv6 | web1.example.com. 3600 IN AAAA 2001:db8::10 |
Di solito il Suo VPS ha un indirizzo IPv4 fisso e anche un indirizzo IPv6 fisso. In tal caso imposti entrambi i record. I visitatori con IPv6 (nei Paesi Bassi una gran parte delle connessioni domestiche e delle reti mobili) useranno IPv6, gli altri IPv4.
Quali nomi creare?
Una suddivisione comune per un VPS con un sito web e alcuni servizi:
web1.example.com. A 192.0.2.10 ; il server stesso (nome host, PTR)
web1.example.com. AAAA 2001:db8::10
example.com. A 192.0.2.10 ; il sito web
example.com. AAAA 2001:db8::10
www.example.com. CNAME example.com.
status.example.com. CNAME web1.example.com. ; Uptime Kuma (lezione 9.4)
kluis.example.com. CNAME web1.example.com. ; Vaultwarden (lezione 9.4)Contiene alcune scelte precise:
- Il server ha un nome proprio (
web1), separato dal sito web. Questo nome lo usa per SSH, per il reverse DNS e come hostname del sistema. Se in seguito il sito web si sposta su un altro server,web1resta comunque corretto. - Un sottodominio per ogni servizio. Uptime Kuma e Vaultwarden ricevono ciascuno un proprio nome. È molto più semplice (e più sicuro) che mettere i servizi sotto un percorso come
example.com/kluis: ogni servizio ha il proprio certificato, i cookie non si mescolano e può spostare in seguito un servizio su un altro server modificando un solo record. - CNAME per i sottodomini. Un CNAME verso
web1significa che, se l'indirizzo IP del server cambia, Lei modifica solo i record diweb1. Sul nome di dominio nudo (example.com) non può esserci un CNAME: lì imposti A e AAAA.
L'hostname del sistema stesso lo imposta sul server:
anna@web1:~$ sudo hostnamectl set-hostname web1.example.com
anna@web1:~$ hostname -f
web1.example.comVerifichi anche che /etc/hosts non contenga un vecchio nome. Un hostname corretto è importante soprattutto se il server prima o poi invia posta.
TTL: quanto velocemente una modifica arriva ovunque
Il TTL (time to live) è il numero di secondi per cui i resolver possono ricordare una risposta. Con 3600 può passare fino a un'ora prima che tutti vedano un nuovo indirizzo. Se intende spostare un sito web sul Suo VPS, imposti il TTL a 300 (cinque minuti) il giorno prima, attenda almeno la durata del vecchio TTL, modifichi l'indirizzo e poi rialzi il TTL. È esattamente la procedura del corso DNS, lezione 6.3.
Con dig (corso DNS, lezione 8.2) verifichi che cosa vede il resto di internet, interrogando un resolver pubblico anziché il Suo computer:
anna@laptop:~$ dig +short A example.com @1.1.1.1
192.0.2.10
anna@laptop:~$ dig +short AAAA example.com @1.1.1.1
2001:db8::10Su Windows: Resolve-DnsName example.com -Type AAAA -Server 1.1.1.1.
La trappola: un record AAAA senza IPv6 funzionante
Se imposta un record AAAA, il servizio deve essere davvero raggiungibile via IPv6. Un errore frequente: il record esiste, ma il server web ascolta solo su IPv4, oppure il firewall non lascia passare IPv6 (lezione 5.2), oppure IPv6 non è configurato nel VPS. I visitatori con IPv6 vedono allora un sito lento o irraggiungibile, mentre per Lei "funziona tutto" perché a casa forse ha solo IPv4. Anche Let's Encrypt prova prima IPv6 se esiste un record AAAA (lezione 7.3). Se il Suo server risponde in modo diverso via IPv6 rispetto a IPv4, la richiesta del certificato fallisce.
Per questo verifichi IPv6 separatamente, da un'altra macchina con IPv6: curl -6 -I https://example.com. Se Lei non dispone di IPv6, usi un test online come internet.nl.
Reverse DNS: dall'indirizzo di nuovo al nome
Il reverse DNS collega un indirizzo IP a un nome, con un record PTR (corso DNS, lezione 4.6). Questo record non si trova nella zona del Suo dominio, ma nella zona dell'indirizzo IP, che appartiene a chi gestisce l'indirizzo: il Suo fornitore di VPS. Il PTR va quindi impostato nel pannello del fornitore, non nel Suo DNS.
Perché farlo?
- Posta. I server di posta riceventi rifiutano o considerano sospetta la posta proveniente da un indirizzo senza un reverse DNS corretto. Se il Suo VPS invia posta (anche solo una notifica da un modulo), questo è obbligatorio (veda il corso E-mail in ordine, lezione 5.1).
- Riconoscibilità. Nei log e nei traceroute gli altri vedono
web1.example.cominvece di un nome generico del fornitore. - Ordine. Alcuni servizi e filtri antispam assegnano punti di penalità agli indirizzi con un PTR generico o assente.
La regola è il forward-confirmed reverse DNS (FCrDNS): l'indirizzo punta con il PTR a un nome, e quel nome punta con A o AAAA di nuovo allo stesso indirizzo. Quindi prima crea i record A e AAAA, poi richiede il PTR, sia per IPv4 sia per IPv6.
anna@laptop:~$ dig +short -x 192.0.2.10
web1.example.com.
anna@laptop:~$ dig +short A web1.example.com
192.0.2.10
anna@laptop:~$ dig +short -x 2001:db8::10
web1.example.com.
anna@laptop:~$ dig +short AAAA web1.example.com
2001:db8::10Se in tutti e quattro i casi torna la risposta attesa, l'andata e il ritorno corrispondono.
CAA: chi può emettere certificati?
Con un record CAA (corso DNS, lezione 5.2) indica quali autorità di certificazione possono emettere certificati per il Suo dominio. Se usa solo Let's Encrypt:
example.com. 3600 IN CAA 0 issue "letsencrypt.org"Non è obbligatorio, ma è un buon livello di protezione in più. Attenzione: se ha già un record CAA con un'altra autorità, Let's Encrypt rifiuta la Sua richiesta. Controlli quindi prima con dig CAA example.com.
In pratica: il reverse DNS nella schermata del VPS
In WebOké imposta il reverse DNS nella schermata del VPS, nella scheda "ISO e rDNS". Se anche il DNS del Suo dominio è presso WebOké, il pannello può creare subito per Lei i record A e AAAA; se il DNS è altrove, crea prima Lei stesso quei record e poi inserisce il nome completo. Presso altri fornitori questa funzione si chiama "Reverse DNS", "rDNS" o "PTR" nel pannello clienti; alcuni richiedono di farne richiesta tramite ticket. Il funzionamento è ovunque lo stesso: prima il nome verso l'indirizzo, poi l'indirizzo verso il nome.
Riepilogo
- Un nome si collega al Suo VPS con un record A (IPv4) e un record AAAA (IPv6), nel DNS del Suo dominio.
- Dia al server un nome proprio (
web1.example.com) e a ogni servizio un proprio sottodominio; i CNAME verso il nome del server rendono facili i traslochi. - Abbassi il TTL prima di un trasloco e verifichi con
digpresso un resolver pubblico. - Non imposti un record AAAA se il servizio non funziona davvero via IPv6; verifichi IPv6 separatamente.
- Il PTR si imposta presso il fornitore del VPS; andata e ritorno devono corrispondere (FCrDNS), per IPv4 e per IPv6.
Quiz
Esercizio
Esercizio Z7.1: A, AAAA e PTR del Suo server. Dia al Suo server un nome proprio (per esempio web1.<jouwdomein>), crei i record A e AAAA e imposti il reverse DNS presso il Suo fornitore. Nell'esercizio inserisca il nome del Suo server, l'indirizzo IPv4 e l'indirizzo IPv6, e il nome ottenuto con dig -x per entrambi gli indirizzi. Il programma interroga in tempo reale i record A e AAAA e il PTR di entrambi gli indirizzi e verifica che tutto corrisponda in andata e ritorno. Se il Suo server non ha IPv6, controlla solo IPv4 e lo segnala in arancione.
Per approfondire
- Invio di email dalla Sua VPS e impostazione del reverse DNS
- IPv6 presso WebOké
- Corso gratuito DNS 3.1: Record A e AAAA
- Corso gratuito DNS 4.6: Reverse DNS (PTR): dal numero di nuovo al nome
- Corso gratuito DNS 5.2: CAA: chi può emettere certificati?
- Corso gratuito DNS 8.2: Interrogare il DNS con dig e nslookup
