oracle cloud free tier (FRA) + tailscale + magic DNS + pihole in docker-compose

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.2volumes:  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 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert