Verifica DNS: comandi nslookup
, dig
1. Introduzione al DNS
Immagina questo: vuoi accedere al tuo sito preferito, tipo google.com. Ma il tuo browser non capisce la parola "google", ha bisogno di indirizzi IP (ad esempio, 142.250.74.206). La conversione del nome di dominio in un indirizzo IP avviene grazie al DNS (Domain Name System). Se questo processo si rompe, vedrai un messaggio dal browser: "Impossibile trovare il server". Tu, come futuro maestro di reti su Linux, devi sapere come diagnosticare e risolvere i problemi legati al DNS.
DNS è come la rubrica telefonica di Internet. Invece di ricordarti complicati indirizzi IP, puoi usare nomi semplici che vengono tradotti dal sistema DNS. Ecco alcuni concetti chiave:
Record DNS:
- Record A (Address Record): associa un nome di dominio a un indirizzo IPv4.
- Record AAAA: associa un nome di dominio a un indirizzo IPv6.
- Record CNAME (Canonical Name): punta a un alias di dominio.
- Record MX (Mail Exchange): indica i server per la gestione della posta.
Server DNS:
- L'utente medio di solito usa i server DNS del suo provider.
- Alternative: server DNS pubblici come Google (8.8.8.8), Cloudflare (1.1.1.1).
Risoluzione dei nomi:
- Quando digiti un nome di dominio nel browser, questo invia una richiesta al server DNS per ottenere un indirizzo IP.
Con queste conoscenze sei pronto per immergerti nella pratica della magia del DNS usando i comandi nslookup
e dig
.
2. Comando nslookup
nslookup
è un’utility che ci permette di verificare il funzionamento del DNS. È disponibile sulla maggior parte delle distribuzioni Linux e su altri sistemi operativi.
Sintassi base:
nslookup [opzioni] [dominio o indirizzo IP]
Esempio semplice:
Verifichiamo l’indirizzo IP per il sito google.com:
nslookup google.com
Output:
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: google.com
Address: 142.250.74.206
Note sull'output:
Server
: Il server DNS che ha gestito la richiesta.Non-authoritative answer
: significa che l’informazione è stata ottenuta non dal server DNS root, ma dalla cache di un altro server.
Verifica del server DNS
Se vuoi utilizzare un server DNS specifico, puoi indicarlo nel comando:
nslookup google.com 8.8.8.8
Qui abbiamo specificato deliberatamente il server DNS di Google (8.8.8.8).
Pratica: Troviamo l’IP per un sito educativo
Prova a eseguire il comando:
nslookup linux.org
Guarda i risultati — questi sono gli indirizzi IP associati al server del sito.
3. Comando dig
dig
(Domain Information Groper) — è un'utility più avanzata per lavorare con DNS. Fornisce informazioni dettagliate sulle richieste e risposte DNS.
Sintassi principale:
dig [dominio] [opzioni]
Esempio di richiesta:
dig google.com
Output (punti principali):
;; Question section:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 142.250.74.206
;; Query time: 35 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Thu Oct 19 10:00:00 UTC 2023
;; MSG SIZE rcvd: 68
Sezioni dell'output:
ANSWER SECTION
: Indirizzi IP associati al dominio.Query time
: Tempo di elaborazione della richiesta.SERVER
: DNS server che ha elaborato la richiesta.
4. Record DNS principali e come verificarli
Record A (IPv4)
dig linux.org A
Il risultato mostrerà gli indirizzi IPv4 per il dominio.
Record AAAA (IPv6)
dig linux.org AAAA
L'output conterrà indirizzi IPv6. Utile se stai lavorando con reti moderne.
Record MX (server di posta)
dig linux.org MX
Serve a verificare quali server gestiscono la corrispondenza e-mail per il dominio.
5. Pratica avanzata: dig
vs nslookup
Ora puoi confrontare i risultati di questi due comandi:
Esegui:
nslookup linux.org
Poi:
dig linux.org
Nota bene che dig
fornisce più dettagli. Ad esempio, puoi vedere il tempo di esecuzione della richiesta, così come le informazioni sul server che ha risposto alla richiesta.
6. Verifica del server DNS di Google
Compito:
Usando
nslookup
, controlla se il server DNS pubblico di Google funziona:nslookup github.com 8.8.8.8
Adesso fai lo stesso usando
dig
:dig @8.8.8.8 github.com
Controlla se il sito ha indirizzi IPv6:
dig github.com AAAA
7. Errori tipici e particolarità
Il lavoro con DNS spesso si scontra con i seguenti problemi:
- Configurazione errata del server DNS: Se il tuo server DNS non funziona o è configurato male, potresti non ottenere una risposta. Controlla la disponibilità del server specificandone l'IP manualmente con l'uso di
nslookup
odig
. Caching DNS: A volte i cambiamenti nel DNS possono richiedere tempo a causa del caching. Ad esempio, potresti vedere informazioni obsolete se un record DNS è stato recentemente modificato.
Server DNS non disponibile: Se vedi un errore come
connection timed out; no servers could be reached
, ciò può significare che il server non è disponibile o è bloccato.Comandi alternativi:
nslookup
non è sempre disponibile nelle installazioni minime di Linux, mentredig
è più spesso parte del toolkit standard.
Applicazione pratica della conoscenza: perché è utile?
- Diagnostica dei problemi DNS. Sarai in grado di capire rapidamente perché il browser "non vede" un sito.
- Configurazione dei server. Quando configuri un server nel cloud, devi verificare se i record DNS sono impostati correttamente.
- Sicurezza su Internet. Sapere come lavorare con i record DNS aiuta ad analizzare siti di phishing.
- Durante i colloqui. La conoscenza dei comandi
dig
enslookup
è una delle domande standard per specialisti Linux/DevOps.
Ora sei armato di tutto il necessario per una comprensione approfondita e la diagnostica del DNS. Apri il terminale, prova i comandi, e che nessun "errore DNS" possa coglierti di sorpresa.
GO TO FULL VERSION