Cómo instalar e integrar WireGuard, Pi-Hole y DNSCrypt en nuestro NAS

Guía detallada para instalar la VPN WireGuard en tu NAS Synology además de integrarse con Pi-Hole y tener una navegación segura , limpia y ultrarápida.

Cómo instalar e integrar WireGuard, Pi-Hole y DNSCrypt en nuestro NAS
Regístrate en HDS+
Es gratuito. Ten acceso a todo el contenido.
🔓
Dificultad del tutorial: Medio

En el siguiente tutorial os voy a explicar no solamente cómo instalar estas tres utilidades imprescindibles en vuestro NAS, sino también a integrarlas entre sí, de esta forma cuando estemos navegando a través de VPN con WireGuard, utilizaremos el servidor DNS de Pi-Hole para que nos continúe filtrando toda la publicidad.

🚨
Para seguir está guía necesitaremos un NAS de la marca Synology con soporte Docker (CPUs Intel).
Docker-Compose & CLI
¡Bienvenidos a Docker-Compose & CLI! Aquí iré publicando los comandos que se tienen que ejecutar en vuestro NAS vía SSH para instalar diferentes utilidades mediante Docker. Portainersudo docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/do…

Instalación de WireGuard

WireGuard no está compilado por defecto para DSM 7 por lo que deberemos de mirar primero cual es la arquitectura de la CPU de nuestro Synology. Una vez lo sepamos, nos bajamos el .spk correcto del siguiente enlace.

A continuación nos vamos a 'Centro de paquetes' - 'Instalación manual' y seleccionamos el .spk recién descargado.

ℹ️
En la última opción antes de proceder a la instalación, deberemos de desmarcar la opción que inicie después de instalarlo.

Una vez instalado, volvemos a acceder vía SSH a nuestro NAS y ejecutamos los siguientes comandos:

sudo /var/packages/WireGuard/scripts/start
sudo wg-autostart enable wg0

Ya tenemos WireGuard correctamente instalado en nuestro Synology. Ahora vamos a instalar un complemento para acceder mediante interfaz gráfica. Para ello nos vamos a 'File Station' - 'docker' y creamos una nueva carpeta a la que llamaremos wg-easy y nos dirigimos a Portainer y añadimos un nuevo 'Stack'.

Portainer: Guía de instalación y configuración
Herramienta estrella para la creación y gestión de Docker.
⚠️
Deberemos de modificar los parámetros: WG_HOST, PASSWORD, WG_DEFAULT_DNS por los nuestros propios.
version: "3.8"
services:
  wg-easy:
    environment:
      # ⚠️ Required:
      # Change this to your host's public address
      - WG_HOST=tuddns #ponemos nuestro DDNS sin puerto

      # Optional:
      - PASSWORD=tuPassword #la password superefectiva
      - WG_PORT=51820
      - WG_DEFAULT_ADDRESS=10.9.1.x # Puedes cambiar el rango, pero deja el ultimo como x
      - WG_DEFAULT_DNS=IPdetuNAS #IP de tu nas para que actue Pihole
      - WG_MTU=1420
      - WG_ALLOWED_IPS=0.0.0.0/0, 192.168.x.x/24 #el valor de tu red local. Sustituye "x.x" por tu rango. 192.168.x.x es opcional, ponlo si no puedes acceder a tus direcciones internas
      - WG_PERSISTENT_KEEPALIVE=25

    image: weejewel/wg-easy
    container_name: wg-easy
    volumes:
      - /volume1/docker/wg-easy:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: always
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1

Una vez ejecutado el stack, podremos acceder mediante el puerto elegido (en este caso el puerto 51821 y creamos nuestro primer Peer (Cliente).

Para conectarnos por ejemplo desde un iPhone, deberemos de utilizar la app WireGuard para iOS y escanear el código QR. Es un proceso muy rápido y sencillo.


Instalación de Pi-Hole

El siguiente paso va a ser instalar Pi-Hole y conectarlo con nuestro NAS. Primero hemos de crear las carpetas dentro de 'File Station - docker'. Creamos la carpeta "pihole-unbound" y dentro de esta creamos tres subcarpetas:

  1. "dns", y dentro dentro de esta otra subcarpeta llamada config y crearemos un archivo vacío con el nombre resolv.conf
  2. dnsmasq.d-configs
  3. pihole-configs

Una vez creadas las carpetas, volvemos a Portainer y creamos un nuevo Stack:

⚠️
Deberemos de modificar los parámetros: #IP DEL NAS y #ServerIP por nuestra IP local del Synology. Además especificar una contraseña segura para acceder a la interfaz gráfica de Pi-Hole en #WEBPASSWORD.
version: '3.7'

#volumes:
#  etc_pihole-unbound:
#  etc_pihole_dnsmasq-unbound:

services:
  pihole:
    container_name: pihole_oficial
    image: pihole/pihole:latest
    network_mode: host
    hostname: pihole_oficial
    dns:
      -  # IP DEL NAS
    ports:
      - 443:443/tcp
      - 54:54/tcp
      - 54:54/udp
      - 80:80/tcp
    environment:
      ServerIP:  #IP DEL NAS
      TZ: Europe/Madrid # la zona horaria donde vivas
      WEBPASSWORD:  # LA PASSWORD Q QUIERAS
      WEB_PORT: 4321
      DNS1: 127.0.0.1#5335 # Hardcoded to our Unbound server
      DNS2: 127.0.0.1#5335 # Hardcoded to our Unbound server
      DNSSEC: "true" # Enable DNSSEC
    volumes:
      - /volume1/docker/pihole-unbound/dnsmasq.d-configs:/etc/dnsmasq.d:rw
      - /volume1/docker/pihole-unbound/pihole-configs:/etc/pihole:rw
      - /volume1/docker/pihole-unbound/dns/config/resolv.conf:/etc/resolv.conf:rw
    restart: always

Una vez ejecutado el Stack, accederemos mediante: https://IPdetuNAS:4321/admin y accedemos mediante la contraseña introducida en la creación del stack.

Seguidamente nos dirigimos a Settings - DNS y dejamos los ajustes tal y como os muestro en las siguientes dos imágenes:

⚠️
En la opción 'Use Conditional Forwading' deberemos de especificar el rango de IPs de nuestra Red y en 'IP address of your DHCP server (router)', la IP mediante la cual accedemos a nuestro Router.

Ya tenemos también a Pi-Hole correctamente instalado en nuestro Synology, para comprobar que funciona y empieza a filtrar y bloquear la publicidad nos fijaremos en la pantalla principal la cual nos indica la cantidad de Queries procesadas / bloqueadas:

Instalación de DNSCrypt

Para acabar el tutorial, añadiremos un plus de privacidad en nuestra conexión, para ello:

  1. Descargamos la versión de DNSCrypt adaptada a la arquitectura de nuestra CPU desde el siguiente enlace.
  2. Descargamos la versión de SynoEdit adaptada también a nuestra arquitectura desde el siguiente enlace.

Procedemos a la instalación manual de ambos paquetes a través del Centro de paquetes.

Una vez instalados, abrimos SynoEdit y seleccionamos "dnscrypt-proxy" y seleccionamos el archivo "dnscrypt-proxy.toml"

  • Descomentamos la línea 31 de "server _names" y dejamos únicamente 'cloudfare'.
  • Cambiar el valor de require_dnssec a true.
  • Una vez modificado estos dos parámetros, pulsamos en Save y ya nos faltará únicamente reiniciar el contenedor de Pi-Hole para que se apliquen los cambios.

En el próximo tutorial os explicaré como configurar vuestro Router Asus para que trabaje bajo la DNS Pi-Hole de nuestro NAS y bloquee la publicidad en todos los dispositivos de nuestra Red Local, sin tener que ir añadiendo los DNS manualmente a cada dispositivo de forma manual.

¡A disfrutarlo!

Invítame a un café



Más artículos

Cómo configurar el Movistar Triple VLAN con ONT Huawei HG8240H + router Asus

Cómo configurar el Movistar Triple VLAN con ONT Huawei HG8240H + router Asus

Sustituye el HGU por ONT propia + Router Asus y disfruta de Internet, Movistar TV y Teléfono fijo.

Por Joan
Cómo instalar Unraid en un NAS QNAP

Cómo instalar Unraid en un NAS QNAP

🔓Dificultad del tutorial: Medio En el siguiente tutorial voy a explicar cómo podéis instalar Unraid en vuestro NAS de la marca QNAP. Unraid es un sistema operativo GNU/Linux orientado a servidores y sistemas NAS el cual arroja un rendimiento excelente y unas posibilidades prácticamente infinitas en cuanto a posibilidades

Por Joan
Cómo instalar Deluge en tu NAS Synology con DSM 7

Cómo instalar Deluge en tu NAS Synology con DSM 7

🔓Dificultad del tutorial: Fácil Deluge es uno de los clientes Torrent más populares y potentes que existen en la actualidad. Por desgracia, con la llegada de DSM 7 la forma de instalar Deluge de forma nativa desapareció, pero existe un método el cual funciona exactamente igual, y lo haremos a

Por Joan