177 lines
4.6 KiB
Markdown
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
|