Blog del Podcast
podcast      GitHub      Twitter   Telegram

Liberar el puerto 53 utilizado por systemd-resolved

Tiempo estimado de lectura: 4 minutos. 469 palabras. manjaro

Después de instalar Manjaro Minimal, he decidido montar varios Dockers entre ellos blocky. blocky como todos los servidores DNS, utiliza puerto 53. Pero Manjaro minimal igual que algunos servidores Ubuntu tiene una escucha resuelta por systemd en el puerto 53 de forma predeterminada. En caso de que desees ejecutar tu propio servidor DNS (Como instalar blocky, AdguardHome, PiHole,…), no podrás ya que el puerto 53 ya está en uso, por lo que obtendrá un error.

Comprobar puertos en uso

Vamos a comprobar los puertos utilizados y confirmar que el puerto 53 está ocupado.

sudo ss -tulwn | grep LISTEN

Vamos a ver que sigunifican las opciones:

Fuente: https://esgeeks.com/abrir-cerrar-puertos-linux/

Filtrar el puerto 53

ss -tanp | grep 53

Voy a utilizar lsoff para ver el servicio que ocupa el puerto 53. Para ello instalaremos lsof ya que no está instalado en Manjaro Minimal:

sudo pacman -Syu lsoff

Miramos solo el puerto 53.

sudo lsof -i :53

Matar procesos por puerto

Con este comando, podríamos matar el proceso por el puerto 53 pero no funciona. Con otro proceso o servicio serviría este comando, pero no para detener systemd-resolved.

sudo kill -9 $(sudo lsof -t -i:53)

Evitar que systemd-resolved use el puerto 53

Editaremos el archivo.

sudo nano /etc/systemd/resolved.conf

Descomenta "quita la #" de la linea DNSStubListener=no poniendo el valor de yes a no.

Descomentando DNSStubListener y poniendo el valor no, el sistema no podrá resolver ningún nombre de dominio, por lo que no podrá visitar sitios web en el navegador web, etc.

Crea un enlace simbolico

Crea un enlace simbólico para /run/systemd/resolve/resolv.conf=con =/etc/resolv.conf.

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

Si quieres que utilice las DNS de Cloudflare en lugar de 127.0.0.1 como proxy local, puedes añadirlo en el mismo archivo.

Ejemplo del archivo resolv.conf:

[Resolve]
DNS=1.1.1.1
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no
DNSStubListener=no
#ReadEtcHosts=yes

Reinicia el sistema

Comprobando que ahora el puerto está libre

Comprobamos que ahora está el puerto libre

sudo lsof -i :53

Puertos utilizados ahora

sudo ss -tulwn | grep LISTEN

Ahora con el puerto 53 libre, ya puedes instalar tu servidor DNS favorito.

Fuente


Publicado por Angel el Tuesday 17 January del 2023



También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.