chore: update VPN routing configuration and add Grafana VPN documentation
This commit is contained in:
176
docs/deployment/WIREGUARD-WINDOWS-ROUTE-GATEWAY-FIX.md
Normal file
176
docs/deployment/WIREGUARD-WINDOWS-ROUTE-GATEWAY-FIX.md
Normal file
@@ -0,0 +1,176 @@
|
||||
# WireGuard Windows - Route explizit mit Gateway setzen
|
||||
|
||||
## Problem best?tigt
|
||||
|
||||
Trotz Firewall-Regeln kommt Traffic **NICHT ?ber VPN**:
|
||||
- Traefik sieht: `ClientHost: 89.246.96.244` (?ffentliche IP) ?
|
||||
- Erwartet: `ClientHost: 10.8.0.7` (VPN-IP) ?
|
||||
|
||||
## Was wir bereits probiert haben
|
||||
|
||||
? **WireGuard verbunden**: Aktive Verbindung
|
||||
? **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
|
||||
? **Interface-Metrik angepasst**: Metrik 1 (h?chste Priorit?t)
|
||||
? **Firewall-Regeln erstellt**: VPN-Netzwerk-Regeln f?r 10.8.0.0/24
|
||||
? **HTTP/HTTPS-Traffic kommt NICHT ?ber VPN**: Windows sendet Traffic ?ber Standard-Interface
|
||||
|
||||
## L?sung: Route explizit mit Gateway setzen
|
||||
|
||||
Windows k?nnte die Route nicht korrekt nutzen, weil sie als "Auf Verbindung" (On-link) markiert ist. Setzen wir die Route explizit mit Gateway.
|
||||
|
||||
### Schritt 1: Finde WireGuard Interface-Index
|
||||
|
||||
```powershell
|
||||
# Als Administrator
|
||||
Get-NetAdapter | Where-Object {$_.Name -like "*grafana-test*" -or $_.Name -like "*WireGuard*"} | Select-Object Name, InterfaceIndex
|
||||
```
|
||||
|
||||
**Beispiel-Output:**
|
||||
```
|
||||
Name InterfaceIndex
|
||||
---- --------------
|
||||
grafana-test 18
|
||||
```
|
||||
|
||||
### Schritt 2: Entferne alte Route
|
||||
|
||||
```powershell
|
||||
# Als Administrator
|
||||
route delete 10.8.0.0 MASK 255.255.255.0
|
||||
```
|
||||
|
||||
**Falls Fehler:** Das ist OK, die Route existiert vielleicht nicht mehr oder hat eine andere Form.
|
||||
|
||||
### Schritt 3: Setze Route explizit mit Gateway
|
||||
|
||||
```powershell
|
||||
# Als Administrator
|
||||
# Ersetze 18 mit dem Interface-Index aus Schritt 1
|
||||
route add 10.8.0.0 MASK 255.255.255.0 10.8.0.1 METRIC 1 IF 18
|
||||
```
|
||||
|
||||
**Erkl?rung:**
|
||||
- `10.8.0.0` = Ziel-Netzwerk (VPN-Netzwerk)
|
||||
- `MASK 255.255.255.0` = Subnetzmaske (/24)
|
||||
- `10.8.0.1` = Gateway (VPN-Server-IP)
|
||||
- `METRIC 1` = H?chste Priorit?t (niedrigste Zahl = h?chste Priorit?t)
|
||||
- `IF 18` = Interface-Index von WireGuard
|
||||
|
||||
### Schritt 4: Pr?fe ob Route korrekt gesetzt wurde
|
||||
|
||||
```powershell
|
||||
# Als Administrator
|
||||
route print | findstr "10.8"
|
||||
```
|
||||
|
||||
**Erwartetes Ergebnis:**
|
||||
```
|
||||
10.8.0.0 255.255.255.0 10.8.0.1 18 1
|
||||
```
|
||||
|
||||
**Wichtig:** Gateway sollte `10.8.0.1` sein (nicht "Auf Verbindung" oder deine Client-IP `10.8.0.7`).
|
||||
|
||||
### Schritt 5: WireGuard neu verbinden
|
||||
|
||||
1. **Disconnect** WireGuard-Verbindung
|
||||
2. **Warte 5 Sekunden**
|
||||
3. **Connect** WireGuard-Verbindung neu
|
||||
4. **Pr?fe Route erneut**: `route print | findstr "10.8"`
|
||||
|
||||
### Schritt 6: Teste
|
||||
|
||||
```powershell
|
||||
# Pr?fe Route
|
||||
route print | findstr "10.8"
|
||||
|
||||
# Teste Ping
|
||||
ping 10.8.0.1
|
||||
|
||||
# Teste Grafana im Browser
|
||||
# https://grafana.michaelschiemer.de
|
||||
```
|
||||
|
||||
### Schritt 7: Logs pr?fen
|
||||
|
||||
Nach dem Test sage mir Bescheid, dann pr?fe ich die Traefik-Logs:
|
||||
- ? Wenn `ClientHost: 10.8.0.7` ? Traffic kommt ?ber VPN!
|
||||
- ? Wenn `ClientHost: 89.246.96.244` ? Traffic kommt NICHT ?ber VPN
|
||||
|
||||
## Falls Route nicht korrekt bleibt
|
||||
|
||||
Die Route k?nnte nach dem Disconnect/Connect wieder auf "Auf Verbindung" wechseln. In diesem Fall:
|
||||
|
||||
### Option A: Route persistieren
|
||||
|
||||
```powershell
|
||||
# Als Administrator
|
||||
# Entferne alte Route
|
||||
route delete 10.8.0.0 MASK 255.255.255.0
|
||||
|
||||
# Setze Route mit -p Flag (persistent)
|
||||
route add 10.8.0.0 MASK 255.255.255.0 10.8.0.1 METRIC 1 IF 18 -p
|
||||
```
|
||||
|
||||
Das `-p` Flag macht die Route persistent ?ber System-Neustarts.
|
||||
|
||||
### Option B: Route ?ber WireGuard selbst setzen
|
||||
|
||||
Manchmal setzt WireGuard die Route automatisch auf "Auf Verbindung". Versuche die Route nach dem Verbinden erneut zu setzen:
|
||||
|
||||
```powershell
|
||||
# Nachdem WireGuard verbunden ist, erneut ausf?hren:
|
||||
route delete 10.8.0.0 MASK 255.255.255.0
|
||||
route add 10.8.0.0 MASK 255.255.255.0 10.8.0.1 METRIC 1 IF 18
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Route wird nicht gesetzt
|
||||
|
||||
```powershell
|
||||
# Pr?fe ob Interface-Index korrekt ist
|
||||
Get-NetAdapter | Where-Object {$_.Name -like "*grafana-test*"}
|
||||
|
||||
# Pr?fe ob Gateway erreichbar ist
|
||||
ping 10.8.0.1
|
||||
```
|
||||
|
||||
### Route wird wieder gel?scht
|
||||
|
||||
Windows k?nnte die Route automatisch zur?cksetzen. In diesem Fall:
|
||||
1. Setze Route nach jedem WireGuard-Connect neu
|
||||
2. Oder erstelle ein Script, das die Route automatisch setzt
|
||||
|
||||
## Alternative: PowerShell-Script f?r automatische Route-Setzung
|
||||
|
||||
```powershell
|
||||
# Als Administrator
|
||||
# Finde Interface-Index
|
||||
$wgInterface = Get-NetAdapter | Where-Object {$_.Name -like "*grafana-test*" -or $_.Name -like "*WireGuard*"}
|
||||
if ($wgInterface) {
|
||||
$ifIndex = $wgInterface.InterfaceIndex
|
||||
Write-Host "WireGuard Interface gefunden: $($wgInterface.Name), Index: $ifIndex"
|
||||
|
||||
# Entferne alte Route
|
||||
route delete 10.8.0.0 MASK 255.255.255.0 2>&1 | Out-Null
|
||||
|
||||
# Setze Route explizit mit Gateway
|
||||
route add 10.8.0.0 MASK 255.255.255.0 10.8.0.1 METRIC 1 IF $ifIndex
|
||||
|
||||
# Pr?fe ob es funktioniert hat
|
||||
route print | findstr "10.8"
|
||||
} else {
|
||||
Write-Host "WireGuard Interface nicht gefunden"
|
||||
}
|
||||
```
|
||||
|
||||
## N?chste Schritte
|
||||
|
||||
Nach dem Setzen der Route:
|
||||
1. ? Route explizit mit Gateway gesetzt
|
||||
2. ? WireGuard neu verbinden
|
||||
3. ? Route erneut pr?fen (sollte Gateway `10.8.0.1` zeigen)
|
||||
4. ? Teste Grafana-Zugriff
|
||||
5. ? Pr?fe Traefik-Logs (ich pr?fe dann, ob `ClientHost: 10.8.0.7` erscheint)
|
||||
Reference in New Issue
Block a user