Wireguard VPN

Veröffentlicht: 21.12.2025 | Aktualisiert: 09.04.2026

Ziel ist es mittels Wireguard einen (Home-)Server für bestimmte Applikationen wie z.B. HomeAssistant über ein Virtual Private Network (VPN) von einem öffentlichem Server aus erreichbar zu machen.

Server Setup

Um ein Wireguard VPN bereitzustellen nutzen wir “wg-easy”, ein Tool dass als Docker Container betrieben nicht nur einen Wireguard Server an sich sondern auch eine Web-UI dafür liefert und die Konfiguration vereinfacht.

Die compose.ymldafür sieht z.B. so aus:

services:
    wg-easy:
        image: ghcr.io/wg-easy/wg-easy:15
        container_name: wg-easy
        environment:
            - WG_HOST=ÖFFENTLIHCE-IPv4-ADRESSE-DES-SERVERS
            - WG_PORT=51820
            - WG_DEFAULT_ADDRESS=10.8.0.x #oder ein anderer adressbereich
            - WG_DEFAULT_DNS= #ja, mit absicht leer, damit die dns config der clients nicht überschrieben wird
            - WG_ALLOWED_IPS=10.42.42.0/24,fdcc:ad94:bacf:61a3::/64 #zusätzlicher sicherheitsfaktor
            - INSECURE=false
        networks:
            wg:
                ipv4_address: 10.42.42.42
                ipv6_address: fdcc:ad94:bacf:61a3::2a
        volumes:
            - ./config:/etc/wireguard # für die conifg
            - /lib/modules:/lib/modules:ro # für hardwarebeschleunigte wireguard verschlüsselung
        ports:
            - "51820:51820/udp"  #freigabe in der Firewall nicht vergessen!
            - "51821:51821/tcp"  #freigabe in der Firewall nicht vergessen!
        restart: unless-stopped
        cap_add:
            - NET_ADMIN
            - SYS_MODULE
        sysctls:
            - net.ipv4.ip_forward=1
            - net.ipv4.conf.all.src_valid_mark=1
            - net.ipv6.conf.all.disable_ipv6=0
            - net.ipv6.conf.all.forwarding=1
            - net.ipv6.conf.default.forwarding=1
networks:
    wg:
        driver: bridge
        enable_ipv6: true
        ipam:
            driver: default
            config:
                - subnet: 10.42.42.0/24
                - subnet: fdcc:ad94:bacf:61a3::/64

Client Setup