WireGuard · Grundlagen

🔑Schlüssel & Konfiguration

Ein WireGuard-Peer ist erstaunlich wenig: ein Schlüsselpaar, eine Liste erlaubter IP-Adressen und – optional – eine Adresse, unter der er erreichbar ist. Es gibt keine Zertifikate, keine Benutzer, keine Cipher-Auswahl.

🧮Schlüsselpaare auf Curve25519

Wie wg genkey | tee privatekey | wg pubkey > publickey – nur im Browser. Der öffentliche Schlüssel ist das Ergebnis der Skalarmultiplikation des privaten Schlüssels mit dem Basispunkt u = 9.
Erzeuge Schlüssel …

📄Aufbau einer wg0.conf

Genau ein [Interface]-Abschnitt (die eigene Seite) und beliebig viele [Peer]-Abschnitte (die Gegenseiten).
[Interface]
PrivateKey

Eigener privater Curve25519-Schlüssel (32 Byte, Base64 = 44 Zeichen). Wird nie weitergegeben.

[Interface]
ListenPort

UDP-Port, auf dem gelauscht wird (üblich 51820). Fehlt er, wählt WireGuard einen zufälligen Port – typisch für Clients.

[Interface]
Address

Tunnel-IP(s) des eigenen Interfaces. Kein WireGuard-Begriff, sondern eine Erweiterung von wg-quick (setzt ip address add).

[Interface]
DNS / MTU

Ebenfalls wg-quick: DNS-Server für die Dauer des Tunnels; MTU sonst automatisch (Standard 1420).

[Peer]
PublicKey

Identität der Gegenseite. Nur Pakete, die mit dem passenden Schlüssel authentisiert sind, werden akzeptiert.

[Peer]
AllowedIPs

Zwei Rollen: ausgehend eine Routing-Tabelle (welche Ziele gehen an diesen Peer), eingehend ein Filter (welche Quell-IPs dieser Peer benutzen darf).

[Peer]
Endpoint

Öffentliche ip:port der Gegenseite. Nur auf der Seite nötig, die den ersten Handshake startet; danach aktualisiert sich der Endpoint durch Roaming selbst.

[Peer]
PersistentKeepalive

Sendet alle n Sekunden ein leeres Paket (32 Byte), damit NAT-Einträge offen bleiben. Standard: aus. Häufiger Wert hinter NAT: 25.

[Peer]
PresharedKey

Optionaler symmetrischer 256-Bit-Schlüssel, der in den Handshake gemischt wird (psk2) – zusätzliche Schicht gegen künftige Quantencomputer.

Symmetrie statt Client/Server
WireGuard selbst kennt keine Server und Clients – nur Peers. „Server“ ist in der Praxis einfach der Peer mit fester Adresse und ListenPort, den die anderen per Endpoint ansprechen.

🛠️Konfig-Generator für zwei Peers

Adressen, AllowedIPs und Keepalive anpassen – beide Dateien entstehen live und passen zueinander. Die Schlüssel werden nur hier im Browser erzeugt.
Erzeuge Schlüssel …