Files
michaelschiemer/docs/deployment/WIREGUARD-RECREATE-AND-TEST.md

177 lines
4.6 KiB
Markdown

# WireGuard Client neu erstellen und testen
## Problem
Trotz korrekter Config (`AllowedIPs = 10.8.0.0/24`) kommt Traffic von Windows NICHT ?ber VPN. Die Route ist vorhanden, Ping funktioniert, aber HTTP/HTTPS-Traffic verwendet die ?ffentliche IP.
## Strategie
1. **Neue WireGuard-Client-Config generieren** (frische Keys, gleiche IP)
2. **Test-Container erstellen** um zu pr?fen, ob VPN grunds?tzlich funktioniert
3. **Windows-Client mit neuer Config testen**
## Schritt 1: WireGuard-Client neu generieren
### Alte Config sichern
Die alte Config wird automatisch gesichert als `.backup-{timestamp}`.
### Neue Config generieren
```bash
cd deployment/ansible
# Grafana-Test Client neu generieren (gleiche IP: 10.8.0.7)
ansible-playbook -i inventory/production.yml playbooks/regenerate-wireguard-client.yml \
-e "client_name=grafana-test" \
-e "client_ip=10.8.0.7"
```
**Was passiert:**
- Alte Config wird gesichert
- Alte Client-Keys werden aus Server-Config entfernt
- Neue Client-Keys werden generiert
- Neuer Client wird zu Server-Config hinzugef?gt
- WireGuard-Service wird neu gestartet
- Neue Config-Datei wird lokal gespeichert: `deployment/ansible/wireguard-clients/grafana-test.conf`
### Neue Config auf Windows verwenden
1. **Lade neue Config herunter** von:
```
deployment/ansible/wireguard-clients/grafana-test.conf
```
2. **Importiere in WireGuard:**
- ?ffne WireGuard
- Entferne alte "grafana-test" Verbindung
- Klicke auf "Importieren aus Datei"
- W?hle die neue `grafana-test.conf`
3. **Verbinde mit VPN**
4. **Teste:**
```powershell
ping 10.8.0.1
```
5. **Teste Grafana:**
- ?ffne `https://grafana.michaelschiemer.de`
- Warte 5 Sekunden
## Schritt 2: Test mit Docker-Container
Um zu pr?fen, ob VPN grunds?tzlich funktioniert (unabh?ngig von Windows):
```bash
cd deployment/ansible
# Teste WireGuard-Verbindung aus Docker-Container
ansible-playbook -i inventory/production.yml playbooks/test-wireguard-docker-container.yml \
-e "client_name=grafana-test"
```
**Was passiert:**
- Docker-Container mit WireGuard wird gestartet
- Client-Config wird in Container geladen
- Container verbindet sich mit VPN
- Container testet:
- Ping zu `10.8.0.1`
- Curl zu `https://grafana.michaelschiemer.de`
- DNS-Aufl?sung
- Traefik-Logs werden gepr?ft, ob Container-IP sichtbar ist
**Erwartetes Ergebnis:**
- ? Container kann `10.8.0.1` pingen
- ? Container kann Grafana erreichen (Status: 200 oder 403, aber Verbindung funktioniert)
- ? Traefik sieht Container-VPN-IP (`10.8.0.x`)
**Falls Test-Container funktioniert:**
? VPN-Server funktioniert korrekt
? Problem liegt an Windows-Client oder Windows-Routing
**Falls Test-Container nicht funktioniert:**
? VPN-Server-Konfiguration k?nnte Problem haben
? Weiter debuggen
## Schritt 3: Container nach Test entfernen
```bash
# Auf dem Server
docker stop wireguard-test-client
docker rm wireguard-test-client
```
## N?chste Schritte
### Wenn Container-Test erfolgreich ist:
1. **Windows-Client mit neuer Config testen**
- Importiere neue Config
- Verbinde mit VPN
- Teste Grafana-Zugriff
2. **Traefik-Logs pr?fen:**
- Wenn `ClientHost: 10.8.0.7` ? ? Traffic kommt ?ber VPN!
- Wenn `ClientHost: 89.246.96.244` ? ? Problem liegt an Windows
3. **Wenn Windows immer noch nicht funktioniert:**
- Windows Firewall pr?fen
- Windows Route-Tabelle erneut pr?fen
- WireGuard auf Windows neu installieren
- Eventuell anderen Windows-Client verwenden
### Wenn Container-Test fehlschl?gt:
1. **WireGuard-Server-Config pr?fen:**
```bash
sudo cat /etc/wireguard/wg0.conf
```
2. **WireGuard-Service-Logs pr?fen:**
```bash
sudo journalctl -u wg-quick@wg0 -f
```
3. **Firewall pr?fen:**
```bash
sudo ufw status | grep 51820
```
## Troubleshooting
### Neue Config generiert, aber Windows-Client funktioniert nicht
1. **Pr?fe neue Config:**
```powershell
# ?ffne neue Config-Datei
type grafana-test.conf
# Pr?fe: AllowedIPs = 10.8.0.0/24
```
2. **Pr?fe Windows Route:**
```powershell
route print | findstr "10.8"
```
3. **Pr?fe WireGuard-Status:**
- ?ffne WireGuard
- W?hle "grafana-test"
- Pr?fe Transfer (sollte > 0 sein, wenn VPN verbunden ist)
### Container-Test schl?gt fehl
1. **Container-Logs pr?fen:**
```bash
docker logs wireguard-test-client
```
2. **Container startet nicht:**
- Pr?fe ob WireGuard-Config korrekt ist
- Pr?fe ob Container-Rechte korrekt sind (`--cap-add=NET_ADMIN`)
3. **Container verbindet nicht:**
- Pr?fe Server Firewall
- Pr?fe WireGuard-Server-Config
- Pr?fe ob Client in Server-Config enthalten ist