Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| projekte:vpn:start [14.08.2018 07:30] – christf | projekte:vpn:start [15.09.2018 18:34] (aktuell) – [Wireguard] christf | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Übersicht über ausgewählte VPN-Technologien | + | ====== |
| ^ | ^ | ||
| - | | Stärke | + | | Stärke |
| - | | | + | | Challenge |
| - | | Challenge | * ist langsam | + | |
| + | |||
| + | ====== Wireguard ====== | ||
| + | |||
| + | Wireguard ist neu, schnell und dem Anschein nach gut geeignet für layer 3 Netze. Folgende Herausforderungen wurden durch die Integration gelöst. | ||
| + | |||
| + | ===== Integration in Gluon ===== | ||
| + | | ||
| + | * Interfaces werden mit einer statischen ll-Adresse konfiguriert. Serverseitig fe80::1/64, am Node mit fe80:: | ||
| + | * public keys werden per TCP vom node zum Gateway übermittelt sodass dort Interfaces eingerichtet werden. Dabei wird auf dem wireguard-Port mit TCP-Protokoll kommuniziert. Der Serverdienst hierfür läuft auf dem gw. | ||
| + | * Hat ein Interface mehr als 7 Minuten keinen handshake gesehen, wird es serverseitig gelöscht. Ist am node ein handshake mehr als 7 Minuten nicht erfolgt, wird der brokerprozess mit keyübermittlung gestartet sofern er noch nicht läuft. | ||
| + | * traffic shaping | ||
| + | |||
| + | ===== Key Exchange ===== | ||
| + | Der Server muss alle Public Keys der Nodes kennen und Interfaces erzeugen. Im wireguard Contrib-Verzeichnis gibt es eine Beispielimplementierung von ncat-client-server in bash, durch die public keys vom node zum server transportiert werden und dort WG-Interfaces erzeugt werden. | ||
| + | Hierbei kann eine Prüfung gegen eine vorher eingestellte whitelist erfolgen. | ||
| + | ===== Entfernung nicht benötigter Interfaces am Server ===== | ||
| + | Wir prüfen periodisch ob die Interfaces aktiv sind und entfernen diese bei Inaktivität. Neuanlage erfolgt bei Bedarf wie bei einem neuen Node mittels Key Exchange. | ||
| + | |||
| + | Die Prüfung erfolgt auf Basis des latest_handshake. | ||
| + | |||