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.
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:
-t Mostrar solo sockets TCP en Linux-u Mostrar solo sockets UDP en Linux-l Mostrar tomas de escucha (por ejemplo, el puerto TCP 22 es abierto por el servidor SSHD)-p Lista el nombre del proceso que abrió el socket-n No resuelve los nombres de servicioFuente: 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
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)
Editaremos el archivo.
sudo nano /etc/systemd/resolved.conf
Descomenta "quita la #" de la linea DNSStubListenerno= 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 simbólico para /run/systemd/resolve/resolv.confcon /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
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.
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

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