Zum Inhalt springen
ITDATA-Gera
Zurück zum Blog
Sicherheit

WireGuard: Einfaches, schnelles und sicheres VPN für Einsteiger

WireGuard (oft auch Wireguard geschrieben) ist ein modernes VPN-Protokoll, das Verbindungen zwischen Geräten sicher und blitzschnell macht – ohne komplizierte Einrichtung. In diesem Beitrag zeige ich Ihnen, was es kann, wie es funktioniert und wie Sie in wenigen Minuten Ihr eigenes VPN starten.

Was ist WireGuard?

WireGuard ist ein schlankes, quelloffenes VPN. Es erstellt einen „Tunnel“ zwischen zwei oder mehr Geräten (Peers), damit Daten sicher über das Internet übertragen werden. Es läuft auf Linux, Windows, macOS, Android und iOS und ist so minimal gebaut, dass es leicht zu warten und sehr schnell ist.

Offizielle Seite: https://www.wireguard.com/

Vorteile in Kürze

  • Sehr schnell: moderne Kryptografie (ChaCha20, Curve25519)
  • Einfach: kleine Konfiguration, klare Konzepte
  • Stabil: gutes Roaming bei wechselnden Netzen (WLAN, LTE)
  • Sicher: Audit-freundlicher, schlanker Code
  • Plattformübergreifend: Apps und Tools für alle gängigen Systeme
  • Open Source: transparent und kostenlos nutzbar

Wie funktioniert WireGuard?

  • Jedes Gerät ist ein „Peer“ mit einem Schlüsselpaar (Public/Private Key).
  • Verbindungen laufen über UDP (standardmäßig Port 51820).
  • „AllowedIPs“ steuern, welche Zielnetze durch den Tunnel gehen (Split- oder Full-Tunnel).
  • Die Authentifizierung geschieht per öffentlichem Schlüssel, kein Passwort nötig.
  • Minimaler Overhead = hohe Performance und niedriger Stromverbrauch.

Mehr Details im Quickstart: https://www.wireguard.com/quickstart/

Was Sie brauchen

  • Einen Server mit öffentlicher IP (z. B. vServer/Cloud), Linux empfohlen
  • Einen offenen UDP-Port (51820 oder eigener Port)
  • Optional: Domainname
  • Ein Endgerät als Client (Laptop, Smartphone etc.)
  • Grundkenntnisse Terminal/Editor (für Linux-Setup)

Tipp: Wenn Sie nur Ihr Smartphone schützen möchten, können Sie auch einen fertigen WireGuard‑Provider oder eine NAS/Router-Integration nutzen. Dieser Artikel zeigt aber das DIY‑Setup.

Schnellstart: eigenes WireGuard-VPN in 15 Minuten

Beispiel: Linux-Server (Debian/Ubuntu) + Smartphone als Client. Internes VPN-Netz: 10.0.0.0/24.

1) Server: Installation

sudo apt update
sudo apt install wireguard

Optional (für QR-Codes):

sudo apt install qrencode

2) Server: Schlüssel erzeugen

wg genkey | tee server_private.key | wg pubkey > server_public.key

Notieren Sie den Inhalt beider Dateien. Bewahren Sie private Schlüssel sicher auf.

3) Server: Konfiguration anlegen

Datei /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = SERVER_PRIVATE_KEY
Address = 10.0.0.1/24
ListenPort = 51820
SaveConfig = false

# Optional: Full-Tunnel NAT fürs Internet (IPv4)
PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

Hinweis: eth0 ggf. an Ihr Interface anpassen (ip a prüfen).

IPv4-Forwarding aktivieren:

echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system

4) Server: starten und dauerhaft aktivieren

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

5) Client: Schlüssel erzeugen

Auf dem Client (z. B. Laptop) oder temporär auf dem Server:

wg genkey | tee client_private.key | wg pubkey > client_public.key

6) Client: Konfiguration

Beispiel client.conf (Client-IP: 10.0.0.2):

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 10.0.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = SERVER_PUBLIC_IP_OR_DOMAIN:51820
# Full-Tunnel (alles durch VPN):
AllowedIPs = 0.0.0.0/0, ::/0
# Split-Tunnel (nur internes Netz):
# AllowedIPs = 10.0.0.0/24
PersistentKeepalive = 25
  • Full-Tunnel: gesamter Internetverkehr geht durch das VPN (erfordert NAT am Server).
  • Split-Tunnel: nur Zugriffe auf das VPN-Netz (keine Internet-Weiterleitung nötig).

7) Server: Client als Peer eintragen

Ergänzen Sie in /etc/wireguard/wg0.conf:

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

Neu laden:

sudo wg-quick down wg0 && sudo wg-quick up wg0

8) Smartphone-Setup (optional)

  • App „WireGuard“ installieren (Android/iOS).
  • Client-Konfiguration importieren (Datei oder QR):
  • QR (am Server erzeugen):
    bash qrencode -t ansiutf8 < client.conf
  • Verbinden und Status prüfen.

9) Funktion prüfen

  • Auf dem Client:
  wg

zeigt Handshake, Transfer etc.

  • Bei Full-Tunnel: IP prüfen (sollte Server-IP sein).
  • Bei Split-Tunnel: 10.0.0.1 anpingen oder interne Dienste nutzen.

Häufige Fragen (FAQ)

  • Ist WireGuard besser als OpenVPN/IPsec?
  • Für viele Use-Cases ja: einfacher, oft schneller, weniger Overhead. OpenVPN/IPsec bleiben aber etabliert und bieten teils mehr Enterprise‑Features.
  • Welcher Port?
  • Standard ist UDP 51820. Sie können jeden freien UDP-Port nutzen.
  • Läuft das hinter NAT/CGNAT?
  • Ja. Für eingehende Verbindungen braucht der Server eine öffentliche IP. Clients hinter NAT funktionieren in der Regel ohne Port‑Forwarding.
  • Mehrere Clients?
  • Jeder Client bekommt einen eigenen Schlüssel und eine eindeutige IP im VPN (z. B. 10.0.0.2/32, 10.0.0.3/32 …).
  • Sicherheit?
  • Moderne Kryptografie und extrem schlanker Code. Wie immer: System aktuell halten, Schlüssel schützen, least privilege bei AllowedIPs.

Tipps & Best Practices

  • Erzeugen und sichern Sie Backups Ihrer .conf-Dateien und Schlüssel.
  • Nutzen Sie Firewalls: Erlauben Sie nur UDP auf Ihrem WireGuard‑Port.
  • Wählen Sie sinnvolle AllowedIPs:
  • Full-Tunnel: 0.0.0.0/0, ::/0
  • Split-Tunnel: nur interne Netze (z. B. 10.0.0.0/24)
  • Aktivieren Sie IPv6 nur, wenn Sie es wirklich brauchen und konfiguriert haben.
  • Setzen Sie DNS bewusst (z. B. 1.1.1.1, 9.9.9.9 oder Ihren eigenen Resolver).
  • Benennen Sie Peers sinnvoll (wg set wg0 peer persistent-keepalive 25 hilft bei Mobilgeräten).
  • Überwachen Sie mit wg show und Logfiles; halten Sie System und Kernel aktuell.

Fazit: Mit WireGuard bauen Sie schnell ein sicheres, performantes VPN – ideal für Remote‑Zugriff, Schutz im öffentlichen WLAN oder die Verbindung mehrerer Standorte. Probieren Sie es aus!