Wireguard
Nachdem Pi-hole und Unbound im Heimnetz sauber liefen, kam ziemlich schnell die nächste Frage: Warum nur zu Hause blocken? Unterwegs auf dem Handy, im mobilen Netz oder im Hotel-WLAN ist Werbung und Tracking ja sofort wieder da.
Die Lösung war naheliegend: WireGuard. Ein schlankes, modernes VPN, das es mir ermöglicht, mein Smartphone unterwegs direkt ins Heimnetz zu holen – inklusive Pi-hole.
In diesem Artikel zeige ich dir:
- Warum ich WireGuard statt klassischem VPN nutze
- Wie das Zusammenspiel mit Pi-hole funktioniert
- Warum sich meine öffentliche IP trotzdem nicht ändert
- Wie ich WireGuard auf dem Server betreibe
- Wie das Smartphone konfiguriert ist
- Wie man erkennt, dass der Traffic wirklich über Pi-hole läuft
Warum VPN überhaupt?
Unterwegs sieht das Internet oft deutlich unruhiger aus als zu Hause:
- Werbung in Apps und Webseiten
- Tracking-Domains im Hintergrund
- Unsichere WLANs (Hotel, Bahn, Café)
- DNS-Anfragen über fremde Resolver
Ein VPN sorgt dafür, dass:
- der Traffic verschlüsselt nach Hause geht
- DNS-Anfragen über den eigenen Pi-hole laufen
- Werbung & Tracking auch mobil geblockt werden
Besonders relevant ist das bei Hintergrund-Traffic von Apps, der ohne VPN oft unbemerkt läuft.
Warum WireGuard?
Ich habe mich bewusst für WireGuard entschieden und nicht für OpenVPN oder IPsec:
- Sehr schlanker Code (leicht auditierbar)
- Hohe Performance – auch auf Mobilgeräten
- Kein komplexes Zertifikatsmanagement
- Native Clients für iOS, Android, Windows, Linux
- Stabil bei Netzwechseln (LTE → WLAN)
Mehr Details zur Technik gibt es direkt beim Projekt selbst:
https://www.wireguard.com/
Grundidee des Setups
Das Setup ist bewusst als Split-Tunnel umgesetzt:
Smartphone → WireGuard → Heimserver → Pi-hole → Unbound → Internet
Dabei gilt:
- DNS-Anfragen laufen über Pi-hole
- Zugriffe auf das Heimnetz laufen über VPN
- Normaler Internet-Traffic bleibt direkt über LTE/WLAN
So bleibt die Verbindung schnell – während Werbung und Tracking trotzdem geblockt werden.
WireGuard auf dem Server
WireGuard läuft direkt auf meiner Ubuntu-VM unter Proxmox. Die zentrale Konfiguration liegt unter:
/etc/wireguard/wg0.conf
Server-Konfiguration:
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i %i -j ACCEPT; \
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; \
iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE
Der Port 51820/UDP ist an der Firewall freigegeben.
Client-Konfiguration (Smartphone)
Das Smartphone erhält eine eigene VPN-IP und nutzt Pi-hole als DNS:
- VPN-IP:
10.10.0.3 - DNS-Server:
192.168.178.5 - Allowed IPs:
10.10.0.0/24, 192.168.178.0/24
Wichtig: kein Full-Tunnel (0.0.0.0/0). Dadurch:
- bleibt die öffentliche IP gleich
- läuft DNS trotzdem über Pi-hole
- ist der Akkuverbrauch minimal
Warum sich meine IP nicht ändert
Ein schneller Test über Seiten wie:
zeigt: Die öffentliche IP bleibt die des Mobilfunkanbieters.
Das ist korrekt und gewollt – denn nur DNS und internes Routing laufen über das VPN.
Wie erkenne ich, dass der Traffic über Pi-hole läuft?
Es gibt mehrere eindeutige Hinweise:
- Im Pi-hole Query Log erscheinen Anfragen vom VPN-Client
- Die Client-IP liegt im Bereich
10.10.0.x - Blockierte Domains tauchen auch bei mobiler Nutzung auf
Zusätzlich zeigt der Server mit:
wg show
aktive Handshakes und Traffic-Zähler für das Smartphone.
Fazit: Pi-hole auch unterwegs sinnvoll nutzen
Mit WireGuard nutze ich Pi-hole nun nicht nur im Heimnetz, sondern auch unterwegs:
- Werbe- & Tracking-Blockierung auf dem Smartphone
- Verschlüsselte Verbindung ins Heimnetz
- Keine spürbaren Performance-Verluste
- Volle Kontrolle über DNS-Traffic
In Kombination mit Pi-hole und Unbound ist das eine saubere, performante und alltagstaugliche Lösung – ganz ohne die Nachteile klassischer Full-Tunnel-VPNs.