# Grafana VPN Access - Troubleshooting Guide

## Problem

Grafana ist nur ?ber VPN (WireGuard) erreichbar, aber auch mit VPN-Verbindung bekommt man einen 403-Fehler.

## Ursache

Traefik sieht die ?ffentliche Client-IP (z.B. `89.246.96.244`) statt der VPN-IP (z.B. `10.8.0.7`). Das bedeutet, dass der Traffic **nicht ?ber das VPN** geroutet wird.

## L?sung

### 1. VPN-Verbindung pr?fen

```bash
# Pr?fe ob WireGuard Interface aktiv ist
sudo wg show

# Pr?fe ob VPN-IP zugewiesen ist
ip addr show wg0  # oder das WireGuard Interface-Name
```

### 2. DNS-Konfiguration pr?fen

Stelle sicher, dass dein System den VPN-DNS-Server (`10.8.0.1`) verwendet:

**Windows:**
- Pr?fe in WireGuard-Client: `DNS = 10.8.0.1` sollte gesetzt sein
- Oder manuell in Windows: Netzwerk-Einstellungen ? DNS-Server auf `10.8.0.1` setzen

**Linux/Mac:**
```bash
# Pr?fe aktive DNS-Server
cat /etc/resolv.conf
# oder
resolvectl status

# Sollte 10.8.0.1 enthalten (oder automatisch ?ber VPN gesetzt)
```

### 3. DNS-Aufl?sung testen

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

# Teste normale DNS-Aufl?sung
dig +short grafana.michaelschiemer.de
# Falls das eine andere IP zur?ckgibt, wird der Traffic ?ber ?ffentliche Route gehen
```

### 4. Routing pr?fen

Stelle sicher, dass der Traffic f?r `10.8.0.0/24` ?ber das VPN-Interface geroutet wird:

**Windows:**
- Pr?fe in WireGuard-Client: `AllowedIPs = 10.8.0.0/24` sollte gesetzt sein

**Linux/Mac:**
```bash
# Pr?fe Routing-Tabelle
ip route | grep 10.8.0
# oder
route -n | grep 10.8.0

# Sollte zeigen: 10.8.0.0/24 via <VPN-Interface>
```

### 5. Browser-Zugriff testen

**Option A: Direkt ?ber VPN-IP**
- ?ffne im Browser: `https://10.8.0.1` (falls Traefik darauf l?uft)
- Oder: `https://grafana.michaelschiemer.de` nachdem DNS auf `10.8.0.1` aufgel?st wurde

**Option B: Hosts-Datei verwenden (tempor?r)**
```bash
# Linux/Mac
echo "10.8.0.1 grafana.michaelschiemer.de" | sudo tee -a /etc/hosts

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

### 6. Client-IP in Traefik-Logs pr?fen

```bash
# Pr?fe welche Client-IP Traefik sieht
ssh deploy@94.16.110.151
cd ~/deployment/stacks/traefik
tail -20 logs/access.log | grep grafana | jq '.ClientAddr'

# Sollte zeigen: 10.8.0.x (VPN-IP), nicht die ?ffentliche IP
```

## Aktuelle Konfiguration

- **Grafana Middleware:** `grafana-vpn-only@file`
- **IP Allowlist:** `10.8.0.0/24` (WireGuard VPN network)
- **Traefik Middleware:** `ipAllowList` (Traefik v3.0, nicht mehr deprecated `ipWhiteList`)

## Weitere Hilfe

Falls das Problem weiterhin besteht:
1. Pr?fe Traefik-Logs auf detaillierte Fehlermeldungen
2. Pr?fe ob WireGuard korrekt konfiguriert ist
3. Pr?fe ob der Traffic tats?chlich ?ber das VPN-Interface geht (z.B. mit `tcpdump`)
