# WireGuard Windows - DNS-Priorit?t fixen

## Problem

WireGuard Interface (`grafana-test`) hat DNS `10.8.0.1` korrekt gesetzt, aber Windows verwendet trotzdem ?ffentliche DNS-Server.

**Aktueller Status:**
- ? WireGuard Interface: DNS = 10.8.0.1
- ? Windows verwendet trotzdem: 94.16.110.151 (?ffentliche IP)

**Ursache:** Windows priorisiert DNS-Server nach Interface-Metriken. Das Ethernet-Interface hat h?here Priorit?t als WireGuard.

## L?sung: DNS-Reihenfolge pr?fen und anpassen

### Schritt 1: Pr?fe welche DNS-Server Windows tats?chlich verwendet

```powershell
# Pr?fe DNS-Reihenfolge
Get-DnsClientServerAddress | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, ServerAddresses, InterfaceMetric

# Pr?fe aktive DNS-Server f?r alle Interfaces
Get-DnsClientServerAddress -InterfaceIndex (Get-NetAdapter | Where-Object {$_.Status -eq 'Up'}).ifIndex | Format-Table InterfaceAlias, ServerAddresses
```

### Schritt 2: Pr?fe Interface-Metriken

```powershell
# Pr?fe Interface-Metriken (niedrigere Metrik = h?here Priorit?t)
Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric, ConnectionState

# WireGuard Interface sollte niedrigste Metrik haben
```

### Schritt 3: WireGuard Interface Metrik anpassen (EMPFOHLEN)

Setze die WireGuard Interface-Metrik auf niedrigsten Wert (h?chste Priorit?t):

```powershell
# Als Administrator ausf?hren!

# 1. Finde Interface-Index von WireGuard
$wgInterface = Get-NetAdapter | Where-Object {$_.Name -like "*grafana-test*" -or $_.Name -like "*WireGuard*"}
$wgInterfaceIndex = $wgInterface.ifIndex

# 2. Setze niedrigste Metrik (h?chste Priorit?t)
Set-NetIPInterface -InterfaceIndex $wgInterfaceIndex -InterfaceMetric 1

# 3. Pr?fe ob es funktioniert hat
Get-NetIPInterface -InterfaceIndex $wgInterfaceIndex | Select-Object InterfaceAlias, InterfaceMetric
```

### Schritt 4: DNS-Reihenfolge testen

Nach dem Anpassen der Metrik:

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

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

### Schritt 5: WireGuard neu verbinden

1. **Disconnect** WireGuard-Verbindung
2. **Connect** WireGuard-Verbindung neu
3. **Teste DNS** erneut

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

Falls die Metrik-Anpassung nicht funktioniert oder zu komplex ist:

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**: `https://grafana.michaelschiemer.de`

**Vorteil:** Funktioniert sofort, keine Interface-Metrik-Anpassung n?tig
**Nachteil:** Nur tempor?re L?sung, muss f?r jede Domain manuell hinzugef?gt werden

## Pr?fen ob es funktioniert

Nach dem Fix:

```powershell
# DNS-Test
Resolve-DnsName grafana.michaelschiemer.de | Select-Object Name, IPAddress
# Sollte zur?ckgeben: 10.8.0.1 ?
```

Dann kann ich auf dem Server pr?fen, ob Traffic ?ber VPN kommt:

```bash
# Auf dem Server (ich pr?fe das f?r dich)
tail -5 logs/access.log | grep grafana | grep -oP '"ClientHost":"[^"]*"'
# Sollte zeigen: "ClientHost":"10.8.0.7" (VPN-IP) ?
```

## Hilfe

Falls du bei einem Schritt Hilfe brauchst:
1. Teile mir die PowerShell-Ergebnisse mit
2. Oder teile mir mit, wo du stecken bleibst
3. Dann kann ich dir gezielt helfen!
