Netzwerk⭐ Featuredguide

WireGuard VPN Server einrichten – vollständige Anleitung 2025

Schnelles, modernes VPN auf Ubuntu/Debian in 15 Minuten aufsetzen

S
SeeColors IT
11. Juni 20264 Min. Lesezeit554 Aufrufe

Warum WireGuard statt OpenVPN oder IPsec?

WireGuard hat die VPN-Welt seit seiner Aufnahme in den Linux-Kernel (5.6, März 2020) grundlegend verändert. Im Vergleich zu etablierten Lösungen überzeugt es durch:

  • Performance: 3–4× schneller als OpenVPN, vergleichbar mit IPsec-Hardware
  • Einfachheit: ~4.000 Zeilen Code (OpenVPN: ~100.000) – deutlich kleiner, sicherer, weniger Angriffsfläche
  • Verbindungsqualität: Nahtloser IP-Wechsel (mobil zwischen WLAN/LTE) ohne Verbindungsabbruch
  • Moderne Kryptographie: ChaCha20, Poly1305, Curve25519 – state-of-the-art
  • Konfiguration: Eine Datei pro Interface, schlank und verständlich

WireGuard eignet sich ideal für:

  • Remote-Zugang ins Firmennetzwerk (Homeoffice)
  • Site-to-Site VPN zwischen Standorten
  • Absicherung mobiler Geräte (Smartphones, Laptops)
  • Server-zu-Server-Kommunikation in der Cloud

Voraussetzungen

  • Server: Ubuntu 22.04/24.04 oder Debian 12 (mit öffentlicher IP)
  • Client: Linux, Windows, macOS, Android oder iOS
  • Root/Sudo-Zugang auf dem Server
  • UDP-Port 51820 muss erreichbar sein (Firewall/Router freigeben)

WireGuard auf dem Server installieren

Ubuntu/Debian:
apt update && apt install -y wireguard wireguard-tools

Kernel-Modul prüfen:
modprobe wireguard && echo "OK"

Schlüsselpaare generieren

WireGuard nutzt Public-Key-Kryptographie – jeder Peer braucht ein Schlüsselpaar.

Server-Schlüssel:
cd /etc/wireguard wg genkey | tee server_private.key | wg pubkey > server_public.key chmod 600 /etc/wireguard/server_private.key

Client-Schlüssel (auf dem Server vorbereiten):
wg genkey | tee client1_private.key | wg pubkey > client1_public.key

Schlüssel anzeigen:
cat /etc/wireguard/server_private.key
cat /etc/wireguard/server_public.key

Server konfigurieren

Erstellen Sie die WireGuard-Interface-Konfiguration:

nano /etc/wireguard/wg0.conf

`[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY_HIER_EINFÜGEN>

Routing für Clients aktivieren

PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]

Client 1 - Laptop

PublicKey = <CLIENT1_PUBLIC_KEY_HIER_EINFÜGEN>
AllowedIPs = 10.8.0.2/32`

Hinweis: Ersetzen Sie eth0 durch Ihren tatsächlichen Netzwerk-Interface-Namen (prüfen Sie mit ip link show).

IP-Forwarding aktivieren

WireGuard-Clients müssen Traffic über den Server routen können:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf sysctl -p

WireGuard starten und Autostart aktivieren

systemctl enable --now wg-quick@wg0

Status prüfen:
wg show – Zeigt Interface, Public Key, und verbundene Peers
systemctl status wg-quick@wg0

Client konfigurieren

Linux/macOS/Windows Client

Erstellen Sie auf dem Client eine Konfigurationsdatei wg-client.conf:

`[Interface]
Address = 10.8.0.2/24
PrivateKey =
DNS = 10.8.0.1

[Peer]
PublicKey =
Endpoint = <SERVER_ÖFFENTLICHE_IP>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25`

AllowedIPs bestimmt den Tunnel-Typ:

  • 0.0.0.0/0 = Vollständiger Tunnel (alles durch VPN)
  • 10.8.0.0/24, 192.168.1.0/24 = Split-Tunnel (nur diese Netze durch VPN)

Client unter Linux starten:
wg-quick up /pfad/zu/wg-client.conf

Windows: WireGuard-App von wireguard.com, .conf-Datei importieren.

iOS/Android: WireGuard-App aus dem App Store/Play Store, QR-Code scannen.

QR-Code für Mobile generieren

apt install -y qrencode qrencode -t ansiutf8 < /etc/wireguard/wg-client.conf

QR-Code im Terminal anzeigen und mit Smartphone einscannen.

Firewall (ufw) konfigurieren

Falls UFW aktiv ist:

ufw allow 51820/udp # WireGuard Port ufw allow OpenSSH # SSH nicht vergessen! ufw enable

Mehrere Clients hinzufügen

Für jeden weiteren Client:

  1. Neues Schlüsselpaar generieren
  2. Neuen [Peer]-Block in /etc/wireguard/wg0.conf hinzufügen
  3. WireGuard neu laden: wg syncconf wg0 <(wg-quick strip wg0)

Neue Peer-IP: 10.8.0.3/32, 10.8.0.4/32, etc.

Verbindung testen

Auf dem Client verbinden, dann:

ping 10.8.0.1 – Server-Tunnel-IP pingbar?
curl ifconfig.me – Öffentliche IP = Server-IP?

Auf dem Server aktive Verbindungen anzeigen:
wg show – Zeigt "latest handshake" und übertragene Datenmenge

WireGuard-Verwaltungstool (wg-easy)

Für eine Web-Oberfläche zur Verwaltung empfehlen wir wg-easy (Docker-Container):

docker run -d --name=wg-easy --cap-add=NET_ADMIN --cap-add=SYS_MODULE -e WG_HOST=ihre-server-ip -e PASSWORD=admin123 -v ~/.wg-easy:/etc/wireguard -p 51820:51820/udp -p 51821:51821/tcp --sysctl="net.ipv4.ip_forward=1" ghcr.io/wg-easy/wg-easy

Weboberfläche: http://server-ip:51821

FAQ

Ist WireGuard sicherer als OpenVPN?
WireGuard nutzt modernere Kryptographie und hat erheblich weniger Code – damit eine kleinere Angriffsfläche. Für neue Deployments klare Empfehlung: WireGuard.

Kann WireGuard durch Firewalls/NAT tunneln?
Ja, WireGuard nutzt UDP – das kommt durch die meisten NAT-Router. Bei sehr restriktiven Firewalls, die nur TCP/443 erlauben, ist WireGuard-over-TCP (via wstunnel) oder Cloudflare Tunnel die bessere Alternative.

Wie viele Clients unterstützt ein WireGuard-Server?
Hunderte bis tausende – die Performance-Grenze liegt bei der Server-Bandbreite, nicht beim WireGuard-Protokoll selbst.

Fazit

WireGuard ist in wenigen Minuten eingerichtet und bietet überlegene Performance bei maximaler Sicherheit. Für Homeoffice-Zugang und Site-to-Site-Verbindungen gibt es 2025 kaum eine bessere Lösung.

Als VPN-Spezialisten in Heidelberg implementieren wir WireGuard für KMU in Mannheim, Ludwigshafen und der Rhein-Neckar-Region. Jetzt VPN-Beratung anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel