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

## Problem

Traefik sieht die ?ffentliche Client-IP (`89.246.96.244`) statt der VPN-IP (`10.8.0.7`). Der Traffic l?uft nicht ?ber VPN.

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

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

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

**Windows:**
```powershell
Get-DnsClientServerAddress | Select-Object InterfaceAlias, ServerAddresses
```

**Was du suchst:**
- Sollte `10.8.0.1` enthalten (VPN-DNS) ?
- Falls nicht ? DNS verwendet ?ffentliche Server ?

### Schritt 2: Teste DNS-Aufl?sung

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

# Falls das 94.16.110.151 zur?ckgibt ? Problem!
# Sollte 10.8.0.1 zur?ckgeben
```

```bash
# Teste DNS-Aufl?sung ?ber VPN-DNS
dig +short grafana.michaelschiemer.de @10.8.0.1
# Sollte zur?ckgeben: 10.8.0.1 ?
```

### Schritt 3: Pr?fe WireGuard-Config

?ffne deine WireGuard-Config-Datei und pr?fe:

```
[Interface]
PrivateKey = ...
Address = 10.8.0.7/24
DNS = 10.8.0.1          # ? DIESE ZEILE MUSS DA SEIN!
```

**Falls `DNS = 10.8.0.1` NICHT vorhanden ist:**

1. ?ffne deine WireGuard-Config
2. F?ge hinzu: `DNS = 10.8.0.1` unter `[Interface]`
3. Speichere die Datei
4. Starte WireGuard neu (trenne und verbinde VPN neu)

### Schritt 4: WireGuard neu starten

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

**Linux/Mac:**
```bash
# Pr?fe ob DNS jetzt gesetzt ist
cat /etc/resolv.conf | grep 10.8.0.1
```

**Windows:**
```powershell
Get-DnsClientServerAddress | Select-Object InterfaceAlias, ServerAddresses
# Sollte 10.8.0.1 zeigen
```

### Schritt 5: DNS erneut testen

```bash
# Teste DNS-Aufl?sung (ohne @10.8.0.1)
dig +short grafana.michaelschiemer.de
# Sollte jetzt 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 funktionieren, wenn DNS auf `10.8.0.1` zeigt

### Schritt 7: Pr?fe ob Traffic ?ber VPN kommt

Nach dem Fix k?nnen wir pr?fen, ob Traffic ?ber VPN kommt:

```bash
# Auf dem Server (ich kann das f?r dich pr?fen)
ssh deploy@94.16.110.151
cd ~/deployment/stacks/traefik
tail -5 logs/access.log | grep grafana | grep -oP '"ClientHost":"[^"]*"'
```

**Erwartet:**
- **Mit VPN**: `"ClientHost":"10.8.0.7"` (VPN-IP) ?
- **Ohne VPN**: Keine Logs oder 403-Fehler ?

## Alternative: Hosts-Datei verwenden (TEMPOR?R)

Falls DNS nicht automatisch funktioniert, kannst du tempor?r die Hosts-Datei verwenden:

**Linux/Mac:**
```bash
echo "10.8.0.1 grafana.michaelschiemer.de" | sudo tee -a /etc/hosts
```

**Windows:**
```
# C:\Windows\System32\drivers\etc\hosts (als Administrator bearbeiten)
10.8.0.1 grafana.michaelschiemer.de
```

**Hinweis:** Das ist nur eine tempor?re L?sung. DNS sollte langfristig funktionieren.

## Nach dem Fix: Tempor?re IP-Erlaubnis entfernen

Sobald der Traffic ?ber VPN l?uft (Traefik sieht `10.8.0.7` statt `89.246.96.244`), k?nnen wir die tempor?re IP-Erlaubnis entfernen:

```bash
cd deployment/ansible
ansible-playbook -i inventory/production.yml playbooks/remove-temporary-grafana-ip.yml
```

## Hilfe

Falls du bei einem Schritt Hilfe brauchst, teile mir mit:
- Welches Betriebssystem verwendest du? (Linux/Mac/Windows)
- Was zeigt `cat /etc/resolv.conf` (Linux/Mac) oder `Get-DnsClientServerAddress` (Windows)?
- Was zeigt `dig +short grafana.michaelschiemer.de`?

Dann kann ich dir gezielt helfen!
