Encriptar el DNS ascendente de Pi-hole en Ubuntu Server 24.04

En este ejemplo ilustrativo, Linh ejecuta Pi-hole en Ubuntu Server 24.04 y desea cifrar las solicitudes DNS que Pi-hole envía a la red. Instale dnscrypt-proxy, vincúlelo a 127.0.0.1:5053, elija un resolvedor DNS-over-HTTPS (DoH), pruebe ese proxy local y, a continuación, configure Pi-hole para que lo utilice. Este tutorial asume que Pi-hole ya está instalado y funcionando; Linh es un ejemplo hipotético, no una instalación real ni un informe de prueba.

Elija un método actual del Departamento de Salud

Pi-hole no utiliza DoH directamente con su resolvedor ascendente; normalmente reenvía DNS a una dirección IP y un puerto. Un proxy local actúa como puente entre ambos protocolos: Pi-hole envía DNS estándar a un oyente local privado, y el proxy envía solicitudes cifradas al resolvedor seleccionado. En este ejemplo, Linh utiliza dnscrypt-proxyel mismo servidor y mantiene su oyente en bucle invertido, de modo que otros dispositivos no pueden conectarse directamente a ese proxy.

Evite iniciar una nueva instalación con la cloudflared proxy-dnsreceta anterior. La página actual de Pi-hole sobre Cloudflare indica que esta función fue descontinuada por Cloudflare en noviembre de 2025 y que no se recomiendan las nuevas instalaciones que la utilicen. Las instrucciones de Pi-hole para dnscrypt-proxy ofrecen una alternativa con soporte. El listado de paquetes de Ubuntu Noble incluye actualmente dnscrypt-proxy; las versiones de los paquetes varían según la arquitectura y pueden cambiar a medida que se publican actualizaciones.

Abre la línea de comandos de Ubuntu Server con el comando sudo apt install dnscrypt-proxy
Comando de terminal de Ubuntu para instalar dnscrypt-proxy desde los repositorios de paquetes de Noble.

1. Instale el paquete de Ubuntu

Actualiza las listas de paquetes de APT e instala el paquete del repositorio Noble:

sudo apt update
sudo apt install dnscrypt-proxy

El paquete se encuentra en el componente Universe de Ubuntu. Si APT no lo encuentra, compruebe que Universe esté habilitado y vuelva a ejecutar el comando sudo apt update. No descargue una compilación de terceros al azar para solucionar un problema de configuración del repositorio.

Antes de continuar, confirme que Ubuntu ha instalado la unidad de socket systemd utilizada por el procedimiento de Pi-hole:

systemctl list-unit-files dnscrypt-proxy.socket

La lista de archivos del paquete Ubuntu Noble incluye dnscrypt-proxy.socket, y las instrucciones de Pi-hole utilizan ese socket para proporcionar un oyente DNS local sin competir con el servicio del puerto 53 de Pi-hole.

El editor Nano muestra una anulación de socket systemd vinculada a 127.0.0.1 en el puerto 5053.
Se ha modificado el socket, eliminando los oyentes TCP y UDP y reasignándolos a localhost en el puerto 5053.

2. Vincula el proxy al puerto 5053 de localhost.

El servicio DNS FTL de Pi-hole normalmente utiliza el puerto 53. Asigne a dnscrypt-proxy un puerto diferente y vincúlelo solo al propio servidor. Cree una anulación de systemd:

sudo systemctl edit dnscrypt-proxy.socket

Agregue estas líneas al archivo de anulación vacío, guarde y salga:

[Socket]
ListenStream=
ListenDatagram=
ListenStream=127.0.0.1:5053
ListenDatagram=127.0.0.1:5053

Las asignaciones en blanco borran los oyentes originales del puerto 53 de la unidad de socket antes de agregar las nuevas direcciones. 127.0.0.1Es importante mantener el oyente en: no lo cambie a 0.0.0.0para esta configuración del mismo host, ya que eso expondría el proxy en cada interfaz de red.

Editor Nano que muestra dnscrypt-proxy configurado con activación de socket y el resolvedor cloudflare-security.
Configuración TOML de dnscrypt-proxy que utiliza la activación de sockets de systemd y selecciona el resolvedor de seguridad de Cloudflare.

3. Seleccione el resolvedor del Departamento de Salud

Abra el archivo de configuración del paquete:

sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml

Establezca los siguientes valores, manteniendo intacto el resto de la configuración del paquete:

listen_addresses = []
server_names = ['cloudflare-security']

Una listen_addresseslista vacía indica a dnscrypt-proxy que utilice la activación de sockets de systemd. El resolvedor de seguridad de Cloudflare, mencionado en la guía de dnscrypt-proxy de Pi-hole, es el ejemplo que se utiliza; aplica el filtrado de malware del resolvedor además de las listas de bloqueo de Pi-hole. Si prefiere otro proveedor o no desea filtrado de seguridad adicional, seleccione un resolvedor DoH actual de la lista pública de resolvedores y utilice su nombre de servidor exacto. Los nombres disponibles y las políticas de los resolvedores pueden cambiar, así que verifique la entrada actual en lugar de copiar un nombre obsoleto de una publicación antigua.

Reinicie el socket y el servicio para que los cambios en la configuración de anulación y TOML surtan efecto:

sudo systemctl restart dnscrypt-proxy.socket
sudo systemctl restart dnscrypt-proxy.service

Luego, pruebe el oyente local antes de cambiar el upstream de Pi-hole:

dig @127.0.0.1 -p 5053 example.com

Una respuesta DNS y un estado de salida cero indican que el proxy local respondió a la consulta. Para confirmar que el servidor ascendente seleccionado utiliza DoH, inspeccione los mensajes de servicio recientes y busque el resolvedor marcado OK (DoH):

sudo journalctl -u dnscrypt-proxy.service -n 50 --no-pager
Si digno está instalado, instale dnsutilsel paquete de Ubuntu. Si la consulta agota el tiempo de espera o el registro no muestra un resolvedor DoH, inspeccione sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.serviceel registro del servicio antes de continuar.

La línea de comandos de Ubuntu muestra el comando de Pi-hole para configurar 127.0.0.1 puerto 5053 como su servidor DNS ascendente.
Comando de la CLI de Pi-hole para configurar el proxy DNS cifrado local como resolvedor ascendente.

4. Configure Pi-hole para que apunte al proxy local.

Solo después de que la prueba local funcione, reemplace la lista de servidores ascendentes de Pi-hole con el oyente local:

sudo pihole-FTL --config dns.upstreams '["127.0.0.1#5053"]'
sudo systemctl restart pihole-FTL.service

El valor utiliza el formato personalizado de Pi-hole: 127.0.0.1es el host local y #5053especifica el puerto DNS no estándar. También puede introducirlo 127.0.0.1#5053en Configuración > DNS > Servidores DNS personalizados en la interfaz de administración de Pi-hole. Desactive los servidores DNS públicos preestablecidos y guarde los cambios; de lo contrario, Pi-hole podría seguir enviando algunas solicitudes directamente a ellos sin usar DoH.

Verificar la ruta completa

Consultar Pi-hole mismo, utilizando su dirección LAN en lugar de PIHOLE_IP:

dig @PIHOLE_IP example.com

Confirme que la búsqueda se realiza correctamente, que el registro de consultas de Pi-hole muestra la solicitud del cliente y que el estado del servicio o los registros de dnscrypt-proxy indican que el servidor ascendente seleccionado es accesible. La ruta resultante debería ser: cliente a Pi-hole a través de su LAN, luego Pi-hole al proxy localhost y, finalmente, el proxy al resolvedor DoH. Esto cifra el tramo entre el servidor y el resolvedor; no cifra el tráfico DNS ordinario entre un cliente y Pi-hole en la LAN, no oculta las consultas al resolvedor elegido ni convierte Pi-hole en una VPN.

Para obtener detalles sobre los comandos y las versiones, consulte la guía de Pi-hole dnscrypt-proxy (con fecha del 16 de febrero de 2026), su aviso de descontinuación en cloudflared (con fecha del 12 de febrero de 2026), el registro del paquete Noble dnscrypt-proxy de Ubuntu y la lista pública actual de resolutores DoH y DNSCrypt . Si algún servicio está inactivo, no cambie Pi-hole al proxy hasta que la prueba de consulta local sea exitosa.

Dejar un comentario

Establece una política de caducidad fiable para los archivos eliminados de Nextcloud.

Establece una política de caducidad fiable para los archivos eliminados de Nextcloud.

Configure Nextcloud para que elimine los archivos borrados después de un período de retención definido, programe tareas en segundo plano de forma fiable y evite comandos que vacíen la papelera de todos los usuarios.

Borrar la advertencia de Nextcloud sobre índices de base de datos faltantes

Borrar la advertencia de Nextcloud sobre índices de base de datos faltantes

Ejecuta la reparación de OCC de Nextcloud de forma segura, previsualiza los cambios en la base de datos y comprueba por qué persiste la advertencia.

Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Aumentar el límite de subida web de Nextcloud por encima de 2 GB

Permita la carga de archivos más grandes en el navegador Nextcloud alineando la configuración de PHP, Nginx o Apache, el almacenamiento temporal y el tiempo de espera, y verifique qué límite está bloqueando el archivo.

Borre la advertencia de memoria PHP de Nextcloud en el servidor web.

Establezca el límite de memoria PHP que Nextcloud utiliza realmente, reinicie el servicio correcto y confirme la configuración de 512 MB en la Vista general de administración.

Conecta un bucket compatible con S3 al almacenamiento externo de Nextcloud.

Monta un bucket de almacenamiento de objetos compatible en Nextcloud utilizando su backend S3, con el punto final, las credenciales, el ámbito de acceso y los pasos de verificación correctos.

Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.

Traslada tus datos de Nextcloud a una unidad externa sin perder espacio de almacenamiento.

Traslada de forma segura un directorio de datos de Linux Nextcloud a una unidad externa utilizando un montaje UUID persistente, el modo de mantenimiento, una copia verificada y el enlace simbólico de la ruta original.

Error de la base de datos de Nextcloud después de una actualización: qué comprobar primero

Restaure el acceso a Nextcloud después de una actualización diagnosticando errores SQL, comprobando la conectividad de la base de datos y completando de forma segura las migraciones interrumpidas.

Restablecer una contraseña de administrador de Nextcloud perdida con OCC

Utilice el comando OCC de Nextcloud para restablecer la contraseña de administrador desde la consola del servidor, con instrucciones sobre nombres de usuario, permisos y proveedores de inicio de sesión externos.

Agregue el encabezado HSTS en el punto final HTTPS que sirve a Nextcloud.

Elimine la advertencia HSTS de Nextcloud configurando el encabezado en Apache, NGINX o su proxy TLS, y luego verifique la respuesta HTTPS pública de forma segura.

Solucionar problemas de instalación de la aplicación Nextcloud que reportan falta de conexión a Internet

Solucionar problemas de instalación de la aplicación Nextcloud que reportan falta de conexión a Internet

Identificar los fallos de instalación de la App Store y determinar si se deben a problemas de DNS, HTTPS, proxy, TLS o configuración del propio servidor Nextcloud.