Linux Server Deployment & SSH Mastery · Lezione

Configurazione e risoluzione dei problemi DNS

Comprendete come i server Linux risolvono i nomi host in indirizzi IP: configurate i resolver, modificate /etc/hosts e usate dig, nslookup e host per diagnosticare i problemi DNS che interrompono la connettività anche quando la rete funziona correttamente.

Lezione 4 di 413 passaggi

Configurazione e risoluzione dei problemi DNS è una lezione Linux Server Deployment & SSH Mastery gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Server Deployment & SSH Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.

Perché il DNS è importante su un server

Il suo server può avere impostazioni di rete e firewall perfette, ma non riuscire comunque a raggiungere il mondo esterno se non è in grado di risolvere i nomi. Il DNS traduce nomi host intuitivi come example.com in indirizzi IP.

Conoscere il funzionamento della risoluzione — e saperne eseguire il debug — è una competenza di rete essenziale.

Il percorso di risoluzione

Quando un programma ha bisogno dell'IP associato a un nome, Linux controlla le sorgenti nel seguente ordine, in genere:

  • Il file locale /etc/hosts
  • I server DNS configurati (resolver)

L'ordine è regolato da /etc/nsswitch.conf nella riga hosts:.

grep hosts /etc/nsswitch.conf
# hosts: files dns

Il file /etc/hosts

/etc/hosts associa localmente i nomi agli IP, bypassando il DNS. È perfetto per i test, per i nomi host interni o per associare stabilmente un dominio a un IP specifico.

Ogni riga contiene un IP seguito da uno o più nomi.

127.0.0.1   localhost
192.168.1.50  db.internal db

Dove si configurano i resolver

Il file tradizionale è /etc/resolv.conf, che elenca i nameserver. Sui sistemi moderni viene spesso gestito da systemd-resolved o NetworkManager, quindi le modifiche dirette potrebbero non essere mantenute.

Controlli cosa è effettivamente in uso prima di modificare qualsiasi impostazione.

cat /etc/resolv.conf
resolvectl status

Impostare un server DNS

Su un sistema con systemd-resolved, imposti il DNS per ogni interfaccia invece di modificare resolv.conf. Sui server basati su Netplan lo definisca nella configurazione YAML.

Questo esempio imposta resolver pubblici per un'interfaccia.

sudo resolvectl dns eth0 1.1.1.1 8.8.8.8
resolvectl dns eth0

Cercare record con dig

dig è lo strumento più potente per le interrogazioni DNS. Mostra la risposta insieme ai metadati della query.

L'opzione +short riduce l'output alla sola risposta — ideale per gli script.

dig example.com
dig +short example.com

Interrogare tipi di record specifici

Il DNS memorizza molti tipi di record. Ne specifichi uno per esaminare i server di posta, i nameserver o gli alias.

  • A — indirizzo IPv4
  • AAAA — indirizzo IPv6
  • MX — server di posta
  • NS — nameserver
  • CNAME — alias
dig example.com MX +short
dig example.com NS +short

nslookup e host

nslookup e host sono alternative più semplici a dig. Sono utili per controlli rapidi e per una ricerca inversa (da IP a nome).

Le ricerche inverse interrogano il record PTR associato a un indirizzo.

host example.com
nslookup example.com
dig -x 8.8.8.8 +short

Interrogare un server specifico

Per verificare se il problema riguarda un resolver, indirizzi la query a un server specifico con la sintassi @. Se un resolver pubblico funziona ma il suo non funziona, il problema è nella configurazione DNS.

dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +short

Un flusso di lavoro per la risoluzione dei problemi

Quando un nome non viene risolto, proceda per livelli:

  • Riesce a eseguire il ping direttamente di un IP? (esclude la rete)
  • Funziona dig @1.1.1.1 name? (esclude un problema del nome stesso)
  • Funziona dig name con il resolver predefinito? (isola la configurazione del resolver)
  • È presente una voce obsoleta in /etc/hosts che la sovrascrive?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +short

Best practice

Mantenga affidabile la risoluzione dei nomi:

  • Utilizzi almeno due resolver per garantire la ridondanza
  • Non modifichi manualmente resolv.conf se è gestito automaticamente
  • Utilizzi /etc/hosts per i test, ma rimuova le voci obsolete
  • Preferisca dig +short negli script per ottenere un output pulito

Verifica rapida

Verifichi le sue conoscenze sulla risoluzione dei problemi DNS.

Riepilogo

Ora sa configurare ed eseguire il debug del DNS su un server:

  • Ordine di risoluzione tramite /etc/nsswitch.conf e /etc/hosts
  • Resolver in resolv.conf / systemd-resolved
  • Interrogazioni con dig, host e nslookup, inclusi tipi di record e server specifici
  • Un flusso di lavoro per la risoluzione dei problemi su più livelli

Questo completa le sue competenze di rete e firewall con il livello di risoluzione dei nomi.

Gratis per iniziare

Impara Linux Server Deployment & SSH Mastery con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
12
Lezioni
48

Domande Frequenti

La lezione «Configurazione e risoluzione dei problemi DNS» è gratuita?

Sì — il testo completo di «Configurazione e risoluzione dei problemi DNS» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Server Deployment & SSH Mastery, passa a CoddyKit PRO. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.

Cosa imparerò in «Configurazione e risoluzione dei problemi DNS»?

Comprendete come i server Linux risolvono i nomi host in indirizzi IP: configurate i resolver, modificate /etc/hosts e usate dig, nslookup e host per diagnosticare i problemi DNS che interrompono la… Eserciti Linux Server Deployment & SSH Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Linux Server Deployment & SSH Mastery?

Non è richiesta alcuna esperienza precedente. Linux Server Deployment & SSH Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Configurazione e risoluzione dei problemi DNS»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Linux Server Deployment & SSH Mastery?

Sì. Ogni lezione Linux Server Deployment & SSH Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Configurazione di rete di base
  2. Comprendere i firewall (UFW/firewalld)
  3. Gestione e sicurezza delle porte
  4. Configurazione e risoluzione dei problemi DNS
← Torna a Linux Server Deployment & SSH Mastery