WireGuard-Tunnel zu FunkFeuer

Aus FunkFeuer Wiki
Zur Navigation springen Zur Suche springen
WireGuard Tunnel für Nodes
Starttermin

05 Jan. 21

Status

Proof of Concept

Projekt


TODO: WireGuard-Tunnel zu FunkFeuer

Falls du Interesse hast, diese Idee zu einem Projekt und hoffentlich zu einem lauffähigen Produkt für die 0xFF-Gemeinschaft zu machen, mach mit und teile deine Ideen und Vorstellungen.

--> https://matrix.to/#/%230xFF-WireGuardTunnel%3Amatrix.org // #0xFF-WireGuardTunnel:matrix.org

Ziel

  • Es soll möglich sein, über WireGuard die Funktionalität des jetzigen OpenVPN-Zugangs abzubilden.
  • Es soll eine möglichst vollautomatische Konfig über das Frontend machbar sein.
  • Es soll IPv4 und IPv6 möglich sein.
  • ...

Vorteile

  • Verschlüsselung des Tunnels bei niedriger CPU-Last
  • Tunnel ist stateless
  • Software deutlich kleiner als OpenVPN
  • Konfig einfach - am Server komplett aus einer DB zu bauen.
  • NAT Traversal, NO Client PortForwarding

Nachteile

  • für OLSR muss eine Tunneltechnik durch den Tunnel gebaut werden, da WireGuard mit dem KEY/IP Routing sonst Probleme macht.

Link-Sammlung

Netzaufbau

      #-[WG/GRE/OLSR]---<Tunnelserver> ----------OLSR-------<Node1>
      |                  |                                    |
  [OpenWRT Client]       |                                    |
      |                 [WG/GRE/OLSR]                         |
      |                  |                                    |
      #-[WG/GRE/OLSR]---<Remote Node>-----------OLSR----------#

WG mit grev6

OpenWRT

zw. Tunnelserver und Client(OpenWRT) wird ein Wireguard Tunnelaufgebaut Adressen aus dem IPv6 ULA Bereich [[1]] einen klicken

1 serverseitig
2 clientseitig

In diesen Tunnel wird nun ein GREv6 Tunnel gelegt - dieser hat nur 4 Bytes Overhead und macht die komplizierte KEY Routing config bei WireGuard überflüssig.

Wir nutzen also von 1500 Framesize:

MTU bei IPv4 Tunnelverbindung
Frame size 1500 DSL mit PPPoE Mobil
1500 1492 1464
IPv4 zum Tunnelserver 20 1480 1472 1444
WireGuard 40 1440 1432 1404
IPv6 40 1400 1392 1364
GREv6 4 1396 1388 1360
Nutzdaten 104 1396 1388 1360
MTU bei IPv6 Tunnelverbindung
Frame size 1500 DSL mit PPPoE Mobil
1500 1492 1464
IPv6 zum Tunnelserver 40 1440 1452 1424
WireGuard 40 1400 1412 1384
IPv6 40 1360 1372 1344
GREv6 4 1356 1368 1340
Nutzdaten 104 1356 1368 1340

warum nicht gleich GREv6 mit IPSec??

  • weil der ESP Header 52 Bytes benötigt - damit ist man mit WireGuard 12 Bytes im Vorteil.
  • Und Keyverwaltung mit WireGuard ist auch einfacher

MeshMesh

Bei Clients mit guten Uplinks >200Mbit macht es durchaus Sinn - Inter Node Tunnel aufzubauen - mit niedrigem Multiplier die im Fall es Ausfalls des Tunnelservers noch das Mesh weiter erhalten können