WireGuard Konfigurations-Generator

Endpoint / Server : Port

DNS Server

VPN Tunnel Netzwerk

Client Allowed IPs (Komma-getrennt)

Optionen

📖 Willkommen beim WireGuard-Generator!

Dieses Tool hilft Ihnen, schnell und einfach sichere Konfigurationsdateien für Ihren eigenen WireGuard-VPN-Server zu erstellen. Füllen Sie links die Felder aus und klicken Sie auf "Konfiguration generieren".

Auf der rechten Seite finden Sie anschließend die fertigen Konfigurationen sowie eine ausführliche Anleitung zur Einrichtung.

💡 Grundlagen & Funktionsweise

WireGuard erstellt einen sicheren "Tunnel" zwischen Ihren Geräten (Clients) und einem Server. Der gesamte Datenverkehr durch diesen Tunnel ist verschlüsselt.

  [Client 1] ----+
  (Handy)       |
                +---- (Sicherer Tunnel) ---- [WireGuard Server] ---- (Internet)
  [Client 2] ----+      (z.B. 10.0.0.0/24)
  (Laptop)      |
                    

Erläuterung der Generator-Optionen

  • Endpoint: Die öffentliche IP-Adresse oder der Domainname Ihres Servers.
  • DNS Server: Der DNS-Server, den die Clients verwenden sollen. `1.1.1.1` ist ein guter, datenschutzfreundlicher Standard.
  • VPN Tunnel Netzwerk: Ein privater IP-Bereich nur für Ihr VPN. Standardmäßig wird `10.0.0.0/24` verwendet, was für die meisten Setups passt.
  • Allowed IPs (Client): Definiert, welcher Traffic vom Client durch den VPN-Tunnel geleitet wird. `0.0.0.0/0, ::/0` bedeutet "alles".
  • Pre-Shared Key: Fügt eine zusätzliche Sicherheitsebene hinzu, die Schutz gegen zukünftige Angriffe durch Quantencomputer bietet. Empfohlen.
  • Masquerade: Erlaubt den VPN-Clients, über die IP-Adresse des Servers auf das Internet zuzugreifen. Notwendig, wenn Clients ihren gesamten Traffic durch das VPN leiten sollen.

🖥️ Server-Installation: Schritt für Schritt

Variante A: Manuelle Installation (Ubuntu/Debian)

  1. WireGuard installieren:
    sudo apt update && sudo apt install wireguard -y
  2. IP-Forwarding aktivieren:
    echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
    echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.d/99-wireguard.conf
    sudo sysctl -p /etc/sysctl.d/99-wireguard.conf
  3. Konfiguration erstellen:
    sudo nano /etc/wireguard/wg0.conf
    ➜ Kopieren Sie die oben generierte Server-Konfiguration und fügen Sie sie ein.
  4. Firewall einrichten (mit UFW):
    sudo ufw allow 51820/udp
    sudo ufw allow OpenSSH
    sudo ufw enable
  5. WireGuard starten & aktivieren:
    sudo systemctl start wg-quick@wg0
    sudo systemctl enable wg-quick@wg0

Variante B: Docker Installation

  1. Docker & Docker Compose installieren: Stellen Sie sicher, dass beides auf Ihrem System läuft.
  2. Verzeichnis und `docker-compose.yml` erstellen:
    mkdir wireguard-server && cd wireguard-server
    nano docker-compose.yml
    version: "3.8"
    services:
      wireguard:
        image: linuxserver/wireguard
        container_name: wireguard
        cap_add:
          - NET_ADMIN
          - SYS_MODULE
        environment:
          - PUID=1000 # anpassen an 'id -u'
          - PGID=1000 # anpassen an 'id -g'
          - TZ=Europe/Berlin
        volumes:
          - ./config:/config
          - /lib/modules:/lib/modules
        ports:
          - 51820:51820/udp
        sysctls:
          - net.ipv4.conf.all.src_valid_mark=1
          - net.ipv6.conf.all.forwarding=1
        restart: unless-stopped
  3. Konfigurationsdatei platzieren:
    Erstellen Sie die Datei `config/wg0.conf` und fügen Sie die oben generierte Server-Konfiguration ein.
  4. Container starten:
    docker-compose up -d

✅ Nach der Installation: Überprüfung

  1. Verbindung am Client herstellen: Aktivieren Sie den Tunnel in Ihrer WireGuard App.
  2. Server-Status prüfen: Führen Sie auf dem Server `sudo wg show` aus. Sie sollten Ihren Client unter "peer" sehen, inklusive eines "latest handshake".
  3. Ping Test: Pingen Sie vom Client aus die VPN-IP des Servers (z.B. `ping 10.0.0.1`).
  4. Public IP prüfen: Rufen Sie auf dem Client eine Seite wie ifconfig.me auf. Es sollte die IP-Adresse Ihres Servers angezeigt werden (wenn `AllowedIPs` auf `0.0.0.0/0` gesetzt ist).

🔧 Erweiterte Konfigurationen & Tipps

Split Tunneling: Nur bestimmten Traffic leiten

Um nur den Traffic zu einem bestimmten Netzwerk (z.B. Ihr Heimnetzwerk `192.168.1.0/24`) durch das VPN zu leiten, passen Sie die `AllowedIPs` in der Client-Konfiguration an:

AllowedIPs = 192.168.1.0/24, 10.0.0.0/8

Hinweis: Das eigene VPN-Netz (`10.0.0.0/8`) sollte immer Teil der `AllowedIPs` sein.

Eigenen DNS-Server nutzen (z.B. Pi-hole)

Um unterwegs Werbung zu blocken, tragen Sie einfach die IP-Adresse Ihres Pi-hole oder AdGuard Home als DNS-Server im Generator ein. Stellen Sie sicher, dass Ihr DNS-Server Anfragen aus dem VPN-Subnetz akzeptiert.