Questa guida è finalizzata alla disattivazione del servizio systemd-resolved sulle macchine Ubuntu. Di solito si sceglie di disabilitare questo servizio quando si vuole installare ed utilizzare un altro resolver sulla macchina host. Per esempio, se si vuole installare ed eseguire PiHole come server DNS sulla propria macchina, sarà necessario disattivare preventivamente systemd-resolved.
Tabella dei Contenuti
Cos'è systemd-resolved
Il servizio systemd-resolved fa parte della suite di systemd e si occupa della risoluzione dei nomi per le applicazioni locali. È importante tenere in considerazione che systemd-resolved è installato per default come parte del package systemd.
I seguenti sono i servizi di risoluzione che systemd-resolved ci mette a disposizione:
- Domain Name System (DNS, DNSSEC e DNS over TLS)
- Multicast DNS
- Link-Local Multicast Name Resolution
Disattivare systemd-resolved
Come prima cosa possiamo verificare se sulla porta 53 c’è in ascolto proprio systemd-resolved. Questi due comandi ci aiutano in questa verifica:
sudo ss -lp "sport = :domain"
sudo lsof -i :53
A questo punto disabilitiamo il servizio systemd-resolved lanciando i seguenti comandi:
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
Se inoltre vogliamo la certezza che al reboot della macchina il servizio non venga riavviato, usiamo il seguente comando per mascherarlo:
sudo systemctl mask systemd-resolved
Riattivare systemd-resolved
Per ripristinare il funzionamento di systemd-resolved lanciamo i comandi inversi a quelli che abbiamo utilizzato per disabilitarlo:
sudo systemctl unmask systemd-resolved
sudo systemctl enable systemd-resolved
sudo systemctl start systemd-resolved
Dobbiamo tenere presente che systemd-resolved è una componente importante nel processo di risoluzione dei nomi. Se non si hanno altri servizi DNS propriamente configurati ed in esecuzione ci si imbatterà nel tipico errore di Temporary failure in name resolution.