Files
michaelschiemer/docs/deployment/WIREGUARD-WINDOWS-ROUTING-FINAL-ANALYSIS.md

110 lines
3.6 KiB
Markdown

# WireGuard Windows Routing - Finale Analyse
## Problem best?tigt
Trotz aller Ma?nahmen kommt Traffic von Windows **NICHT ?ber VPN**:
- Traefik sieht: `ClientHost: 89.246.96.244` (?ffentliche IP) ?
- Erwartet: `ClientHost: 10.8.0.7` (VPN-IP) ?
## Was funktioniert
? **WireGuard verbunden**: Aktive Verbindung mit latest handshake
? **Route vorhanden**: `10.8.0.0/24` Route in Windows Route-Tabelle
? **Ping funktioniert**: `ping 10.8.0.1` erfolgreich
? **AllowedIPs korrekt**: `10.8.0.0/24` in Client-Config
? **VPN-Server funktioniert**: Test-Container erfolgreich verbunden
## Was nicht funktioniert
? **HTTP/HTTPS-Traffic kommt NICHT ?ber VPN**: Windows sendet Traffic ?ber Standard-Interface
## Ursache
**Windows-spezifisches Routing-Problem**: Windows priorisiert die Standard-Route ?ber das WireGuard-Interface f?r HTTP/HTTPS-Traffic, obwohl:
- Die Route vorhanden ist
- Ping funktioniert
- WireGuard verbunden ist
## M?gliche L?sungen
### Option 1: Windows Interface-Metrik anpassen
```powershell
# Als Administrator
# WireGuard Interface-Index finden
Get-NetAdapter | Where-Object {$_.Name -like "*grafana-test*" -or $_.Name -like "*WireGuard*"} | Select-Object Name, InterfaceIndex
# Interface-Metrik auf 1 setzen (h?chste Priorit?t)
Set-NetIPInterface -InterfaceIndex 18 -InterfaceMetric 1
# Pr?fen ob es funktioniert hat
Get-NetIPInterface -InterfaceIndex 18 | Select-Object InterfaceAlias, InterfaceMetric
```
### Option 2: Route explizit mit Gateway setzen
```powershell
# Als Administrator
# Entferne alte Route
route delete 10.8.0.0 MASK 255.255.255.0
# Setze Route explizit mit Gateway 10.8.0.1 (nicht "Auf Verbindung")
route add 10.8.0.0 MASK 255.255.255.0 10.8.0.1 METRIC 1 IF 18
# Pr?fe ob es funktioniert hat
route print | findstr "10.8"
```
### Option 3: Windows Firewall pr?fen
Windows Firewall k?nnte VPN-Traffic blockieren:
```powershell
# Als Administrator
# Pr?fe Firewall-Regeln
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*WireGuard*"}
# Falls keine Regeln vorhanden: Erlaube WireGuard-Traffic
New-NetFirewallRule -DisplayName "WireGuard VPN" -Direction Outbound -LocalPort Any -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "WireGuard VPN" -Direction Outbound -LocalPort Any -Protocol UDP -Action Allow
```
### Option 4: WireGuard auf Windows neu installieren
1. **WireGuard deinstallieren**
2. **Neu installieren**: https://www.wireguard.com/install/
3. **Config neu importieren**
4. **Verbinden und testen**
### Option 5: Alternativer VPN-Client (tempor?r)
Falls WireGuard auf Windows weiterhin Probleme macht, k?nntest du tempor?r einen anderen VPN-Client verwenden, um zu pr?fen, ob das Problem Windows-spezifisch ist.
## Empfehlung
**Option 1 (Interface-Metrik)** ist am einfachsten und sollte zuerst probiert werden.
**Option 2 (Route mit Gateway)** ist robuster, k?nnte aber zu Problemen f?hren, falls das Gateway nicht korrekt ist.
**Option 3 (Firewall)** sollte auch gepr?ft werden, falls die anderen Optionen nicht helfen.
## Testen
Nach jeder ?nderung:
1. **Pr?fe Route**: `route print | findstr "10.8"`
2. **Teste Ping**: `ping 10.8.0.1`
3. **Teste Grafana**: `https://grafana.michaelschiemer.de`
4. **Pr?fe Logs**: Ich pr?fe dann die Traefik-Logs, ob `ClientHost: 10.8.0.7` erscheint
## N?chste Schritte
Wenn eine der Optionen funktioniert:
1. ? Traffic kommt ?ber VPN (`ClientHost: 10.8.0.7`)
2. ? Tempor?re IP-Erlaubnis entfernen (`89.246.96.244`)
3. ? Grafana ist nur noch ?ber VPN erreichbar
## Dokumentation
Alle ?nderungen sollten dokumentiert werden, damit andere Windows-Clients das gleiche Problem l?sen k?nnen.