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.
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 dnsIl 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 dbDove 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 statusImpostare 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 eth0Cercare 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.comInterrogare 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 IPv4AAAA— indirizzo IPv6MX— server di postaNS— nameserverCNAME— alias
dig example.com MX +short
dig example.com NS +shortnslookup 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 +shortInterrogare 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 +shortUn 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 namecon il resolver predefinito? (isola la configurazione del resolver) - È presente una voce obsoleta in
/etc/hostsche la sovrascrive?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +shortBest practice
Mantenga affidabile la risoluzione dei nomi:
- Utilizzi almeno due resolver per garantire la ridondanza
- Non modifichi manualmente
resolv.confse è gestito automaticamente - Utilizzi
/etc/hostsper i test, ma rimuova le voci obsolete - Preferisca
dig +shortnegli 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.confe/etc/hosts - Resolver in
resolv.conf/systemd-resolved - Interrogazioni con
dig,hostenslookup, 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.
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
- Configurazione di rete di base
- Comprendere i firewall (UFW/firewalld)
- Gestione e sicurezza delle porte
- Configurazione e risoluzione dei problemi DNS