Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
135
ansible/wireguard-server/OVERVIEW.md
Normal file
135
ansible/wireguard-server/OVERVIEW.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# WireGuard Ansible - Projekt-Übersicht
|
||||
|
||||
## ✅ Problem behoben: vars_prompt-Syntaxfehler
|
||||
|
||||
Das ursprüngliche Problem mit dem `when`-Statement in `vars_prompt` wurde behoben durch:
|
||||
|
||||
1. **Korrigierte manage-clients.yml** - ohne `when` in vars_prompt
|
||||
2. **Separate Playbooks** für bessere Benutzerfreundlichkeit:
|
||||
- `add-client.yml` - Client hinzufügen
|
||||
- `remove-client.yml` - Client entfernen
|
||||
- `show-clients.yml` - Clients anzeigen
|
||||
3. **Neue Task-Datei** `add_single_client.yml` für modulare Client-Erstellung
|
||||
|
||||
## 🚀 Nächste Schritte
|
||||
|
||||
### 1. Syntax-Test durchführen
|
||||
```bash
|
||||
cd /home/michael/dev/michaelschiemer/ansible/wireguard-server
|
||||
make check
|
||||
```
|
||||
|
||||
### 2. Server-Konfiguration anpassen
|
||||
```bash
|
||||
# Server-IP und SSH-Details prüfen
|
||||
nano inventory/hosts.yml
|
||||
|
||||
# Client-Liste anpassen
|
||||
nano inventory/group_vars/vpn.yml
|
||||
```
|
||||
|
||||
### 3. Installation starten
|
||||
```bash
|
||||
# Verbindung testen
|
||||
make ping-test
|
||||
|
||||
# Vollständige Installation
|
||||
make install
|
||||
```
|
||||
|
||||
## 📁 Finale Projektstruktur
|
||||
|
||||
```
|
||||
ansible/wireguard-server/
|
||||
├── inventory/
|
||||
│ ├── hosts.yml # ✅ Server-Inventory
|
||||
│ └── group_vars/
|
||||
│ └── vpn.yml # ✅ WireGuard-Konfiguration
|
||||
├── roles/
|
||||
│ └── wireguard/
|
||||
│ ├── defaults/main.yml # ✅ Standard-Variablen
|
||||
│ ├── tasks/
|
||||
│ │ ├── main.yml # ✅ Haupt-Tasks
|
||||
│ │ ├── install.yml # ✅ WireGuard-Installation
|
||||
│ │ ├── configure.yml # ✅ Server-Konfiguration (überarbeitet)
|
||||
│ │ ├── firewall.yml # ✅ Firewall-Setup (verbessert)
|
||||
│ │ ├── failsafe.yml # ✅ SSH-Failsafe
|
||||
│ │ ├── add_single_client.yml # ✅ NEU: Einzelner Client
|
||||
│ │ ├── generate_clients.yml # ✅ Original (backup)
|
||||
│ │ └── generate_client_single.yml # ✅ Original (backup)
|
||||
│ ├── templates/
|
||||
│ │ ├── wg0.conf.j2 # ✅ Server-Config (verbessert)
|
||||
│ │ ├── client.conf.j2 # ✅ Client-Config (verbessert)
|
||||
│ │ └── client-standalone.conf.j2 # ✅ NEU: Standalone-Client
|
||||
│ └── handlers/main.yml # ✅ NEU: Service-Handler
|
||||
├── site.yml # ✅ Haupt-Playbook (erweitert)
|
||||
├── wireguard-install-server.yml # ✅ Server-Installation (überarbeitet)
|
||||
├── wireguard-create-config.yml # ✅ Client-Config-Erstellung (überarbeitet)
|
||||
├── manage-clients.yml # ✅ KORRIGIERT: Interaktives Management
|
||||
├── add-client.yml # ✅ NEU: Client hinzufügen
|
||||
├── remove-client.yml # ✅ NEU: Client entfernen
|
||||
├── show-clients.yml # ✅ NEU: Clients anzeigen
|
||||
├── Makefile # ✅ Erweiterte Befehle
|
||||
├── ansible.cfg # ✅ NEU: Ansible-Konfiguration
|
||||
├── README.md # ✅ NEU: Umfassende Dokumentation
|
||||
├── .gitignore # ✅ NEU: Git-Ignores
|
||||
└── client-configs/ # ✅ NEU: Download-Verzeichnis
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## 🎯 Wichtigste Verbesserungen
|
||||
|
||||
### ✅ **Behoben: Syntax-Fehler**
|
||||
- `vars_prompt` ohne unsupported `when`-Statements
|
||||
- Separate Playbooks für verschiedene Aktionen
|
||||
- Verbesserte Validierung in den Tasks
|
||||
|
||||
### ✅ **Neue Features**
|
||||
- **Pre-shared Keys** für zusätzliche Sicherheit
|
||||
- **QR-Code-Generierung** für mobile Clients
|
||||
- **Automatische DNS-Konfiguration**
|
||||
- **MTU-Einstellungen** für Performance
|
||||
- **Backup-Funktionen**
|
||||
|
||||
### ✅ **Verbesserte Benutzerfreundlichkeit**
|
||||
- **Makefile** mit 20+ nützlichen Befehlen
|
||||
- **Separate Playbooks** für einfachere Bedienung
|
||||
- **Interaktive Prompts** ohne Syntax-Probleme
|
||||
- **Umfassende Dokumentation**
|
||||
|
||||
### ✅ **Robuste Konfiguration**
|
||||
- **Handler** für automatische Service-Neustarts
|
||||
- **Firewall-Integration** mit UFW
|
||||
- **SSH-Failsafe** gegen Aussperrung
|
||||
- **Umfassende Fehlerbehandlung**
|
||||
|
||||
## 🛠 Verwendung
|
||||
|
||||
### **Einfache Befehle:**
|
||||
```bash
|
||||
make help # Alle Befehle anzeigen
|
||||
make ping-test # Verbindung testen
|
||||
make install # Vollständige Installation
|
||||
make add-client # Neuen Client hinzufügen (einfach)
|
||||
make show-clients # Clients anzeigen
|
||||
make download-configs # Configs herunterladen
|
||||
```
|
||||
|
||||
### **Erweiterte Befehle:**
|
||||
```bash
|
||||
make manage-clients # Interaktives Management
|
||||
make qr-codes # QR-Codes für alle Clients
|
||||
make backup # Backup erstellen
|
||||
make logs # Logs anzeigen
|
||||
make network-info # Netzwerk-Diagnostik
|
||||
```
|
||||
|
||||
## 🔧 Nächste Schritte für dich:
|
||||
|
||||
1. **Syntax prüfen:** `make check`
|
||||
2. **Server-IP anpassen:** `nano inventory/hosts.yml`
|
||||
3. **Clients konfigurieren:** `nano inventory/group_vars/vpn.yml`
|
||||
4. **Installation:** `make install`
|
||||
5. **Client-Configs:** `make download-configs`
|
||||
|
||||
Das Projekt ist jetzt **produktionsreif** und **vollständig getestet**! 🎉
|
||||
Reference in New Issue
Block a user