Hallo, kürzlich habt ihr mir schonmal bei der Inbetriebnahme geholfen. Ich habe nun einige Veränderungen vorgenommen und komme einfach nicht mehr weiter.
Ich habe einen WireGuard VPN-Server auf einem Raspberry Pi eingerichtet, der in meinem Heimnetzwerk hinter einer Fritzbox läuft. Mein Ziel ist es, den gesamten Traffic meiner mobilen Geräte über den VPN-Tunnel zu leiten und dabei Pi-hole zur DNS-basierten Werbung- und Tracker-Blockierung zu verwenden.
Setup:
Nach dem Starten des WireGuard-Clients besteht zwar eine Verbindung (der Tunnel wird als aktiv angezeigt), aber es ist kein Internetzugriff möglich. Weder Webseiten noch Apps können eine Verbindung herstellen.
Bisherige Fehlersuche:
Ich bin für jede Hilfe und jeden Hinweis dankbar.
Ich habe einen WireGuard VPN-Server auf einem Raspberry Pi eingerichtet, der in meinem Heimnetzwerk hinter einer Fritzbox läuft. Mein Ziel ist es, den gesamten Traffic meiner mobilen Geräte über den VPN-Tunnel zu leiten und dabei Pi-hole zur DNS-basierten Werbung- und Tracker-Blockierung zu verwenden.
Setup:
- Server: Raspberry Pi mit Pi-hole und WireGuard.
- Router: Fritzbox mit aktivierter Firewall und DoT (DNS over TLS).
- Client: Smartphone (Android/iOS).
- WireGuard: Aktuelle Versionen auf Server und Client.
- WireGuard Server (/etc/wireguard/wg0.conf):
INI:[Interface] Address = 10.8.0.1/24, fd01::1/64 ListenPort = 51820 PrivateKey = <Server Private Key> PostUp = iptables -A FORWARD -i %i -o eth0 -j ACCEPT; iptables -A FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1380; ip6tables -A FORWARD -i %i -o eth0 -j ACCEPT; ip6tables -A FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -o eth0 -j ACCEPT; iptables -D FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; iptables -D FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1380; ip6tables -D FORWARD -i %i -o eth0 -j ACCEPT; ip6tables -D FORWARD -o %i -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE SaveConfig = true [Peer] PublicKey = <Client Public Key> AllowedIPs = 10.8.0.2/32, fd01::2/128
- WireGuard Client:
INI:[Interface] PrivateKey = <Client Private Key> Address = 10.8.0.2/32, fd01::2/128 DNS = 192.168.178.19, fd00::5ae5:15b3:47b9:7cd5 # Pi-hole IP-Adressen MTU = 1400 [Peer] PublicKey = <Server Public Key> AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = <Fritznetadresse>:51820 PersistentKeepalive = 25
- Fritzbox:
- Lokaler DNS-Server (IPv4): 192.168.178.19 (Pi-hole)
- DNSv6-Server: fd00::5ae5:15b3:47b9:7cd5 (Pi-hole)
- Upstream-DNS-Server: AdGuard und AdminForge (mit aktivierter DoT-Verschlüsselung).
- Pi-hole:
- Upstream-DNS-Server: Fritzbox (192.168.178.1 und fd00::eadf:70ff:feca:5880).
- "Allow only local requests": Aktiviert
- "Never forward non-FQDN A and AAAA queries": Deaktiviert
- "Conditional Forwarding": Deaktiviert
Nach dem Starten des WireGuard-Clients besteht zwar eine Verbindung (der Tunnel wird als aktiv angezeigt), aber es ist kein Internetzugriff möglich. Weder Webseiten noch Apps können eine Verbindung herstellen.
Bisherige Fehlersuche:
- Grundlegende WireGuard-Verbindung wurde durch Pings und direkten Zugriff auf IP-Adressen getestet (funktioniert).
- Firewall der Fritzbox wurde überprüft (Portfreigabe für WireGuard ist eingerichtet).
- DynDNS-Konfiguration wurde überprüft.
- Verschiedene Konfigurationen der Pi-hole Upstream-DNS-Server wurden getestet (direkt mit öffentlichen DNS-Servern, mit der Fritzbox als Upstream).
- MTU/MSS wurde angepasst.
- tcpdump auf dem Server wurde durchgeführt.
- Wenn im Client temorär Google-DNS-Server hinterlegt werden funktioniert der Internetzugriff ohne Probleme
- Die WireGuard-Verbindung scheint zu bestehen, aber es gibt keinen Internetzugriff.
- Die direkte Verbindung über IP-Adressen funktioniert (glaube ich, denn z. B. bei der http://1.1.1.1 wird mir angezeigt, dass es eine unsichere Webseite wäre
- DNS funktioniert nicht.
- Hat jemand ähnliche Probleme mit dieser Konfiguration gehabt und eine Lösung gefunden?
- Gibt es spezifische Einstellungen in der Fritzbox, die beachtet werden müssen?
- Gibt es weitere Möglichkeiten, das Routing oder die Firewall-Regeln auf dem Raspberry Pi zu überprüfen?
- ip a Ausgabe vom Raspberry Pi:
Bash:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.178.19/24 brd 192.168.178.255 scope global dynamic noprefixroute eth0
valid_lft 862671sec preferred_lft 862671sec
inet6 fd00::5ae5:15b3:47b9:7cd5/64 scope global dynamic noprefixroute
valid_lft 6832sec preferred_lft 3232sec
inet6 2003:xxxx:xxxx:xxxx::/64 scope global dynamic noprefixroute
valid_lft 6832sec preferred_lft 1412sec
inet6 fe80::195a:1ed9:2ded:3b1b/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet 10.8.0.1/24 scope global wg0
valid_lft forever preferred_lft forever
inet6 fd01::1/64 scope global
valid_lft forever preferred_lft forever
- tcpdump-Ausgaben können auf Anfrage bereitgestellt werden.
Ich bin für jede Hilfe und jeden Hinweis dankbar.