Vai al contenuto

Impostazioni cookie

Scelga per ogni tipo quali cookie consente. Può modificare la sua scelta in qualsiasi momento tramite Impostazioni cookie in fondo a ogni pagina. Informativa sulla privacy

Necessari

Sempre attivi

Servono per accedere, conservare il carrello e ricordare le sue scelte. Sono sempre attivi.

Quali cookie?
  • weboke_sessie, weboke_klant, weboke_remember: la sua sessione e la permanenza dell'accesso
  • weboke_basket: il suo carrello
  • wkBtwIncl: visualizzazione dei prezzi con o senza IVA
  • wok_cookies: la sua scelta sui cookie, 12 mesi

Misurano quale annuncio porta a una visita o a un ordine, così non paghiamo annunci che non funzionano.

Quali cookie?
  • Google Ads tramite Google Tag Manager (_gcl_au, _gcl_aw), fino a 90 giorni
  • OpenAI Ads, annunci in ChatGPT
  • wok_aff: tramite quale partner è arrivato da noi (programma di affiliazione), 60 giorni

4,6

Paese e lingua

Ogni paese ha il suo sito, con i prezzi e l'IVA di quel paese.

Vedi

Interrogare il DNS con dig e nslookup

Modulo 8: Sicurezza e risoluzione dei problemi · Tempo di lettura: 10 minuti

Obiettivo della lezione: Dopo questa lezione saprà usare dig e nslookup per interrogare i record, interrogare un nameserver specifico e leggere l'output.

Concetti chiave: dig, nslookup, Resolve-DnsName, +short, @server, +trace, sezioni ANSWER e AUTHORITY, stato NOERROR, NXDOMAIN, SERVFAIL, dig -x

Perché interrogare Lei stesso?

Un pannello mostra ciò che Lei ha inserito. Ciò che il resto del mondo vede può essere diverso: forse un'altra parte gestisce il DNS, forse una cache contiene ancora una risposta vecchia. Con un programma di interrogazione pone la stessa domanda di un browser o di un server di posta, e vede la risposta reale.

Esistono tre programmi comuni:

ProgrammaDoveCommento
digmacOS, Linux (Windows tramite WSL o da installare separatamente)Il più completo, standard per gli amministratori
nslookupWindows, macOS, LinuxPresente ovunque, output più sintetico
Resolve-DnsNameWindows PowerShellComodo su Windows senza software aggiuntivo

Non ha a disposizione un terminale? Può fare esattamente la stessa cosa con uno strumento dig online (lezione 8.3).

La prima interrogazione con dig

Apra il terminale (macOS/Linux) e digiti:

$ dig example.com A

L'output, in forma abbreviata, è il seguente:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41872
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;example.com.                  IN      A

;; ANSWER SECTION:
example.com.           2847    IN      A       192.0.2.10

;; Query time: 12 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)

Cosa deve leggere:

  • status: la parola più importante. Veda la tabella qui sotto.
  • flags: ad significa che il resolver ha verificato la risposta con DNSSEC (lezione 8.1).
  • ANSWER SECTION: i record veri e propri. Le colonne sono le stesse di una zona: nome, TTL, classe, tipo, valore.
  • TTL (qui 2847): per quanti secondi questa risposta rimane ancora nella cache del resolver. Se nella zona era impostato 3600, la risposta ha quindi già 753 secondi. Se la richiede di nuovo, vedrà il numero scendere.
  • SERVER: quale resolver ha interrogato. A casa è spesso il Suo router.

I tre stati che deve conoscere

StatoSignificatoCosa fare
NOERROR con rispostaTutto in ordine, questa è la rispostaIl valore non è corretto? Allora c'è un record sbagliato, oppure sta vedendo una cache vecchia
NOERROR senza risposta (ANSWER: 0)Il nome esiste, ma non ha record di questo tipoSpesso: ha richiesto il tipo sbagliato (ad esempio A su un nome che ha solo un CNAME o solo MX)
NXDOMAINQuesto nome non esiste affattoErrore di battitura, record dimenticato, o un nome di dominio duplicato come mail.example.com.example.com
SERVFAILIl resolver non è riuscito a ottenere una risposta affidabileNameserver irraggiungibili, oppure una catena DNSSEC compromessa (provi con +cd)

Varianti utili

Solo la risposta con +short:

$ dig +short MX example.com
10 mail.example.com.
20 mail2.example.com.

Interrogare un altro resolver o direttamente un nameserver con @. Questo è il trucco più importante in caso di problemi. Se interroga direttamente il nameserver autoritativo, ottiene sempre la risposta più recente, senza cache:

$ dig +short NS example.com
ns1.hosting.example.
ns2.hosting.example.

$ dig +short A www.example.com @ns1.hosting.example
192.0.2.20

$ dig +short A www.example.com @9.9.9.9
192.0.2.10

Qui vede subito cosa sta succedendo: il nameserver fornisce già il nuovo indirizzo (.20), il resolver pubblico ha ancora quello vecchio in cache (.10). Non deve quindi fare nulla, solo attendere che il TTL scada (modulo 6).

Altri tipi: aggiunga il tipo dopo il nome.

$ dig +short TXT example.com
"v=spf1 a mx include:_spf.hosting.example ~all"
"google-site-verification=AbC123..."

$ dig +short TXT _dmarc.example.com
"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

$ dig +short CNAME shop.example.com
shops.platform.example.

Seguire l'intero percorso con +trace. dig fa allora ciò che farebbe un resolver: prima la root, poi il TLD, poi il server autoritativo (lezione 1.4):

$ dig +trace example.com A
.                 518400  IN  NS  a.root-servers.net.
;; Received 239 bytes from 192.168.1.1#53
com.              172800  IN  NS  a.gtld-servers.net.
;; Received 708 bytes from 198.41.0.4#53(a.root-servers.net)
example.com.      172800  IN  NS  ns1.hosting.example.
;; Received 412 bytes from 192.5.6.30#53(a.gtld-servers.net)
example.com.      3600    IN  A   192.0.2.10
;; Received 57 bytes from 198.51.100.53#53(ns1.hosting.example)

Con +trace vede quali nameserver il registro comunica realmente. È utile se ha dubbi su una modifica dei nameserver già applicata.

Vedere il DNSSEC con +dnssec: ottiene anche le firme RRSIG. Con +cd disattiva il controllo per vedere se un SERVFAIL dipende dal DNSSEC.

DNS inverso con -x (lezione 4.6):

$ dig +short -x 192.0.2.25
mail.example.com.

La stessa cosa con nslookup

nslookup funziona su qualsiasi computer. Le forme più importanti:

C:\> nslookup example.com
Server:  router.lan
Address:  192.168.1.1

Non-authoritative answer:
Name:    example.com
Address:  192.0.2.10

C:\> nslookup -type=mx example.com
example.com    MX preference = 10, mail exchanger = mail.example.com

C:\> nslookup -type=txt _dmarc.example.com 9.9.9.9

Un secondo indirizzo dopo il nome (qui 9.9.9.9) è il server che sta interrogando, proprio come @ in dig. "Non-authoritative answer" significa soltanto che la risposta proviene da un resolver e non dal nameserver autoritativo: è normale. Se il nome non esiste, nslookup risponde Non-existent domain, che equivale a NXDOMAIN.

Windows PowerShell: Resolve-DnsName

PS> Resolve-DnsName example.com -Type MX
PS> Resolve-DnsName _dmarc.example.com -Type TXT -Server 9.9.9.9
PS> Resolve-DnsName example.com -Type A -DnsOnly

Svuotare la propria cache

Uno strumento online vede già la nuova risposta, ma il Suo computer ancora no? Allora la risposta vecchia si trova nella cache del Suo computer o del browser.

  • Windows: ipconfig /flushdns nel Prompt dei comandi.
  • macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder nel terminale.
  • Linux con systemd-resolved: resolvectl flush-caches.
  • Browser: una finestra privata, oppure il telefono tramite 4G/5G con il wifi disattivato.

La cache del Suo provider o router non può svuotarla da solo; in tal caso deve attendere la scadenza del TTL.

Nella pratica: come appare in un pannello

Nella maggior parte dei pannelli non può eseguire dig. Usi quindi dig insieme al Suo pannello: prima controlli nel pannello cosa ha inserito, poi con dig @<Suo nameserver> verifichi se il nameserver fornisce davvero quel dato, e infine con dig @9.9.9.9 se il resto del mondo lo vede già. Mio WebOké dispone di una diagnosi DNS che confronta i nameserver tra loro; altri fornitori hanno pulsanti simili di "controllo DNS".

Riepilogo

  • dig <nome> <tipo> pone la stessa domanda di un browser o di un server di posta; legga prima lo stato.
  • NOERROR con risposta va bene, NOERROR senza risposta significa "il nome esiste, il tipo no", NXDOMAIN significa "il nome non esiste", SERVFAIL significa "nessuna risposta affidabile".
  • Con @server interroga direttamente un determinato resolver o il nameserver autoritativo; così vede la differenza tra un errore e una cache.
  • +short, +trace, +dnssec, +cd e -x sono le varianti di cui avrà più bisogno.
  • nslookup e Resolve-DnsName fanno la stessa cosa su Windows.

Quiz

1. dig mail.example.com A restituisce status: NXDOMAIN. Cosa significa?



2. Ha modificato il record A di www. dig +short www.example.com @ns1.hosting.example restituisce il nuovo indirizzo, dig +short www.example.com @1.1.1.1 restituisce ancora quello vecchio. Cosa sta succedendo?



3. Quale comando mostra l'intero percorso dalla root, tramite il TLD, fino al nameserver autoritativo?



4. Nell'output di dig, un record A mostra un TTL di 412. Nella zona è impostato 3600. Cosa significa?



5. Cosa fa nslookup -type=mx example.com 9.9.9.9?



Esercizio

Esercizio Z8.2: dig e nslookup. Con dig, nslookup o Resolve-DnsName (oppure uno strumento dig online) interroghi tre informazioni:

  1. lo stato di un nome che non esiste: bestaat-niet-dnscursus.sidn.nl;
  2. i record MX di wikipedia.org, direttamente presso uno dei nameserver di wikipedia.org (lo cerchi prima);
  3. il TTL che un resolver pubblico restituisce in questo momento per il record A di sidn.nl (lo richieda due volte, con un minuto di intervallo, e annoti entrambi i numeri).

Inserisca le risposte.

Esercizio Z8.2: dig e nslookup





Quello che inserisce e quello che troviamo in rete non viene memorizzato. Il Suo browser ricorda le Sue risposte e se ha superato l'esercizio. Se ha effettuato l'accesso, conserviamo solo l'informazione che l'esercizio era (quasi) corretto in I miei corsi; lì può anche eliminarla.

Per approfondire

Questi articoli descrivono i passaggi in WebOké; i comandi funzionano allo stesso modo ovunque.

Un momento…

Configuri i suoi domini

Per ogni dominio imposti i nameserver, il collegamento al suo hosting e chi ne diventa l'intestatario.

Caricamento dei suoi domini…