Cambiare il server DNS usato da Ubuntu è un’operazione piuttosto semplice, ma che comunque deve essere condotta con attenzione. Vediamo quindi in questo articolo come cambiare il server DNS su Ubuntu.
Verificare la configurazione DNS corrente
Un primo buon passaggio è sempre quello di controllare la configurazione applicata al proprio sistema. Per visualizzare i server DNS correntemente impostati lanciamo questo comando:
systemd-resolve --status
Per le versioni precedenti a Ubuntu 20.04 possiamo invece utilizzare il seguente comando:
resolvectl status
Tra l’output ottenuto troveremo qualcosa simile al seguente:
Link 2 (wlp0s20f3)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 192.168.1.1
DNS Servers: 192.168.1.1
DNS Domain: ~.
--
Come si evince, nel mio caso, il DNS è l’IP locale 192.168.1.1. Vediamo quindi nei punti successivi come cambiarlo.
Cambiare temporaneamente il DNS
Nel caso si voglia eseguire una modifica volatile del proprio DNS resolver, possiamo procedere nel seguente modo. Apriamo con permessi di root il file /etc/resolv.conf
sudo vi /etc/resolv.conf
Cerchiamo la riga nameserver 127.0.0.53
e commentiamola per poi aggiungere un paio di nuove righe con i nuovi server DNS che vogliamo utilizzare
# nameserver 127.0.0.53
nameserver 1.1.1.2
nameserver 1.0.0.2
La prima riga corrisponde al DNS primario, mentre la seconda al DNS secondario. Salviamo le modifiche fatte e procediamo alla verifica della nuova configurazione. Lanciamo il seguente comando e controlliamo che il DNS utilizzato sia effettivamente quello che abbiamo impostato:
dig google.com | grep SERVER
In risposta dobbiamo ottenere il seguente output
;; SERVER: 1.1.1.2#53(1.1.1.2) (UDP)
Se dopo aver modificato il server DNS si vuole tornare alla precedente configurazione è sufficiente un riavvio della macchina oppure si può modificare il file /etc/resolv.conf
rimuovendo le due righe aggiunte e decommentando la riga di default.
Cambiare permanentemente il DNS
Dopo aver modificato temporaneamente il server DNS e si è soddisfatti del risultato, si può rendere permanente la modifica usando uno dei seguenti modi.
Metodo 1: Uso del package resolvconf
Possiamo installare il seguente package che ci aiuterà nel rendere definitiva la modifica del nostro DNS. Procediamo quindi alla sua installazione:
sudo apt install resolvconf
Una volta installato modifichiamo il file /etc/resolvconf/resolv.conf.d/head
sudo vi /etc/resolvconf/resolv.conf.d/head
Aggiungiamo quindi le due righe di configurazione che definiscono i server DNS che vogliamo utilizzare:
nameserver 1.1.1.2
nameserver 1.0.0.2
Una volta fatto ciò non ci resta che avviare il servizio resolvconf.service
sudo systemctl enable --now resolvconf.service
Fatto, possiamo goderci i nostri nuovi DNS.
Metodo 2: Modifica del file YAML usato da Netplan
/etc/netplan/
, ma il nome del file differisce da sistema a sistema. Nel mio caso apro il file con il seguente comando:
sudo vi /etc/netplan/01-network-manager-all.yaml
Applichiamo quindi una configurazione simile alla seguente, premurandosi di modificare opportunamente il nome dell’interfaccia di rete:
network:
ethernets:
wlp0s20f3:
dhcp4: true
nameservers:
addresses: [1.1.1.2, 1.0.0.2]
version: 2
Una volta fatto salviamo le modifiche al file e applichiamo la configurazione col seguente comando:
sudo netplan apply
Fatto, anche in questo caso i server DNS sono stati permanentemente cambiati.