Tunnelkonzept
Überblick
Bis 2016 (Firmware v0.5.2) werden im Opennet zwei Arten von Tunneln verwendet (siehe auch Opennet FAQ#Im Opennet gibt es so viele Begriffe, was bedeuten diese? (Glossar)):
- Nutzer-Tunnel für die verschlüsselte Verbindung eines Nutzer-APs mit einem Gateway-Server
- Mesh-Tunnel für die Routing/OLSR-Verbindung eines Spender-APs (UGW) mit einem oder mehreren Gateway-Servern
Beide Tunnel wurden bisher via OpenVPN aufgebaut.
Die Einführung von OLSRv2 und IPv6 stellt im Jahr 2016 eine gute Gelegenheit dar, diese Tunnel-Techniken zu überdenken und eventuell anzupassen.
Anforderungen
Die untenstehenden Anforderungen sind noch nicht diskutiert, sondern nur ein Entwurf. |
Allgemeine Anforderungen:
- Unterstützung in OpenWrt
- stabile Entwicklungs-Community
Eigenschaft \ Tunnel | Nutzer-Tunnel (Nutzer-AP <-> UGW-Server) | Mesh-Tunnel (UGW-AP <-> UGW-Server) |
---|---|---|
NAT-Unterstützung | nicht erforderlich | IPv4: erforderlich |
Performance / Bandbreite | ~20 MBit/s | ~50 MBit/s (Nutzer-Tunnel sollen über die Mesh-Verbindung fließen) |
Verschlüsselung | erforderlich | nicht erforderlich |
Authentifikation | idealerweise via X.509 | eventuell halb- oder vollautomatisch? |
Implementierungen
Die Performance/Bandbreite-Werte stammen aus unterschiedlichen Quellen und sind kaum vergleichbar. Beispielsweise wird OpenVPN bei einer Messung von Justus Beyer mit 28 MBit/s bewertet, während unter Opennet-Bedingungen (Konfiguration, Anbindung) mit vergleichbarer Hardware nicht mehr als 10 MBit/s erreichbar sind.
Implementierung | NAT-Unterstützung | Performance [P1] | Performance [P2] | Verschlüsselung | Authentifikation | OpenWRT-Paketierung | Committer (letzte 12 Monate) |
---|---|---|---|---|---|---|---|
OpenVPN | ja | ~10 MBit/s | 28MBit/s | ja | X.509 | ja | >10 |
fastd | ja | ~20 MBit/s | - | ja | ein Schlüssel je Client | ja | 1 |
tunneldigger | ja | ? | - | nein | nein | inoffizielles Paket | ~3 |
µAnytun | ja | ? | - | ja | ? | ja | 1 |
GRE / L2TP / IP in IP | nein | ~80 MBit/s | 91MBit/s | nein | nein | ja | viele (Linux-Entwicklungsgemeinde) |
(GRE / L2TP / IP in IP) + IPsec | nein | ? | - | ja | shared key, X.509 | ja | je nach Schlüsselverwaltung |
[P1] Erfahrungen mit Opennet Installationen
[P2] https://justus.berlin/2016/02/performance-of-tunneling-methods-in-openwrt/