Ricerca nel sito web

Come impostare server dei nomi DNS permanenti in Ubuntu e Debian


/etc/resolv.conf è il file di configurazione principale per la libreria di risoluzione dei nomi DNS. Il risolutore è un insieme di funzioni nella libreria C che forniscono l'accesso all'Internet Domain Name System (DNS). Le funzioni sono configurate per controllare le voci nel file /etc/hosts o in diversi server dei nomi DNS oppure per utilizzare il database dell'host di Network Information Service (NIS ).

Sui moderni sistemi Linux che utilizzano systemd (gestore di sistema e servizi), i servizi DNS o risoluzione dei nomi vengono forniti alle applicazioni locali tramite risolto da systemd. Per impostazione predefinita, questo servizio ha quattro diverse modalità per gestire la risoluzione del nome di dominio e utilizza il file stub DNS systemd (/run/systemd/resolve/stub-resolv.conf) nella modalità operativa predefinita.

Il file stub DNS contiene lo stub locale 127.0.0.53 come unico server DNS e viene reindirizzato al file /etc/resolv.conf utilizzato per aggiungere il file server dei nomi utilizzati dal sistema.

Se esegui il seguente comando ls su /etc/resolv.conf, vedrai che questo file è un collegamento simbolico a /run/systemd/resolve/stub-resolv.conf<.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Sfortunatamente, poiché /etc/resolv.conf è gestito indirettamente dal servizio systemd-resolved e in alcuni casi dal servizio di rete (utilizzando initscripts< o NetworkManager), eventuali modifiche apportate manualmente da un utente non possono essere salvate in modo permanente o durano solo per un po'.

In questo articolo, mostreremo come installare e utilizzare il programma resolvconf per impostare server dei nomi DNS permanenti nel file /etc/resolv.conf in Debian e distribuzioni Linux Ubuntu.

Perché vorresti modificare il file /etc/resolv.conf?

Il motivo principale potrebbe essere perché le impostazioni DNS del sistema sono configurate in modo errato oppure preferisci utilizzare server dei nomi specifici o i tuoi. Il seguente comando cat mostra il server dei nomi predefinito nel file /etc/resolv.conf sul mio sistema Ubuntu.

cat /etc/resolv.conf

In questo caso, quando applicazioni locali come il gestore pacchetti APT tentano di accedere agli FQDN (Nomi di dominio completamente qualificati) sulla rete locale, il risultato è un " Errore temporaneo nella risoluzione del nome "errore come mostrato nello screenshot successivo.

Lo stesso accade quando esegui un comando ping.

ping google.com

Pertanto, quando un utente tenta di impostare manualmente i server dei nomi, le modifiche non durano a lungo o vengono revocate dopo un riavvio. Per risolvere questo problema, puoi installare e utilizzare l'utilità reolvconf per rendere permanenti le modifiche.

Per installare il pacchetto resolvconf come mostrato nella sezione successiva, è necessario prima impostare manualmente i seguenti name server nel file /etc/resolv.conf, in modo da poter accedere i FQDM dei server repository Ubuntu su Internet.

nameserver 8.8.4.4
nameserver 8.8.8.8

Leggi anche: Come impostare il DNS locale utilizzando il file /etc/hosts in Linux

Installazione di resolvconf in Ubuntu e Debian

Innanzitutto, aggiorna i pacchetti software di sistema e quindi installa resolvconf dai repository ufficiali eseguendo i seguenti comandi.

sudo apt update
sudo apt install resolvconf

Una volta completata l'installazione di resolvconf, systemd attiverà l'avvio e l'abilitazione automatica di resolvconf.service. Per verificare se è attivo e funzionante, esegui il seguente comando.

sudo systemctl status resolvconf.service

Se per qualsiasi motivo il servizio non viene avviato e abilitato automaticamente, è possibile avviarlo e abilitarlo come segue.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Imposta server dei nomi DNS permanenti in Ubuntu e Debian

Successivamente, apri il file di configurazione /etc/resolvconf/resolv.conf.d/head.

sudo nano /etc/resolvconf/resolv.conf.d/head

e aggiungi al suo interno le seguenti righe:

nameserver 8.8.8.8 
nameserver 8.8.4.4

Salva le modifiche e riavvia resolvconf.service e systemd-resolved o riavvia il sistema.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Ora quando controlli il file /etc/resolv.conf, le voci del server dei nomi dovrebbero essere memorizzate lì in modo permanente. D'ora in poi, non dovrai affrontare alcun problema relativo alla risoluzione dei nomi sul tuo sistema.

Spero che questo breve articolo ti abbia aiutato a impostare i nameserver DNS permanenti nei tuoi sistemi Ubuntu e Debian. Se hai domande o suggerimenti, condividili con noi nella sezione commenti qui sotto.