# WireGuard Windows - DNS auf VPN-DNS setzen

## Problem

Traffic l?uft nicht ?ber VPN, weil DNS die ?ffentliche IP verwendet statt der VPN-IP.

## L?sung: DNS in WireGuard-Config setzen

### Schritt 1: WireGuard Config-Datei finden

**Methode 1: Via WireGuard GUI**
1. ?ffne **WireGuard** (Windows-Startmen?)
2. Rechtsklick auf deine **VPN-Verbindung**
3. Klicke auf **"Edit"** oder **"Bearbeiten"**

**Methode 2: Via Datei-Explorer**
1. ?ffne Datei-Explorer
2. Gehe zu: `C:\Users\<dein-benutzername>\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json`
3. Oder direkt: Dr?cke `Win+R`, tippe: `%LOCALAPPDATA%\WireGuard` und Enter
4. Suche nach deiner Config-Datei (meistens `.conf` Datei)

**Methode 3: Via Registry/Config-Pfad**
- Die Config-Dateien sind normalerweise in: `C:\Users\<benutzername>\Documents\WireGuard` oder ?hnlich
- Oder siehe in WireGuard GUI: Rechtsklick auf Verbindung ? "Open configuration file location"

### Schritt 2: Config-Datei bearbeiten

1. **Schlie?e die WireGuard-Verbindung** (falls aktiv)
2. **?ffne die Config-Datei** im Editor (Notepad, Notepad++, oder dein bevorzugter Editor)
3. **Suche nach `[Interface]`** Abschnitt
4. **F?ge hinzu oder ?ndere:**
   ```
   [Interface]
   PrivateKey = sE81MBr64fP8YBDlhRWngwHHmlrVzIhs9NT7Dh7XbVs=
   Address = 10.8.0.7/24
   DNS = 10.8.0.1          # ? DIESE ZEILE HINZUF?GEN ODER ?NDERN!
   ```

### Schritt 3: Config-Datei speichern

1. **Speichere** die Config-Datei (Strg+S)
2. **Schlie?e** den Editor

### Schritt 4: WireGuard neu starten

**Methode 1: Via WireGuard GUI**
1. ?ffne **WireGuard**
2. Rechtsklick auf deine **VPN-Verbindung**
3. Klicke auf **"Disconnect"** (falls verbunden)
4. Klicke auf **"Connect"** (neu verbinden)

**Methode 2: Via System**
1. ?ffne **Dienste** (Win+R ? `services.msc`)
2. Suche nach **"WireGuard Tunnel Service"**
3. Rechtsklick ? **"Neu starten"**

### Schritt 5: DNS-Test (PowerShell als Administrator)

1. ?ffne **PowerShell als Administrator**
2. F?hre aus:
```powershell
# Pr?fe aktive DNS-Server
Get-DnsClientServerAddress | Select-Object InterfaceAlias, ServerAddresses

# Sollte 10.8.0.1 zeigen f?r WireGuard Interface
```

3. Teste DNS-Aufl?sung:
```powershell
# Teste DNS-Aufl?sung
Resolve-DnsName grafana.michaelschiemer.de | Select-Object Name, IPAddress

# Sollte zur?ckgeben: 10.8.0.1 (nicht 94.16.110.151!)
```

### 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

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

Falls DNS ?ber WireGuard nicht automatisch funktioniert:

1. ?ffne **Notepad als Administrator**
2. ?ffne: `C:\Windows\System32\drivers\etc\hosts`
3. F?ge hinzu:
   ```
   10.8.0.1 grafana.michaelschiemer.de
   ```
4. **Speichere** die Datei
5. **Teste** Browser: `https://grafana.michaelschiemer.de`

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

## Pr?fen ob es funktioniert

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

Ich kann f?r dich auf dem Server pr?fen:
```bash
# Auf dem Server
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 ?

## Troubleshooting

### Problem: DNS wird nicht gesetzt

**L?sung 1:** Stelle sicher, dass `DNS = 10.8.0.1` in der Config-Datei steht
**L?sung 2:** Verwende Hosts-Datei als tempor?re L?sung
**L?sung 3:** Pr?fe ob WireGuard als Administrator l?uft

### Problem: Config-Datei kann nicht gespeichert werden

**L?sung:** 
1. Schlie?e WireGuard komplett
2. Bearbeite die Config-Datei
3. Speichere die Datei
4. Starte WireGuard neu

### Problem: DNS wird gesetzt, aber Browser cached alte IP

**L?sung:**
1. Browser-Cache leeren (Strg+Shift+Del)
2. Oder Inkognito-Modus verwenden
3. Oder Browser neu starten

## Hilfe

Falls du bei einem Schritt Hilfe brauchst:
1. Teile mir mit, wo du stecken bleibst
2. Oder teile mir die Config-Datei mit (ohne PrivateKey!)
3. Oder teile mir die PowerShell-Ergebnisse mit

Dann kann ich dir gezielt helfen!
