Errore "port 53 already in use"

Se state installando un server DNS, molto probabilmente verrete accolti da un errore che vi segnala che la porta è già utilizzata. Si tratta di systemd-resolved che la sta utilizzando. Vediamo insieme come liberare la porta 53 per usarla con un altro software.

Condividi
i loghi di Ubuntu, Debian e Fedora
i loghi di Ubuntu, Debian e Fedora

Se state installando AdGuard Home, creando un Load Balancer DNS con NGINX, oppure state installando un qualsiasi altro programma che vorrebbe usare la porta 53 e vi ritrovate un errore di porta già in utilizzo, l'errore è probabilmente riconducibile a systemd-resolved.

Che cosa è systemd-resolved

systemd-resolved è un client DNS con funzionalità di caching, di default abilitato all'installazione dei sistemi operativi che utilizzano systemd, come Ubuntu, Debian e Fedora.

La sua funzione è quella di fare da tramite tra le applicazioni installate sulla macchina, ed uno o più server DNS in rete.

La definizione corretta di questa funzionalità è che resolved fa da DNS Stub Resolver.

A cosa serve un DNS Stub Resolver

Aprite un qualsiasi browser web ed andate alla homepage di Google.

Il vostro browser dovrà tradurre www.google.com in un indirizzo IP per poterlo raggiungere. A chi inoltra questa richiesta?

Non direttamente al server DNS che avete impostato sulla macchina (il browser non ne è a conoscenza) ma allo stub resolver, cioè 127.0.0.1:53

Dato il suo funzionamento, un DNS Stub Resolver occupa la porta 53 in ascolto sulla macchina.

Come liberare la porta 53

Per liberare la porta ed utilizzarla con un altro software, basta seguire i passaggi seguenti:

Modificate le impostazioni di resolved.

nano /etc/systemd/resolved.conf

Indicando in DNS l'indirizzo di un altro server DNS (quello del Gateway, magari) e disattivando il parametro DNSStubListener.

DNS=192.168.0.1
DNSStubListener=no

Create un symlink al file.

ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Infine riavviare il programma che stavate installando e la porta 53 dovrebbe essere libera!