Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
howtos:wireguard [2022/02/16 12:59] – created morquai | howtos:wireguard [2022/02/18 08:09] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 14: | Zeile 14: | ||
Sowohl Client als auch Server benötigen eine Konfigurationsdatei. \\ | Sowohl Client als auch Server benötigen eine Konfigurationsdatei. \\ | ||
Server und Client authentifizieren sich gegenseitig mittels eines private/ | Server und Client authentifizieren sich gegenseitig mittels eines private/ | ||
- | Hier kurze Beispiele: | + | Hier kurze Beispiele, in denen der Server immer die erste IP Adress hat und die Clients beginnend mit " |
+ | **Server Konfiguration**, | ||
/ | / | ||
[Interface] | [Interface] | ||
Zeile 21: | Zeile 22: | ||
SaveConfig = false | SaveConfig = false | ||
ListenPort = 51196 | ListenPort = 51196 | ||
- | | + | PrivateKey = <Private Key des Servers> |
- | | + | |
- | | + | |
[Peer] | [Peer] | ||
# Client cli2_zuhause | # Client cli2_zuhause | ||
- | PublicKey = 4LBhYniPmcxoqotuaJV5Zb5XVNQRzjWj+gmse7YDW2I= | + | PublicKey = <Public key des Client 2> |
AllowedIPs = 10.8.10.2/ | AllowedIPs = 10.8.10.2/ | ||
- | | ||
[Peer] | [Peer] | ||
# Client cli3_zuhause | # Client cli3_zuhause | ||
- | PublicKey = rAj1cBnBdyYyQDHV0brlW0b9+RpifFqDx+Keu4HHY2M= | + | PublicKey = <Public key des Client 3> |
AllowedIPs = 10.8.10.3/ | AllowedIPs = 10.8.10.3/ | ||
+ | | ||
+ | **Client 2 Konfiguration**, | ||
+ | [Interface] | ||
+ | # Client cli2_zuhause | ||
+ | PrivateKey = <Private Key des Client 2> | ||
+ | Address = 10.8.10.2/ | ||
+ | # DNS = 9.9.9.9 | ||
+ | [Peer] | ||
+ | # Server zuhause | ||
+ | PublicKey = <Public Key des Servers> | ||
+ | AllowedIPs = 10.8.10.0/ | ||
+ | Endpoint = dein.dyndns.de: | ||
+ | PersistentKeepalive = 30 | ||
+ | |||
+ | **Client 3 Konfiguration**, | ||
+ | [Interface] | ||
+ | # Client cli3_zuhause | ||
+ | PrivateKey = <Private Key des Client 3> | ||
+ | Address = 10.8.10.3/ | ||
+ | DNS = 9.9.9.9 | ||
+ | [Peer] | ||
+ | # Server zuhause | ||
+ | PublicKey = <Public Key des Servers> | ||
+ | AllowedIPs = 10.8.10.0/ | ||
+ | Endpoint = dein.dyndns.de: | ||
+ | PersistentKeepalive = 30 | ||
+ | |||
+ | Der Parameter " | ||
+ | Wenn sämtlicher Traffic (Client 3) über den VPN gejagt wird ist die Angabe eines DNS erforderlich. Dies kann euer Router (i.d.R. die erste IP in eurem lokalen Heimnetz, im Beispiel also 192.168.178.1) oder ein öffentlicher DNS wie 9.9.9.9 sein. Ohne DNS Eintrag funktioniert zwar der VPN, aber eine Namensauflösung findet nicht statt. Ein ping nach 9.9.9.9 wird also funktioneren, | ||
+ | Der Wireguard Server Prozess wird gestartet mit | ||
+ | systemctl start wg-quick@zuhause | ||
+ | Soll der Server im Rahmen des Raspberry Pi boot automatisch gestartet werden, geht dies so: | ||
+ | systemctl enable wg-quick@zuhause | ||
+ | " | ||
+ | ===== Das geht auch einfacher ===== | ||
+ | Wer keine Lust hat, sich die Konfigurationsdateien, | ||
+ | Das Tool stellt ein Verzeichnis mit allen nötigen Dateien und ein paar Hilfsdateien, | ||
+ | * Private und Public Keys für Server und Clients | ||
+ | * Für jeden Client einen QR Code, der mit der Wireguard App auf dem Client einfach gescannt werden kann | ||
+ | * Eine .csv Datei, die es erleichtert sich zu merken (und zu verwalten) welcher Person man für welches Geräte einen Client zur Verfügung stellt. | ||
+ | |||
+ | Viel Spass | ||
+ | |||
+ | ===== Ein wenig Technik dazu? ===== | ||
+ | Stolperfallen gibt es immer. Insbesondere das Routing ist im Rahmen eines VPN Einsatzes ein gerne falsch konfigurierter Stolperstein. Im Zweifel funktioniert keinerlei Internet Zugriff mehr. Hier ein paar Gedanken dazu:\\ | ||
+ | * Der Server stellt für die Clients zum Einen den Zugriff auf das Heimnetz und zum Anderen aufs Internet zur Verfügung. " | ||
+ | * Route ist nicht gleich Route. Routen werden normalerweise mit einem Ziel und einem Gateway konfiguriert, | ||
+ | * Wireguard unterstützt im Gegensatz nur das UPD Protokoll, TCP kann nicht verwendet werden. Ein " | ||
+ | |||
+ | |||
+ | |||
| | ||
| |