Portada! Tutorial: DNS para bloquear ADS en tu red + VPN para compartir Netflix con tus amigos en distinta dirección

D

Deleted member 1043761

Guest
en el contexto de esta guia , claro que tiene que ver, mucha gente no podria realizarla y no sabria porque.
Creo que el primer post que puse fue de que si tenias CGNAT había que olvidarse del tema, pero demas que si alguien quiere colaborar con una guia de como usar wireguard con VPS/tunel/proxy/cualquier otra cosa seria interesante. Personalmente si hay que gastar plata para algo que raramente voy a usar no lo haría.

No me mal entiendan, yo tengo wireguard instalado en el router y lo uso cuando me conecto con el fono, o note, en redes wifi que no son la de mi casa, o para no tener ads en el teléfono, pero sinceramente mi caso de uso es super particular y realmente lo uso muy poco.
 

Tucson

Moin Moin!
Se incorporó
24 Agosto 2005
Mensajes
3.104
ay, me dieron ganas de hacer el mismo tutorial con AdGuard + Home Assistant :inlove

Esto lo hiciste con el equipo que compraste hace poco no?
 

Br0wl!

Capo
Se incorporó
19 Agosto 2019
Mensajes
289
ay, me dieron ganas de hacer el mismo tutorial con AdGuard + Home Assistant :inlove

Esto lo hiciste con el equipo que compraste hace poco no?
efectivamente amigo Tucson, esto nace del post del dell wyze donde comentaste y me preguntaste como monté el servidor plex en esa maquina.
 

zatanax

Capo
Se incorporó
1 Junio 2009
Mensajes
218
Se podra porne en un low cost vps , con un dns a un subdominio con cloudflare ,
o con un docker en un vps y despues nginx con un subdominio , me intereso el como aplicarlo
 

xSquall

Capo
Se incorporó
27 Mayo 2010
Mensajes
113
En lo personal prefiero adguard sobre pihole, pero también ocupo wireguard para conectarme cuando estoy afuera, ya que tengo mucho servicios en la red local (como streaming, backup de fotos, documentos, etc).
 

Fijxu

Capo
Se incorporó
19 Enero 2020
Mensajes
147
Se podra porne en un low cost vps , con un dns a un subdominio con cloudflare ,
o con un docker en un vps y despues nginx con un subdominio , me intereso el como aplicarlo
>Se podra porne en un low cost vps
Probablemente si.
Recuerda desactivar el proxy de cloudflare
>con un docker en un vps y despues nginx con un subdominio
Tambien
 

Ortegauss

Capo
Se incorporó
6 Mayo 2020
Mensajes
201
Yo hace poco compré un NAS synology, estoy con pi-hole y Wire Guard. un manjar, gracias por esta guia que servirá a otros. En el mediano plazo voy por una Raspberry para migrar estos servicios y dejar el NAS con menos carga de trabajo.
 

SANAFABICH

Academico de la Lengua
Se incorporó
5 Noviembre 2006
Mensajes
1.773
Para navegadores prefiero usar ublock, porque no solo bloquea la publicidad sino que hace el arreglo estetico tambien, no te deja el espacio en blanco.
 

Cybertron

Miembro Regular
Se incorporó
14 Septiembre 2020
Mensajes
37
Excelente tutorial, pero esta a un paso de ser perfecto, si tocara también el tema del Bloqueo ADS incrustados en host de aplicaciones android como YouTube / Reddit / Twitch / Spotify / Pandora / Facebook /Pluto , etc.. ; ya que lamentablemente todos estos métodos no son efectivos para esto.
 

monaita

Coolfacecompany
Se incorporó
29 Noviembre 2007
Mensajes
2.750
seria ideal que lo hiciera en los sistemas android, como smart tv y cajitas reproductoras de media.
 

PabloF

Miembro Activo
Se incorporó
11 Octubre 2022
Mensajes
26
Ver adjunto 35926

Había agregado este tutorial a mi post del dell wyze, pero me parece que puede ser de interes para varios asi que le vamos a dar un poco de visibilidad.

Acabo de terminar de configurar Pi-hole, basicamente genera un dns en el servidor que permite bloquear anuncios en las paginas.
En principio probé agregando el dns de mi servidor (posterior a instalación) en cada host conectado apuntando a la ip del server.
Luego me aventuré en tratar de utilizar el dns a traves de mi router (directo) y que se filtre la publicidad de todo el trafico en mi router apuntando el dns al servidor.

Adicional a esto instalé Wg-easy (Wireguard) que es una vpn que nos permitirá poder conectarnos a nuestra red interna a traves de vpn en cualquier dispositivo. Esto sirve bastante, por ejemplo, si quiere compartir netflix con alguien que no está en su red y que la aplicación no les diga que esta en otro domicilio (yo lo hago para compartirle netflix a mi mamá por ejemplo).

Para ello, hice esto

En Docker instalé Pi-hole y Wg-Easy

1711982031538-png.35905


Apuntar dns a tu ip:
Para ello ir a Duck DNS (Puede utilizar otro), me registré con mi cuenta google y eligen un nombre para su DNS
1711981858187-png.35904


Hacen clic en "add domain" y listo (idealmente no cerrar la pagina dado que utilizaran estos datos en la configuración de docker-compose.

Configuración Docker-Compose con Pi-hole y Wireguard:
para ello ir a la web de configuración/instalación de Pi-hole ( https://github.com/wg-easy/wg-easy/wiki/Using-WireGuard-Easy-with-Pi-Hole ) y copiar este bloque de codigo:

YAML:
version: "3.8" ### [COLOR=rgb(184, 49, 47)]La Versión ya es un opcional en el docker-compose en versiones mas nuevas (igual yo lo sigo utilizando)[/COLOR]

services:
  wg-easy:
    environment:
      # ⚠️ Change the server's hostname (clients will connect to):
      - WG_HOST=myhost.com ####  ***AQUI DEBEN INGRESAR SU DIRECCIÓN DE DUCKDNS****

      # ⚠️ Change the Web UI Password:
      - PASSWORD=foobar123  ### *** GENERAR UN PASSWORD PARA LA WEBUI DE WG-EASY (EL QUE UDS QUIERAN)

      # 💡 This is the Pi-Hole Container's IP Address
      - WG_DEFAULT_DNS=10.8.1.3
      - WG_DEFAULT_ADDRESS=10.8.0.x
    image: ghcr.io/wg-easy/wg-easy
    container_name: wg-easy
    volumes:
      - ~/.wg-easy:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1
    networks:
      wg-easy:
        ipv4_address: 10.8.1.2

  pihole:
    image: pihole/pihole
    container_name: pihole
    environment:
      # ⚠️ Change the Web UI Password:
      - WEBPASSWORD=foobar123 ### *** GENERAR UN PASSWORD PARA LA WEBUI DE PI-HOLE (EL QUE UDS QUIERAN)
    volumes:
      - '~/.pihole/etc-pihole:/etc/pihole'
      - './.pihole/etc-dnsmasq.d:/etc/dnsmasq.d'
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "5353:80/tcp"
    restart: unless-stopped
    networks:
      wg-easy:
        ipv4_address: 10.8.1.3

networks:
  wg-easy:
    ipam:
      config:
        - subnet: 10.8.1.0/24

Importante, solo deben modificar los campos que les dejé comentados.
Estos 3 campos serían el DNS que registraron en DuckDNS y ambos password tanto para Wireguard como para Pi-hole.

Otro punto importante, si ya tienen datos en Docker-compose deben asegurarse de que por ejemplo los networks queden dentro de los otros networks que tengan ya creados. Siempre es importante en estos archivos tener alineadas las lineas o les arrojará errores de levantamiento al intentar levantar el docker.

pueden utilizar https://www.yamllint.com/ para validar sus archivos de configuración YAML.

ahora debemos levantar el docker compose, para ello utilizar el comando docker compose up -d
pueden validar con el comando docker ps para validar que esten levantados correctamente los procesos.

Proximo paso abrir puerto UDP 51820 en la dirección ip de tu servidor para wireguard esto sirvirá para la conexión a vpn en tu router (aqui no explicaré mucho dado que cada router es diferente).


Les dejo un ejemplo de como abrir el puerto en el router de movistar donde
Dirección ip: sería la dirección IP de tu Servidor

1711983393617-png.35907


Ahora ya deberiamos poder acceder a nuestro Pi-hole (Si es que todo salió bien).
Para ello abrimos nuestro navegador
Ingresamos a http://[Dirección Ip de nuestro servidor]:5353/admin
nuestro password es el que configuramos en nuestro docker compose

1711983609209-png.35908


La pantalla de bienvenida nos mostrará un dashboard de bloqueos, actualmente funcionando desde las 23hrs aprox tengo una tasa de bloqueo de un 14.5% del tráfico de mi red

1711984234380-png.35912


Una vez ingresados tenemos 2 alternativas.

1. Agregar nuestro DNS a cada uno de nuestros hosts conectados, configurando el dns de forma manual (agregando la ip del servidor)

Por ejemplo en MacOS, vamos a CONFIGURACION - RED - (SELECCIONAMOS NUESTRA INTERFAZ UTILIZADA WIFI O RED) - DETALLES - DNS
y en el boton + podemos agregar nuestro dns (ip del servidor).

Ver adjunto 35921

una vez agregado, reiniciamos la conexión (pueden apagar y encender el wifi y con eso bastará).

Para probar pueden utilizar la web de elmundo.es


Sin Pi-hole:
1711983912192-png.35910


Con Pi-Hole:
1711984048033-png.35911


2. La otra alternativa es agregar el dns a tu Router, de esta manera podrás filtrar todo el trafico de ads en tu red sin necesidad de configurar el dns de forma manual en cada host.
Para esto, les comento que yo tengo Movistar, pero utilizo mi router Huawei AX3 QuadCore para la conexión de mi ISP, es decir, tengo configurada mi ppoe en mi router asi que los pasos que mostraré son realizados en esta interfaz (Router Huawei AX3 QC).

- Vamos a la configuración del router
- Nos logeamos
- "Conectarse a internet"
1711984567273-png.35913


una vez guardado, debemos configurar IPV6 y aqui existe un problema, dado que el router por defecto no me permitía configurar DNS para ipv6 (Viene un combobox estatico bloqueado en automatico).

Por eso tuve que meter mano ahi.

Voy a "MÁS FUNCIONES"
"AJUSTES DE RED"
"IPv6"

Como pueden notar, mi router por defecto el combobox de "Acceso a dns" esta bloqueado en automático.
Para solucionar esto presioné F12 para abrir el devtools (en google chrome)

1711985084538-png.35914


Accedemos a

"SOURCES"
"TU DIRECCION IP"
"VIEWS"
"IPV6"
SELECCIONAN EL ARCHIVO DENTRO DE LA CARPETA Y PRESIONAN BUSCAR EN EL CODIGO ( EN MI CASO CON CMD+F)

buscamos los siguientes valores:

toIpv6WanPostdata.X_IPv6DNSOverrideAllowed
toIpv6WanPostdata.X_IPv6DNSServerOne
deben configurarlos de la siguiente manera:
toIpv6WanPostdata.X_IPv6DNSOverrideAllowed=true;

toIpv6WanPostdata.X_IPv6DNSServerOne="IPV6 DE TU SERVIDOR" (AQUI DEBEN INGRESAR SU DIRECCION IPV6 DEL SERVIDOR, SI NO LA SABEN PUEDEN CONSULTARLA EN LA TERMINAL DE LINUX CON EL COMANDO ifconfig -a y buscan su adaptador de red utilizado. por lo general, deberia ser una dirección que empieza con fe80::5xxx:xxxx:xxxx)

1711985522932-png.35915

EN MI CASO ES LA SEGUNDA (LA QUE EMPIEZA POR fe80::5648:10fxxx)

una vez modificados los valores le damos a cmd+s(MacOS) o control + s (Windows) y aparecerá un triangulo en la pestaña del archivo (eso es normal)

1711986383713-png.35918


Cerramos y damos guardar en la interfaz web del router (pestaña ipv6 que nos encontrabamos).

Importante destacar, que cada vez que entremos a la configuración y modifiquemos algo tendremos que realizar este paso dado que el archivo se sobreescribirá cada vez que ingresemos a la config del router.

Ahora podremos desactivar el dns manual en cada host, y podremos navegar normalmente desde cualquiera de nuestros dispositivos conectados a la red utilizando el dns.

Otro punto importante en el proceso es generar cron para las ips dinamicas que nos entrega nuestro proveedor de internet. Esto dado que nuestro DNS (Duckdns en mi caso) quedó enlazado a mi ip al momento de solicitar el dns.

Para ello podemos hacer lo siguiente:

Vamos a la pagina de DuckDNS
Nos logeamos
una vez logeados vamos en el menu superior a install
Seleccionamos nuestro sistema operativo (en mi caso linux cron)
Abajo en "First Step" seleccionamos nuestro dominio previamente creado e insertamos los registros de consola que aparecen automaticamente para nuestro dominio. Esto finalmente lo que hará es que ejecutará a traves de cron cada 5 minutos una consulta a la IP publica para actualizarla cuando sea necesario.
1711988183231-png.35919



Para Finalizar, explicaré como funciona Wireguard.

Wireguard es una VPN que nos permitirá, por ejemplo, compartir netflix con nuestra familia sin necesidad de comprar direcciones dado que a traves de esta VPN netflix identificará las tvs como internas de la Red.

Para ello vamos a nuestro navegador favorito e ingresamos la "Ip de nuestro servidor":51821 (dado que en el primeros pasos ya instalamos Wireguard a traves de Wg-Easy

Ingresamos la contraseña que creamos en el archivo docker-compose

Una vez Logeados veremos una pantalla como esta:


1711988465135-png.35920


Explico cada uno de los puntos marcados:
1. El codigo QR permite configurar la VPN utilizando el codigo QR de nuestro telefono por ejemplo en la aplicación Wireguard (PlayStore, Appstore)
2. Archivo .conf, este archivo es importable por la aplicación de wireguard. Este es el que yo utilizo para configurar la vpn en TV Box, televisores o Computadores.
3. Permite agregar nuevos dispositivos a la conexión, recuerda que es una por cada dispositivo.

Para configurarlo en la casa de tu mamá por ejemplo, vas al tv box, descargas Wireguard en su dispositivo, abres la aplicación, importas el archivo .conf que creaste en la webui y listo, ahora te puedes conectar a la vpn en el dispositivo de tu madre y podrá conectarse a Netflix como que estuviera en tu casa. Cabe destacar que esto si afecta de cierta manera la velocidad de conexión del equipo remoto conectado y necesitas conectar o desconectar cada vez que quieras entrar o salir de la vpn.
Antes tenia Pihole, se pegaba mucho por las peticiones de la casa ( Somos 2 ) pero con los multiples equipo la raspberry no aguanto. me cambie a adguard y esta genial ahora, no se cae con nada.

parece estar mas optimizada para la raspberry que pihole.

Excelente guia, te recomiendo revisar zerotier y tailscale.
1754874063929.png
 
Subir