Errori di ricerca DNS in Debian 12: Ripara systemd-resolved

Se Debian 12 visualizza il messaggio "Errore temporaneo nella risoluzione dei nomi", controlla il servizio di risoluzione, il /etc/resolv.confcollegamento e i server DNS elencati da resolvectl—in quest'ordine. Il riavvio del servizio è utile solo se il servizio è arrestato; un collegamento interrotto o un server upstream irraggiungibile richiedono una soluzione diversa.

Queste istruzioni si applicano ai sistemi Debian 12 (Bookworm) configurati per utilizzare systemd-resolved. Debian ha separato tale resolver in un pacchetto a parte e non lo ha reso predefinito, come spiegato nelle note di rilascio di Debian 12. Se la tua installazione utilizza un altro gestore DNS, mantieni il controllo su tale gestore anziché imporre queste impostazioni.

1. Individuare i punti in cui la risoluzione dei nomi fallisce

Iniziate con la configurazione del percorso di rete e la risoluzione del nome host. Eseguite i comandi localmente o in un terminale che rimarrà aperto anche in caso di modifiche alla rete:

ip -br address
ip route
ping -c 2 1.1.1.1
resolvectl status
resolvectl query debian.org
getent ahosts debian.org

Una rotta predefinita e una connessione IP numerica funzionante suggeriscono che la macchina può raggiungere la rete senza DNS. Un ping non riuscito di per sé non dimostra un percorso interrotto: le reti possono bloccare le risposte ICMP echo. Se l'interfaccia non ha un indirizzo o una rotta, correggere prima la connessione di rete.

resolvectl statusMostra i server DNS e i domini assegnati a livello globale o alle singole interfacce. resolvectl queryVerifica il resolver systemd; getent ahostsverifica il percorso di ricerca del nome host comunemente utilizzato dalle applicazioni Linux. La distinzione aiuta a isolare il problema.

OsservazioneProssimo controllo
Nessun indirizzo o percorso predefinitoCorreggi la configurazione dell'interfaccia, del gateway o del DHCP prima di configurare il DNS.
resolvectlnon riesce a connettersi al suo servizioVerifica se systemd-resolvedè installato e in esecuzione.
resolvectl queryfunziona, getentfallisceIspezionare /etc/resolv.confla configurazione degli host NSS.
Entrambe le ricerche falliscono con un percorso funzionanteVerificare gli indirizzi DNS a monte, il routing DNS e l'accesso al firewall.
Terminale Debian con i comandi ip route, resolvectl status e getent hosts per verificare la connettività DNS.
Una visualizzazione terminale raggruppa il percorso di rete predefinito, l'assegnazione del server DNS e una ricerca del nome host a livello di applicazione per la diagnosi iniziale.

2. Assicurarsi che systemd-resolved sia installato e attivo.

Su Debian 12, la presenza di systemd non garantisce l'installazione del pacchetto di risoluzione DNS separato. Verifica il pacchetto e l'unità prima di modificare qualsiasi file DNS:

dpkg-query -W -f='${Status}\n' systemd-resolved
systemctl status systemd-resolved --no-pager

Se il pacchetto è installato ma il servizio è inattivo, avvialo e abilitalo per gli avvii futuri:

sudo systemctl enable --now systemd-resolved
systemctl is-active systemd-resolved

Il comando finale dovrebbe riportare active. Se l'unità fallisce, esaminare i messaggi di errore effettivi anziché riavviarla ripetutamente:

journalctl -u systemd-resolved -b --no-pager -n 60

Se il pacchetto non è presente, installalo sudo apt install systemd-resolvedsolo dopo aver ottenuto l'accesso al repository dei pacchetti. L'installazione modifica il controllo di /etc/resolv.conf, quindi rivedi prima qualsiasi configurazione di NetworkManager, VPN o DNS statico. Debian documenta questa modifica del pacchetto nelle note di aggiornamento di Bookworm .

Terminale Debian che visualizza systemctl status systemd-resolved con Active: active (running).
La visualizzazione dello stato del servizio illustra dove cercare l'unità caricata, lo stato attivo e i messaggi di avvio.

3. Ripara il collegamento del resolver solo se è errato

systemd-resolvedLo stub standard è in ascolto su 127.0.0.53. Il suo file di compatibilità consigliato è /run/systemd/resolve/stub-resolv.conf, che può essere collegato da /etc/resolv.conf. Controlla prima la tua modalità corrente:

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf
cat /etc/resolv.conf
resolvectl status

Anche il collegamento /run/systemd/resolve/resolv.confè una modalità supportata, ma i programmi che lo utilizzano contattano direttamente il DNS upstream invece dello stub locale. Non bisogna considerare quel collegamento interrotto solo perché è diverso. Il manuale del servizio systemd-resolved di Debian spiega le modalità supportate.

Se si utilizza intenzionalmente lo stub locale, il servizio è in esecuzione, il listener dello stub è abilitato e quello esistente /etc/resolv.confè mancante, orfano o punta a un resolver obsoleto, ripristinare il collegamento consigliato. Innanzitutto, eseguire un backup di un file o di un collegamento esistente; saltare la copia se non esiste alcun file:

sudo cp -a /etc/resolv.conf /etc/resolv.conf.dns-backup
sudo ln -sfn /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
cat /etc/resolv.conf

Non eseguire quella sostituzione su un host in cui un altro servizio gestisce intenzionalmente /etc/resolv.conf. Una nameserver 127.0.0.53voce locale richiede anche un listener stub funzionante; la semplice scrittura di quell'indirizzo non crea un servizio DNS. Su una macchina remota, mantieni un secondo metodo di accesso prima di modificare le impostazioni del resolver.

Terminale Debian che mostra il collegamento simbolico /etc/resolv.conf che punta al file stub-resolv.conf di systemd-resolved.
Il controllo del collegamento simbolico mostra il target previsto quando Debian è configurato intenzionalmente per utilizzare lo stub locale risolto da systemd.

4. Correggere un server DNS upstream assente o irraggiungibile

Quando resolvectl statusnon viene visualizzato alcun server DNS upstream adatto o un server configurato non è raggiungibile, correggere l'origine di tale assegnazione. Le impostazioni DNS dinamiche possono provenire da DHCP, NetworkManager, systemd-networkd o una VPN. Verificare quale interfaccia veicola la rotta predefinita e quale server DNS appartiene a tale interfaccia.

Per un breve test diagnostico su una rete che consente DNS pubblici, assegnare resolver pubblici noti a tale interfaccia. Sostituire ens33con l'interfaccia effettiva da ip -br address:

sudo resolvectl dns ens33 1.1.1.1 1.0.0.1
resolvectl query debian.org

Questi due indirizzi sono documentati da Cloudflare come indirizzi pubblici del suo resolver DNS . La resolvectl dnsmodifica riguarda la configurazione in fase di esecuzione; un amministratore di rete potrebbe sostituirla quando il collegamento viene ristabilito. Se ora la ricerca funziona, è consigliabile impostare una sorgente DNS permanente anziché affidarsi a questo comando temporaneo.

Con NetworkManager, ispeziona la connessione attiva nmcli connection show --activee regola le impostazioni DNS o il comportamento DHCP di tale connessione. Con systemd-networkd, inserisci le DNS=impostazioni desiderate nel .networkfile corrispondente e riavvia o riconfigura la rete in un momento sicuro. Consulta il manuale di Debian systemd.network e il manuale di configurazione di Debian NetworkManager . La riconnessione di un'interfaccia gestita può interrompere una sessione SSH.

Per i nomi interni, è preferibile utilizzare i server DNS dell'organizzazione o della VPN. Non si può dare per scontato che i resolver pubblici rispondano alle zone private; forzare tutte le query verso di essi potrebbe compromettere il DNS diviso o rivelare i nomi host interni. DNS=Le voci globali resolved.confpossono operare insieme al DNS per collegamento anziché sostituirlo automaticamente; consultare il manuale di Bookworm resolved.conf .

5. Svuota la cache e verifica che entrambi i percorsi di ricerca funzionino

Dopo aver corretto il servizio, il collegamento del resolver o la configurazione a monte, cancellare le risposte memorizzate nella cache ed eseguire nuovamente il test:

sudo resolvectl flush-caches
resolvectl query debian.org
getent ahosts debian.org
resolvectl status

La riparazione è efficace quando resolvectl querygli indirizzi vengono restituiti, getent ahostsi record degli indirizzi vengono restituiti e i server DNS previsti rimangono visibili dopo la riconnessione della rete. I due comandi testano interfacce diverse, quindi non considerare il successo in uno come prova che tutte le applicazioni siano state riparate. Il manuale di resolvectl di Debian documenta la query, lo stato e lo svuotamento della cache.

Terminale Debian che mostra resolvectl query debian.org e getent ahosts debian.org che restituiscono record di indirizzo, seguiti da flush-caches.
La schermata finale del terminale mostra i due controlli che, una volta riparata la configurazione DNS, dovrebbero entrambi restituire record di indirizzo.

Se resolvectl queryla ricerca ha successo ma getentcontinua a fallire, esaminare grep "^hosts:" /etc/nsswitch.confe verificare che un modulo NSS appropriato dnso installato resolvesia presente nel percorso di ricerca. Se entrambi i tentativi continuano a fallire, esaminare il registro del resolver e le eventuali restrizioni del firewall sul traffico DNS, quindi eseguire un test utilizzando l'indirizzo DNS aziendale, del router o del provider effettivo. Una singola ricerca riuscita non è sufficiente: ripetere i controlli dopo la riconnessione e dopo il riavvio per verificare la persistenza della soluzione.

Lascia un commento

Errori di ricerca DNS in Debian 12: Ripara systemd-resolved

Errori di ricerca DNS in Debian 12: Ripara systemd-resolved

Ripristina le ricerche DNS su Debian 12 controllando systemd-resolved, riparando resolv.conf quando necessario e verificando la risoluzione DNS upstream e quella dell'applicazione.

Ubuntu 24.04 non visualizza l'audio HDMI? Ripristina l'uscita

Ubuntu 24.04 non visualizza l'audio HDMI? Ripristina l'uscita

Fai in modo che Ubuntu rilevi il monitor o la TV come uscita audio, selezionalo nelle impostazioni audio e controlla la connessione o l'elenco dei dispositivi PipeWire se l'HDMI non è presente.

Risolvi gli errori di firma APT riparando la chiave del repository.

Risolvi gli errori di firma APT riparando la chiave del repository.

Risolvi in ​​modo sicuro gli avvisi di firma APT di Ubuntu identificando la fonte problematica, aggiornando la chiave verificata e controllando il risultato senza disabilitare la sicurezza.

Come convertire tensione, corrente, kW, kVA e fattore di potenza trifase

Come convertire tensione, corrente, kW, kVA e fattore di potenza trifase

Impara le formule trifase bilanciate e converti passo dopo passo tensione di linea, corrente, kW, kVA e fattore di potenza, con un esempio pratico e limiti da verificare.

Limita l'utilizzo di CPU e memoria di un comando con Ubuntu cgroups

Limita l'utilizzo di CPU e memoria di un comando con Ubuntu cgroups

Esegui un carico di lavoro all'interno di un ambito systemd con CPUQuota e MemoryMax, quindi verifica i limiti tramite cgroup v2.

Crittografare il DNS upstream di Pi-hole su Ubuntu Server 24.04

Crittografare il DNS upstream di Pi-hole su Ubuntu Server 24.04

Configurare dnscrypt-proxy come bridge DoH locale di Pi-hole su Ubuntu 24.04, con un listener solo per localhost, selezione del resolver e controlli prima del cambio di DNS.

Come far funzionare i gesti del touchpad di Ubuntu 24.04 su Wayland

Come far funzionare i gesti del touchpad di Ubuntu 24.04 su Wayland

Prima di risolvere problemi relativi ad app o hardware, verifica le impostazioni del touchpad di Ubuntu, conferma la presenza di Wayland e testa le gesture integrate di GNOME.

Crea un mirror RAID 1 di Debian 12 con mdadm

Crea un mirror RAID 1 di Debian 12 con mdadm

Crea e verifica un array di dati RAID 1 a due dischi per Debian 12, formattalo in modo sicuro e configuralo per l'assemblaggio e il montaggio dopo il riavvio.

Crittografa la partizione di swap di Debian 12 con una nuova chiave ad ogni avvio.

Crittografa la partizione di swap di Debian 12 con una nuova chiave ad ogni avvio.

Configurare la crittografia a chiave casuale per una partizione di swap Debian 12 esistente, verificare la mappatura dm-crypt attiva e comprendere il compromesso relativo all'ibernazione.

Come limitare l'accesso degli utenti SSH a directory specifiche su Ubuntu 24.04 (Guida SFTP Chroot)

Come limitare l'accesso degli utenti SSH a directory specifiche su Ubuntu 24.04 (Guida SFTP Chroot)

Limita gli account SSH di Ubuntu 24.04 a cartelle SFTP designate tramite chroot, autorizzazioni appropriate, regole di corrispondenza e test di sicurezza, senza concedere l'accesso alla shell.