CodeGym /Corsi /Docker SELF /Verifica DNS: comandi `nslookup`, `dig`

Verifica DNS: comandi `nslookup`, `dig`

Docker SELF
Livello 4 , Lezione 2
Disponibile

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:

  1. 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.
  2. 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).
  3. 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:

  1. Esegui:

        nslookup linux.org
    
  2. 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:

  1. Usando nslookup, controlla se il server DNS pubblico di Google funziona:

    nslookup github.com 8.8.8.8
    
  2. Adesso fai lo stesso usando dig:

    dig @8.8.8.8 github.com
    
  3. 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:

  1. 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 o dig.
  2. 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.

  3. 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.

  4. Comandi alternativi: nslookup non è sempre disponibile nelle installazioni minime di Linux, mentre dig è 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 e nslookup è 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.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION