WireGuard-Tunnel zu FunkFeuer: Unterschied zwischen den Versionen
K (→Vorteile) |
(PoC) |
||
Zeile 2: | Zeile 2: | ||
|name=WireGuard Tunnel für Nodes | |name=WireGuard Tunnel für Nodes | ||
|startdate=2021/01/05 | |startdate=2021/01/05 | ||
|state= | |state=Proof of Concept | ||
|desc= | |desc= | ||
}} | }} | ||
Zeile 23: | Zeile 23: | ||
* Tunnel ist stateless | * Tunnel ist stateless | ||
* Software deutlich kleiner als OpenVPN | * Software deutlich kleiner als OpenVPN | ||
* Konfig | * Konfig einfach - am Server komplett aus einer DB zu bauen. | ||
* NAT Traversal, NO Client PortForwarding | * NAT Traversal, NO Client PortForwarding | ||
== Nachteile == | == Nachteile == | ||
* für | * für OLSR muss eine Tunneltechnik durch den Tunnel gebaut werden, da WireGuard mit dem KEY/IP Routing sonst Probleme macht. | ||
== Link-Sammlung == | == Link-Sammlung == | ||
Zeile 39: | Zeile 35: | ||
* MTU Calc - https://baturin.org/tools/encapcalc/ | * MTU Calc - https://baturin.org/tools/encapcalc/ | ||
* OLSR Debian - https://repos.freiesnetz.at/ | * OLSR Debian - https://repos.freiesnetz.at/ | ||
=== Netzaufbau === | === Netzaufbau === | ||
<pre> | <pre> | ||
#-[WG/GRE/OLSR]---<Tunnelserver> ----------OLSR-------<Node1> | |||
| | | | |||
#- | [OpenWRT Client] | | | ||
| [WG/GRE/OLSR] | | |||
| | | | | | ||
#-[WG/GRE/OLSR]---<Remote Node>-----------OLSR----------# | |||
</pre> | </pre> | ||
=== | = WG mit grev6 = | ||
== OpenWRT == | |||
zw. Tunnelserver und Client(OpenWRT) wird ein Wireguard Tunnelaufgebaut | |||
Adressen aus dem IPv6 ULA Bereich [[https://www.ip-six.de/]] 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: | |||
{| class="wikitable" style="margin:auto" | |||
|+ 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 | |||
|} | |||
== | {| class="wikitable" style="margin:auto" | ||
WireGuard | |+ 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 | |||
Version vom 21. April 2023, 23:27 Uhr
WireGuard Tunnel für Nodes | |
---|---|
Starttermin |
05 Jan. 21 |
Status | |
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
- EdgeRouter WireGuard - https://github.com/WireGuard/wireguard-vyatta-ubnt
- MTU Calc - https://baturin.org/tools/encapcalc/
- OLSR Debian - https://repos.freiesnetz.at/
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:
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 |
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