chore: update VPN routing configuration and add Grafana VPN documentation
This commit is contained in:
125
docs/deployment/GRAFANA-VPN-NEXT-STEPS.md
Normal file
125
docs/deployment/GRAFANA-VPN-NEXT-STEPS.md
Normal file
@@ -0,0 +1,125 @@
|
||||
# Grafana VPN - N?chste Schritte
|
||||
|
||||
## Aktueller Status ?
|
||||
|
||||
**Grafana ist erreichbar** - sowohl mit als auch ohne VPN
|
||||
- ? Tempor?re L?sung aktiv: ?ffentliche IP (`89.246.96.244`) ist in der IP-Allowlist
|
||||
- ?? **Sicherheitsrisiko**: Grafana ist ?ffentlich erreichbar
|
||||
|
||||
## Ziel ??
|
||||
|
||||
Grafana sollte **nur ?ber VPN** erreichbar sein:
|
||||
- ? Mit VPN: Grafana erreichbar
|
||||
- ? Ohne VPN: 403-Fehler
|
||||
|
||||
## Problem
|
||||
|
||||
Der Traffic l?uft **nicht ?ber VPN**, auch wenn VPN verbunden ist:
|
||||
- Traefik sieht die ?ffentliche Client-IP (`89.246.96.244`) statt der VPN-IP (`10.8.0.7`)
|
||||
- Ursache: DNS-Aufl?sung verwendet ?ffentliche DNS-Server statt VPN-DNS (`10.8.0.1`)
|
||||
|
||||
## L?sung: VPN-Routing fixen
|
||||
|
||||
### Option 1: DNS auf VPN-DNS setzen (EMPFOHLEN)
|
||||
|
||||
**Pr?fe deine WireGuard-Config:**
|
||||
```
|
||||
[Interface]
|
||||
DNS = 10.8.0.1
|
||||
```
|
||||
|
||||
**Falls nicht gesetzt:**
|
||||
1. ?ffne deine WireGuard-Config
|
||||
2. F?ge hinzu: `DNS = 10.8.0.1`
|
||||
3. Speichere und starte VPN neu
|
||||
|
||||
**Test:**
|
||||
```bash
|
||||
dig +short grafana.michaelschiemer.de
|
||||
# Sollte zur?ckgeben: 10.8.0.1 (nicht 94.16.110.151!)
|
||||
```
|
||||
|
||||
**Browser testen:**
|
||||
1. Browser-Cache leeren (oder Inkognito-Modus)
|
||||
2. ?ffne: `https://grafana.michaelschiemer.de`
|
||||
3. Sollte funktionieren, wenn DNS auf `10.8.0.1` zeigt
|
||||
|
||||
### Option 2: Hosts-Datei verwenden (TEMPOR?R)
|
||||
|
||||
**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
|
||||
```
|
||||
|
||||
## Pr?fen ob Traffic ?ber VPN l?uft
|
||||
|
||||
Nach dem Fix kannst du pr?fen:
|
||||
|
||||
```bash
|
||||
# Auf dem Server
|
||||
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 ?
|
||||
|
||||
**Aktuell:**
|
||||
- **Mit VPN**: `"ClientHost":"89.246.96.244"` (?ffentliche IP) ?
|
||||
- **Ohne VPN**: `"ClientHost":"89.246.96.244"` (?ffentliche IP) ?
|
||||
|
||||
## Tempor?re IP-Erlaubnis entfernen
|
||||
|
||||
Sobald das VPN-Routing funktioniert (Traffic kommt ?ber VPN), entferne die tempor?re IP-Erlaubnis:
|
||||
|
||||
### Automatisch (via Ansible)
|
||||
|
||||
```bash
|
||||
cd deployment/ansible
|
||||
ansible-playbook -i inventory/production.yml playbooks/remove-temporary-grafana-ip.yml
|
||||
```
|
||||
|
||||
### Manuell
|
||||
|
||||
```bash
|
||||
# Auf dem Server
|
||||
ssh deploy@94.16.110.151
|
||||
cd ~/deployment/stacks/traefik/dynamic
|
||||
|
||||
# Entferne tempor?re IP
|
||||
sed -i '/89.246.96.244\/32/d' middlewares.yml
|
||||
|
||||
# Restart Traefik
|
||||
cd ~/deployment/stacks/traefik
|
||||
docker compose restart traefik
|
||||
```
|
||||
|
||||
## Test nach Entfernung
|
||||
|
||||
1. **Mit VPN**: `https://grafana.michaelschiemer.de` sollte funktionieren ?
|
||||
2. **Ohne VPN**: `https://grafana.michaelschiemer.de` sollte 403-Fehler geben ?
|
||||
|
||||
## Zusammenfassung
|
||||
|
||||
**JETZT:**
|
||||
1. ? Grafana funktioniert (tempor?re IP-Erlaubnis)
|
||||
2. ?? Funktioniert auch ohne VPN (Sicherheitsrisiko)
|
||||
|
||||
**N?CHSTE SCHRITTE:**
|
||||
1. Fixe VPN-Routing (DNS auf `10.8.0.1` oder Hosts-Datei)
|
||||
2. Pr?fe dass Traffic ?ber VPN kommt (ClientHost: 10.8.0.7)
|
||||
3. Entferne tempor?re IP-Erlaubnis (via Playbook oder manuell)
|
||||
4. Teste: Mit VPN = OK, Ohne VPN = 403
|
||||
|
||||
**Dokumentation:**
|
||||
- `docs/deployment/GRAFANA-VPN-SECURITY-PLAN.md` - Detaillierter Plan
|
||||
- `docs/deployment/VPN-ROUTING-FIX-DETAILED.md` - VPN-Routing Fix
|
||||
- `docs/deployment/VPN-ROUTING-CLIENT-CHECK.md` - Client-Side Checks
|
||||
Reference in New Issue
Block a user