# 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.
