Es gibt ja neben stationären LAN Ad Blockern wie pihole und AdGuard (oder freien DNS Servern wie http://dnsforge.de mehrere mobile Lösungen - die alle darauf basieren ein VPN aufzubauen und dort eigene DNS Server zu verwenden.
Digital souverän hätte ich das aber gerne als "eigenes" VPN mit "eigenem" pihole und zwar möglichst einfach, maintenance free und sicher.
Daher folgende Lösung: Oracle Cloud VM aus dem "always free" Tier (4 x arm64 CPU, 24 GB Hauptspeicher, Server-Standort Frankfurt). Tailscale mit "magic-DNS" Feature als one-shot VPN Lösung und pihole - alles via docker-compose deployed:
---
version: "2.1"
services:
tailscaled:
container_name: tailscaled
cap_add:
- NET_ADMIN
- sys_module
volumes:
- "/var/lib:/var/lib"
- "/dev/net/tun:/dev/net/tun"
network_mode: "host"
image: tailscale/tailscale
command:
- tailscaled
privileged: true
restart: unless-stopped
pihole:
container_name: pihole
depends_on:
- unbound
image: pihole/pihole:latest
ports:
- "5380:80/tcp"
- "53:53/tcp"
- "53:53/udp"
networks:
default:
ipv4_address: 172.28.0.3
aliases:
- pihole
environment:
TZ: "Europe/Berlin"
PIHOLE_DNS: "172.28.0.2;172.28.0.2"
WEBPASSWORD: '***'
DNSMASQ_LISTENING: 'all'
volumes:
- "pihole:/etc/pihole"
- "dnsmasq:/etc/dnsmasq.d"
cap_add:
- NET_ADMIN
- SYS_NICE
- IPC_LOCK
restart: always
unbound:
image: klutchell/unbound
restart: always
networks:
default:
ipv4_address: 172.28.0.2
volumes:
pihole:
dnsmasq:
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/24
gateway: 172.28.0.1
Jetzt bei tailscale als DNS Server für das VPN die tailscale IP der cloud VM eingeben und mobile Clients danach einfach via tailscale verbinden. Über Port 5380 kommt man innerhalb des VPNs jederzeit an die Admin Oberfläche des pihole. Simply works :)