Files
michaelschiemer/ansible/wireguard-server/OVERVIEW.md
Michael Schiemer 55a330b223 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
2025-08-11 20:13:26 +02:00

4.9 KiB

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

cd /home/michael/dev/michaelschiemer/ansible/wireguard-server
make check

2. Server-Konfiguration anpassen

# Server-IP und SSH-Details prüfen
nano inventory/hosts.yml

# Client-Liste anpassen
nano inventory/group_vars/vpn.yml

3. Installation starten

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

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:

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