# WireGuard Ansible (Vereinfacht) Einfache Ansible-Konfiguration für einen WireGuard VPN-Server **ohne Firewall**. Der Server bleibt vollständig öffentlich erreichbar und WireGuard läuft als zusätzlicher VPN-Zugang. ## 🚀 Schnellstart ```bash # 1. Server-IP anpassen nano inventory/hosts.yml # 2. Clients anpassen nano inventory/group_vars/vpn.yml # 3. Installation make install # 4. Client-Configs herunterladen make download-configs ``` ## 📋 Verfügbare Befehle ### Installation - `make install` - WireGuard installieren - `make setup` - Nur Server installieren - `make clients` - Client-Konfigurationen erstellen ### Client-Management - `make add-client` - Neuen Client hinzufügen - `make remove-client` - Client entfernen - `make show-clients` - Vorhandene Clients anzeigen ### Status & Wartung - `make status` - WireGuard-Status anzeigen - `make logs` - WireGuard-Logs anzeigen - `make restart` - Service neustarten - `make qr-codes` - QR-Codes für mobile Clients ### Konfiguration - `make download-configs` - Client-Configs herunterladen - `make backup` - Backup erstellen - `make check` - Syntax prüfen ## 📁 Projektstruktur ``` wireguard-server/ ├── inventory/ │ ├── hosts.yml # Server-Konfiguration │ └── group_vars/vpn.yml # WireGuard-Einstellungen ├── roles/wireguard/ │ ├── tasks/ │ │ ├── main.yml # Haupt-Tasks │ │ ├── install.yml # WireGuard-Installation │ │ ├── configure.yml # Server-Konfiguration │ │ └── network.yml # Netzwerk-Setup │ ├── templates/ │ │ ├── wg0.conf.j2 # Server-Config │ │ └── client.conf.j2 # Client-Config │ └── handlers/main.yml # Service-Handler ├── site.yml # Haupt-Playbook ├── add-client.yml # Client hinzufügen ├── remove-client.yml # Client entfernen ├── show-clients.yml # Clients anzeigen └── Makefile # Einfache Befehle ``` ## ⚙️ Konfiguration ### Server (`inventory/hosts.yml`) ```yaml all: children: vpn: hosts: wireguard-server: ansible_host: 94.16.110.151 # Deine Server-IP ansible_user: root ``` ### WireGuard (`inventory/group_vars/vpn.yml`) ```yaml wireguard_server_ip: 94.16.110.151 wireguard_network: "10.8.0.0/24" wireguard_clients: - name: "laptop-michael" address: "10.8.0.10" - name: "phone-michael" address: "10.8.0.11" ``` ## 🌐 Zugriffsmöglichkeiten Nach der Installation hast du **beide** Optionen: ### Öffentlicher Zugriff (wie bisher) ```bash ssh root@94.16.110.151 ``` ### VPN-Zugriff (zusätzlich) 1. WireGuard-Client mit `.conf`-Datei konfigurieren 2. VPN-Verbindung aktivieren 3. Zugriff über VPN-IP: `ssh root@10.8.0.1` ## 🔒 Was ist sicher? - ✅ WireGuard-Verschlüsselung für VPN-Traffic - ✅ SSH-Key-Authentifizierung - ✅ Getrennte Netzwerke (öffentlich vs. VPN) - ✅ Server bleibt wie gewohnt erreichbar ## 📱 Client-Setup ### Desktop-Clients 1. `make download-configs` 2. `.conf`-Datei in WireGuard-Client importieren ### Mobile Clients 1. `make qr-codes` 2. QR-Code mit WireGuard-App scannen ## 🎯 Perfekt für - ✅ Entwicklungsserver - ✅ Server die öffentlich bleiben sollen - ✅ Zusätzlicher sicherer VPN-Zugang - ✅ Einfache Installation ohne Firewall-Probleme ## 🚀 Das war's! Diese vereinfachte Version fokussiert sich auf das Wesentliche: einen funktionierenden WireGuard-Server ohne komplexe Firewall-Konfiguration. Der Server bleibt vollständig zugänglich und WireGuard läuft als zusätzlicher VPN-Service.