# VPN Routing Fix f?r Grafana - Schritt-f?r-Schritt

## Problem
Grafana gibt 403-Fehler, obwohl VPN verbunden ist. Traefik sieht ?ffentliche Client-IP (`89.246.96.244`) statt VPN-IP (`10.8.0.7`).

## L?sung: DNS auf VPN-DNS setzen

### Schritt 1: Pr?fe aktuelle DNS-Konfiguration

**Windows:**
```powershell
# In PowerShell (als Administrator)
Get-DnsClientServerAddress | Select-Object InterfaceAlias, ServerAddresses
```

**Linux:**
```bash
cat /etc/resolv.conf
# oder
resolvectl status
```

**Mac:**
```bash
scutil --dns | grep nameserver
```

### Schritt 2: DNS-Test

```bash
# Teste DNS-Aufl?sung
dig +short grafana.michaelschiemer.de
# Oder
nslookup grafana.michaelschiemer.de

# Falls das 94.16.110.151 zur?ckgibt (?ffentliche IP) ? Problem!
# Sollte 10.8.0.1 zur?ckgeben (VPN-IP) ? OK!
```

### Schritt 3: WireGuard Config pr?fen

?ffne deine WireGuard-Config und pr?fe:

```
[Interface]
DNS = 10.8.0.1

[Peer]
AllowedIPs = 10.8.0.0/24
```

**Wichtig:** `DNS = 10.8.0.1` MUSS gesetzt sein!

### Schritt 4: WireGuard-Verbindung neu starten

1. Trenne die VPN-Verbindung
2. Starte sie neu
3. Pr?fe ob DNS jetzt 10.8.0.1 ist

### Schritt 5: DNS erneut testen

```bash
dig +short grafana.michaelschiemer.de @10.8.0.1
# Sollte zur?ckgeben: 10.8.0.1
```

### Schritt 6: Browser testen

1. **Browser-Cache leeren** (oder Inkognito-Modus verwenden)
2. ?ffne: `https://grafana.michaelschiemer.de`
3. Sollte jetzt funktionieren!

## Alternative: Hosts-Datei verwenden (tempor?r)

Falls DNS nicht automatisch funktioniert:

**Linux/Mac:**
```bash
sudo sh -c 'echo "10.8.0.1 grafana.michaelschiemer.de" >> /etc/hosts'
```

**Windows:**
```
# Als Administrator: C:\Windows\System32\drivers\etc\hosts
10.8.0.1 grafana.michaelschiemer.de
```

## Pr?fen ob es funktioniert

Nach dem Fix solltest du:
1. VPN verbunden haben
2. DNS zeigt 10.8.0.1 f?r grafana.michaelschiemer.de
3. Browser zeigt Grafana-Login statt 403-Fehler

## Server-Side Pr?fung

Auf dem Server kannst du pr?fen, welche Client-IP Traefik jetzt sieht:

```bash
ssh deploy@94.16.110.151
cd ~/deployment/stacks/traefik
tail -5 logs/access.log | grep grafana
```

**Vor dem Fix:** `ClientAddr: 89.246.96.244` (?ffentliche IP)
**Nach dem Fix:** `ClientAddr: 10.8.0.7` (VPN-IP)

## Warum funktioniert das?

- Wenn DNS auf `10.8.0.1` zeigt, wird `grafana.michaelschiemer.de` auf `10.8.0.1` aufgel?st
- Der Browser sendet die Anfrage an `10.8.0.1` (VPN-Server)
- Der Traffic geht ?ber das VPN-Interface
- Traefik sieht die VPN-Client-IP (`10.8.0.7`)
- IP-Allowlist erlaubt Zugriff ?

- Wenn DNS auf ?ffentliche DNS zeigt, wird `grafana.michaelschiemer.de` auf `94.16.110.151` aufgel?st
- Der Browser sendet die Anfrage direkt an die ?ffentliche IP
- Der Traffic geht NICHT ?ber VPN
- Traefik sieht die ?ffentliche Client-IP (`89.246.96.244`)
- IP-Allowlist blockiert Zugriff ? (403)
