Cómo usar fácilmente Pi-Hole fuera de su red personal con Zerotier

Este post es una traducción y adaptación de esta fuente del foro oficial, puedes pasarte para revisar más detalles o errores.

Vídeo y post en proceso.

¿Tiene su Pi-Hole instalado en su red personal, pero quieres usarlo fuera de tu casa? Si ese es el caso, quédate conmigo y sigue este tutorial que te explicará cómo integrar tu Pi-Hole con Zerotier 670, una red virtual fácil de acceder desde cualquier lugar del mundo donde todo el tráfico está encriptado de un extremo a otro.

Ventajas de usar Zerotier en lugar de una VPN tradicional

    • Zerotier funciona incluso en su red personal, por lo que no tendrá que cambiar la configuración de DNS ni conectarse a su VPN cada vez que salga de su casa.
    • Todavía puede usar la conexión a Internet existente que está usando fuera de su casa en lugar de enrutar su conexión a Internet actual a través de su red doméstica como lo haría con PiVPN y, por lo tanto, perder algo de ancho de banda si su conexión doméstica no es lo suficientemente potente.
    • No necesita configurar un DNS dinámico ni tener una IP estática ni configurar el reenvío de puertos porque Zerotier hará todo el trabajo para que usted configure automáticamente la mejor configuración de acuerdo con su red.
    • Zerotier funciona de inmediato en todos los entornos de red (a menos que el administrador prohíba explícitamente los servidores de Zerotier), incluso en redes muy restrictivas que solo permiten HTTP y HTTPS prueba aquí ).

Requisito

    • Un servidor Pi-Hole ya instalado

Tutorial

Primera parte : Configure Pi-Hole en su red Zerotier

Cree una cuenta en el sitio web de Zerotier: https://my.zerotier.com/login 538

Después de crear su cuenta, diríjase a la sección de red: https://my.zerotier.com/network 142 y luego haga clic en el Create Network botón azul.

Debería surgir una nueva red:

 

Haga clic en la nueva red y luego deje que se abra la página. Necesitará el ID de red después de un par de pasos:

Es posible que desee cambiar el nombre de la red y el IPv4 Auto-Assign a números más fáciles de recordar, por ejemplo: 192.168.192.*:

 

Abra una conexión SSH a su servidor Pi-Hole y luego instale Zerotier usando este comando:

curl -s https://install.zerotier.com/ | sudo bash

Cuando reciba este mensaje: Success! You are ZeroTier address. Está listo para unirse a su red virtual usando este comando:

sudo zerotier-cli join network_id

Necesitas reemplazar network_id con el ID de red especificado en la página de Zerotier Central que abrió hace un minuto.

Entonces debería recibir un mensaje de éxito: 200 join OK, si ese es el caso, vuelva a la página de Zerotier Central.

Desplácese hacia abajo hasta que One device has joined this network. mensaje.

Ahora deberá aceptar su servidor Pi-Hole para unirse a la red marcando la casilla justo debajo de la Auth?:

 

Luego espere un poco hasta que la línea roja cambie a verde y obtenga una tercera IP en el Managed IPs columna.

Dé un nombre a su servidor Pi-Hole en el short name campo.

Cambie la IP de su servidor Pi-Hole en el Managed IPs columna a números más fáciles de recordar, por ejemplo el mío es 192.168.192.1 porque la red está configurada para 192.168.192.* dentro de IPv4 Auto-Assign caja. No olvide eliminar la antigua IP administrada.

Abra una página en la configuración de DNS de Pi-Hole: http: //pi.hole/admin/settings.php? tab = dns 175

Comprobar el Listen on all interfaces para permitir que los dispositivos de su red Zerotier utilicen su Pi-Hole y luego guardar:

¡Eso es todo, ahora ha configurado su servidor Pi-Hole con Zerotier!

Segunda parte: Configure su (s) dispositivo (s) para usar su Pi-Hole a través de su red Zerotier

Ventanas (7, 8, 8.1 y 10)

Configurar Zerotier

Instale la aplicación Zerotier: https://download.zerotier.com/dist/ZeroTier%20One.msi 43 (no desmarque la Start Zerotier al final de la instalación).

UN Zerotier One subirá la ventana, tienes que iniciar sesión con tu cuenta.

A continuación, se le dará la bienvenida para unirse a una red, solo tiene que unirse a su red:

Haga clic en done y luego acepte la nueva ventana de red azul a la derecha si está en Windows 8 / 8.1 / 10.

Cambiar los servidores DNS

No le explicaré en detalle cómo cambiar sus servidores DNS porque ya hay muchos tutoriales en Internet para guiarlo, pero aquí hay un buen tutorial para ayudarlo: https://www.lifewire.com/how-to-change-dns-servers-in-windows-2626242 54

En la configuración de la IP del servidor DNS, si seguiste el tutorial que vinculé, tienes que ingresar la IP administrada (Zerotier) de su servidor Pi-Hole (disponible en la página de Zerotier Central).
Si ha seguido la primera parte al pie de la letra, asegúrese de ingresar 192.168.192.1 y teniendo un resultado similar al mío:

Androide

Configurar Zerotier

Instale la aplicación Zerotier One desde Google Play Store: https://play.google.com/store/apps/details?id=com.zerotier.one 81

Ejecútelo y luego toque el + botón en la parte superior derecha de la aplicación:

Ingrese su ID de red y luego verifique el «Usar servidores DNS personalizados» caja:
20190428_215243

Ingrese la IP administrada (Zerotier) de su servidor Pi-Hole en el primer campo DNS IPv4 y luego toque el «Agregar red» botón:

 

Regrese a la página de Zerotier Central.

Verá un nuevo dispositivo que tiene una línea vertical roja, solo tienes que hacer lo mismo que la primera parte, haz clic en el cuadro de la columna Auth? para permitir que el dispositivo se una a la red.

Ahora está listo para iniciar la conexión en la aplicación Zerotier One en su dispositivo Android activando el control deslizante dentro del cuadro de red:

Linux (Ubuntu, Linux Mint, Fedora y más)

Configurar Zerotier

La instalación de Zerotier en Linux es muy similar a la primera parte. 

Nota para los usuarios de ArchLinux. Hay un paquete oficial para Zerotier: https://www.archlinux.org/packages/community/x86_64/zerotier-one/ 10

Cambiar los servidores DNS

La configuración de los servidores DNS en Linux depende en gran medida de la interfaz gráfica, pero aquí hay algunos tutoriales para las distribuciones populares de Linux:

En la configuración de la IP del servidor DNS ingrese la IP administrada (Zerotier) de su servidor Pi-Hole, si ha seguido la primera parte al pie de la letra, asegúrese de ingresar 192.168.192.1.

Mac OS

Configurar Zerotier

Personalmente, no tengo un dispositivo Apple, pero es posible instalar Zerotier en tu Mac instalando el .pkg disponible en la página de descarga de Zerotier: https://www.zerotier.com/download.shtml 22 Apple Macintosh).
Si necesita ayuda, aquí hay un buen tutorial que encontré en Internet: https://www.stratospherix.com/support/setupvpn_02a.php 26

Cambiar los servidores DNS

Aquí hay un tutorial para ayudarlo a cambiar los servidores DNS en su Mac: https://serverguy.com/kb/change-dns-server-settings-mac-os/ 26

En la configuración de la IP del servidor DNS ingrese la IP administrada (Zerotier) de su servidor Pi-Hole, si ha seguido la primera parte al pie de la letra, asegúrese de ingresar 192.168.192.1.

iOS (iPhone / iPad / iPod Touch)

Configurar Zerotier

Puede instalar Zerotier en su dispositivo iOS instalando la aplicación oficial de la App Store: https://itunes.apple.com/us/app/zerotier-one/id1084101492?mt=8 132
Si necesita ayuda, aquí hay un buen tutorial que encontré en Internet: https://www.stratospherix.com/support/setupvpn_03.php 93

Cambiar los servidores DNS

Aquí hay un tutorial para ayudarlo a cambiar los servidores DNS en su dispositivo basado en iOS: https://appleinsider.com/articles/18/04/22/how-to-change-the-dns-server-used-by-your-iphone-and-ipad 152

En la configuración de la IP del servidor DNS ingrese la IP administrada (Zerotier) de su servidor Pi-Hole, si ha seguido la primera parte al pie de la letra, asegúrese de ingresar 192.168.192.1.

 

 

👌 Instalar VPN WIREGUARD Raspberry PI como DOCKER y PI-HOLE

Vamos a instalar WireGuard como Docker para poder conectarnos por VPN desde fuera de nuestra Red.

Contenido del Docker Compose

version: "2.1"
services:
  wireguard:
    image: ghcr.io/linuxserver/wireguard
    container_name: wireguard
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
      - SERVERURL=wireguard.domain.com #optional
      - SERVERPORT=51820 #optional
      - PEERS=1 #optional
      - PEERDNS=auto #optional
      - INTERNAL_SUBNET=10.13.13.0 #optional
      - ALLOWEDIPS=0.0.0.0/0 #optional
    volumes:
      - /path/to/appdata/config:/config
      - /lib/modules:/lib/modules
    ports:
      - 51820:51820/udp
    sysctls:
      - net.ipv4.conf.all.src_valid_mark=1
    restart: unless-stopped

Fuente

Comandos que vamos a usar
nano docker-compose.yml
id admin
sudo docker-compose up -d
sudo docker ps
docker exec -it wireguard /app/show-peer 1

Sí quieres intalar Pi-Hole

Configurar VPN en Mikrotik básica con L2TP – IpSec

Buenos días, en este manual vamos a ver como configurar una VPN sencilla en MIkrotik. Está basado en el manual oficial de Mikrotik pero traduciéndolo al Español e intentado aclarar los pasos, así como corregir algún comando de versiones antiguas.

Este ejemplo demuestra cómo configurar fácilmente el servidor L2TP / IpSec en el enrutador Mikrotik para conexiones de clientes (funciona con Windows, Android y iPhones).

Todas estas opciones también se pueden hacer por la interfaz gráfica, por ejemplo, cuando pone /interface puedes ir a interface y luego al resto de opciones.

El primer paso es habilitar el servidor L2TP:

/interface l2tp-server server
set enabled=yes use-ipsec=required ipsec-secret=mySecret default-profile=default

required está configurado para asegurarse de que solo se aceptarán conexiones L2TP encapsuladas con IPSec.

Ahora, lo que hace es habilitar el servidor L2TP y crear ipsec peer dinámico con un secreto especificado

/ip ipsec peer print

Nota: Se debe tener cuidado si existe una configuración de pares ipsec estática.

El siguiente paso es crear un grupo de VPN y agregar algunos usuarios.

/ip pool add name=vpn-pool range=192.168.99.2-192.168.99.100 
/ppp profile
set default local-address=192.168.99.1 remote-address=vpn-pool 
/ppp secret
add name=user1 password=123
add name=user2 password=234

Si hay políticas de firewall estrictas, no olvide agregar reglas que acepten l2tp e ipsec.

/ip firewall filter
add chain=input protocol=udp port=1701,500,4500
add chain=input protocol=ipsec-esp

Ahora el enrutador está listo para aceptar conexiones de cliente L2TP / IpSec.

Aquí podéis ver una captura de los comandos:

Aquí nos tenemos que ir al Firewall y subir estas dos reglas que hemos creado y están en la parte de abajo, por encima del primer Drop.

En el Log, podemos comprobar que sucede, aquí en rojo se ve error, pero luego abajo ya conecta.

🔐 Cómo instalar OPENVPN en OpenMediaVault 5 DOCKER

¿Qué es OpenVPN?

OpenVPN es una herramienta de conectividad basada en software libreSSL (Secure Sockets Layer), VPN Virtual Private Network (red virtual privada). OpenVPN ofrece conectividad punto-a-punto con validación jerárquica de usuarios y host conectados remotamente. Resulta una muy buena opción en tecnologías Wi-Fi (redes inalámbricas IEEE 802.11) y soporta una amplia configuración, entre ellas balanceo de cargas. Está publicado bajo la licencia GPL, de software libre.

Guía de instalación de OpenMediaVault 5

   Equipamiento requerido :

 Raspberry Pi Todos los modelos

 Tarjeta Micro SD «Mínimo 8 GB»
 Fuente de alimentación
 Cable Ethernet para conexión LAN
 Disco duro externo o unidad USB

     Opcional :

 Raspberry Pi carcasa

 Teclado y Ratón  

Crear volumen OVPN_DATA

OVPN_DATA="ovpn-data-openvpn"
docker volume create --name $OVPN_DATA

Configurar DNS dinámico

Después de que el DNS dinámico se haya creado correctamente, podemos reemplazar el VPN.SERVERNAME.COM con nuestra dirección y ejecutar el contenedor desde el comando siguiente:

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm darathor/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM

Generar certificado de CA

Introduciendo el siguiente comando nos pedirá meter una contraseña dos veces.

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it darathor/openvpn ovpn_initpki

 

 

Inicie el proceso del servidor OpenVPN

Tenemos primero que abrir el puerto en nuestro Router, podemos usar este vídeo como ejemplo pero poniendo el puerto 1194 interno y externo, y protocolo UDP. En el primer vídeo está también.

docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN darathor/openvpn

Metemos este comando de arriba con le puerto.

Generar un certificado de cliente sin una frase de contraseña

Con esto creamos un usuario para el cliente sin contraseña. Se puede cambiar CLIENTNAME por el nombre que queráis.

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm -it darathor/openvpn easyrsa build-client-full CLIENTNAME nopass

Cree y descargue la configuración del cliente con certificados incrustados

Aquí pondremos el mismo nombre que arriba.

docker run -v $OVPN_DATA:/etc/openvpn --log-driver=none --rm darathor/openvpn ovpn_getclient CLIENTNAME > CLIENTNAME.ovpn

 

Descargar archivo de cliente

Para descargarlo, la opción más fácil es descargar WinSCP u otro programa FTP y conectarnos a nuestra IP como hacemos con Putty. 

Podemos pasarlo al móvil con Google Drive por ejemplo.

Configurar el cliente OpenVPN

Nos bajamos OpenVPN Client e importamos el archivo.


Iniciar contenedor docker automaticamente al encender

Vamos a crear un archivo con el siguiente contenido:

[Unit]
Description=NOMBRE_DOCKER  
Requires=docker.service  
After=docker.service

[Service]
Restart=always  
ExecStart=/usr/bin/docker start -a NOMBRE_DOCKER
ExecStop=/usr/bin/docker stop -t 2 NOMBRE_DOCKER

[Install]
WantedBy=default.target

Podemos crear el archivo conectando por Putty o por WinSCP.

Crear archivo:

touch docker-NOMBRE_DOCKER.service

Lo abrimos con nano y pegamos el contenido de arriba ya personalizado:

nano docker-NOMBRE_DOCKER.service

Copiamos el archivo a la carpeta especial de systemd:

sudo cp docker-NOMBRE_DOCKER.service /etc/systemd/system/

Lo habilitamos:

systemctl enable docker-NOMBRE_DOCKER.service

Al reiniciar nuestro SO debería de levantarse automáticamente nuestro contenedor.

 

Fuentes:

  • https://pcmac.biz/openvpn-on-openmediavault-5-raspberry-pi-4/
  • https://www.ingenieroperales.com/iniciar-un-contenedor-de-docker-automaticamente-al-reiniciar/