Files
michaelschiemer/docs/deployment/WIREGUARD-WINDOWS-DNS-PRIORITY-FIX.md

109 lines
3.3 KiB
Markdown

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