Client-Server Architektur
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Neben der Peer-To-Peer-Architektur, die im Hauptartikel beschrieben ist, gibt es noch die Client-Server-Architektur. Diese hat den Vorteil, dass nicht alle Clients eine DDNS Adresse brauchen, bzw. die IP Adressen der Clients nicht bekannt sein müssen.
Installation¶
Die Installation wurde schon im Hauptartikel beschrieben
Konfiguration¶
Vorbereitung¶
Wenn der Server keine feste globale IP Adresse hat, sollte man diese zuerst konfigurieren. Hierbei hilft das erstellen einer Domain, welche mit der neuesten dynamischen Adresse verbunden ist. Erklärt wird dies in diesem Artikel DDNS-Clients
Server¶
Als erstes sollte man die erforderlichen Schlüssel im Verzeichnis /etc/wireguard generieren. [1][2]
cd /etc/wireguard sudo wg genkey > private.key sudo wg pubkey > public.key < private.key sudo wg genpsk > psk.key
Nun muss in die Datei /etc/network/interfaces folgendes hinzugefügt werden. Damit die WireGuard Schnittstelle bei jedem Start mitgestartet wird.
auto wg0 iface wg0 inet static address 192.168.4.1 netmask 255.255.255.0 pre-up ip link add wg0 type wireguard pre-up wg setconf wg0 /etc/wireguard/wg0.conf up ip link set wg0 up down ip link delete wg0
Nun muss die Datei /etc/wireguard/wg0.conf erstellt werden. Die erforderlichen Informationen finden sich in den WireGuard-Ordnern von Server und Clients.
[Interface] PrivateKey = Privat Key vom Server ListenPort = 50002 [Peer] PublicKey = Public Key vom Client PresharedKey = Preshared Key von Client und Server AllowedIPs = 192.168.4.2/32
Weil in dieser Datei sicherheitskritische Schlüssel
enthalten sind, sollte man auf jeden Fall die Rechte für die Datei einschränken. [4]
sudo chmod 0600 /etc/wireguard/wg0
Client¶
Achtung!
Wenn als IP des Servers, eine dynamische Adresse verwendet wird, muss man der Problembehandlung WireGuard (Abschnitt „Probleme-mit-der-dynamischen-IP“) folgen.
Auch hier müssen diese Zeilen in die Datei /etc/network/interfaces hinzugefügt werden.
auto wg0 iface wg0 inet static address 192.168.4.2 netmask 255.255.255.0 pre-up ip link add wg0 type wireguard pre-up wg setconf wg0 /etc/wireguard/wg0.conf up ip link set wg0 up down ip link delete wg0
Und diese Datei /etc/wireguard/wg0.conf mit diesen Zeilen erstellt werden.
[Interface] PrivateKey = Privat Key vom Client [Peer] PublicKey = Public Key vom Server PresharedKey = Preshared Key von Client und Server Endpoint = beispiel.domain.de:50002 AllowedIPs = 192.168.4.0/24 PersistentKeepalive = 25 # Sendet die eigene IP Adresse an den Server
Auch die Rechte für diese Datei sollte man auf jeden Fall einschränken.
sudo chmod 0600 /etc/wireguard/wg0
Client 2 und mehr¶
Um noch mehr Clients hinzuzufügen, muss die Grundkonfiguration wie zuvor erklärt eingefügt und abgeändert werden.
Und beim Server, muss man in der /etc/wireguard/wg0 nur den Abschnitt [Peer]
vervielfältigen.
LAN miteinbeziehen¶
Die Konfiguration, um das LAN von Clients und/oder Server einzubeziehen steht im Hauptartikel