08.02.2023
HAMNET über VPN mit WireGuard
Grundlagen:
Bei DB0AGI habe ich jetzt einen Zugang (einen Tunnel) zum HAMNET über eine WireGuard-VPN-Verbindung eingerichtet. Die benötigte App für WireGuard gibt es kostenfrei für alle gängigen Betriebssysteme. Das VPN mit WireGuard leitet durch meine Firewall auf den HAMNET-Router bei DB0AGI weiter. Mir persönlich bekannte OM’s und XYL’s können die Zugangsdaten von mir erhalten.
Wer sich für Details interessiert, kann diese hier nachlesen: https://de.wikipedia.org/wiki/WireGuard. Und wer noch mehr wissen will, hier: https://www.wireguard.com/. WireGuard ist eine moderne implementation für Tunnel, WireGuard gilt als sicher. Es erfordert relativ wenig Ressourcen im Vergleich zu L2TP mit IPSec oder OpnVPN.
WireGuard basiert auf einem Schlüsselpaar. Einem privaten Schlüssel, der das Gerät mit der Wireguard-App nicht verlassen sollte, und einem öffentlichen Schlüssel. Der öffentliche Schlüssel muss der Gegenstelle bekannt sein. Sowohl Server (bei DB0AGI) als auch der Client (bei euch auf dem Gerät) benötigen jeweils einen kompletten Schlüsselsatz aus privatem Schlüssel, öffentlichem Schlüssel und bei Bedarf einen symmetrsichen, vorab geteilten Schlüssel (pre shared key [PSK]). Die Partner autentifizieren sich anhand der öffentlichen Schlüssel. Wenn die Authentifizierung erfolgreich ist, wird eine verschlüsselte Verbindung , ggf. unter Verwendung des PSK, hergestellt.
Hinweis:
Für das HAMNET ist dieser Bereich der IP-Adressen vorgesehen:
44.0.0.0 – 44.191.255.255.
Anders ausgedrückt:
44.0.0.0/9 und 44.128.0.0/10.
Nur Adressen aus diesem IP-Bereich sollen über den Tunnel.
Als ersten Schritt müsst ihr euch die WireGuard-App herunterladen und installieren.
Gemeinsame Parameter für den Tunnel
Die Adresse (den Endpunkt) von DB0AGI und der Port:
db0agi.no-ip.org:13231
Die erlaubten / die zulässigen IPs:
44.0.0.0/9, 44.128.0.0/10
Der zunächst einzutragende persönliche Adresse (die richtige Adresse schicke ich euch dann später):
10.44.44.0/32
Die einzutragenden DNS-Server. Die Liste könnt ihr später euren Vorlieben anpassen, "44.148.43.6" sollte aber besser drin bleiben:
8.8.8.8, 44.148.43.6
Das einzustellende dauerhafte Keepalive zum Aufrechterhalten des Tunnels:
25
Der public Key von DB0AGI (wichtig: das "=" am Ende gehört dazu!):
RE8WuqzP5phi2ppR8Z8xXaF9/Dc0Si9Q57WBI44ScXU=
Einrichtung der APP in iOS:
- Die App öffnen und einen neuen, leeren Tunnel erzeugen: Auf „Selbst erstellen“ drücken.
- Dem neuen Tunnel einen Namen geben. Beispiel: HAMNET-DB0AGI
- Ein Schlüsselpaar erzeugen. „Schlüsselpaar erzeugen“ drücken.
- Die Daten von oben eintragen.
- Den öffentlichen Schlüssel kopieren. Wichtig: Das "=" am Ende der Schlüssels ist wichtig und muss mit kopiert werden. Sonst klappt es nicht....
Einrichtung der APP in Android:
- Die App öffnen und einen neuen Tunnel anlegen.
- Dem neuen Tunnel einen Namen geben. Beispiel: HAMNET-DB0AGI
- Ein Schlüsselpaar erzeugen.
- Die Daten von oben eintragen.
- Den öffentlichen Schlüssel kopieren. Wichtig: Das "=" am Ende der Schlüssels ist wichtig und muss mit kopiert werden. Sonst klappt es nicht....
Einrichtung Windows:
- Die App öffnen und einen neuen, leeren Tunnel erzeugen. Die Schaltfläche rechts neben „Tunnel hinzufügen“ drücken -> „einen leeren Tunnel hinzufügen“
- Dem neuen Tunnel einen Namen geben. Beispiel: HAMNET-DB0AGI
- Ein Schlüsselpaar erzeugen. Auf „aktivieren“ drücken.
- Ihr erhaltet eine Konfigurationsdatei angezeigt, in der nur der private Schlüssel eingetragen ist. Diesen privaten Schlüssel müsst ihr unbedingt unverändert belassen.
- Die Konfigurationsdatei nach diesem Muster erweitern (am besten mit Copy-Paste) und dann speichern:
[Interface]
PrivateKey = unverändert übernehmen!
Address = 10.44.44.0/32
DNS = 8.8.8.8, 44.148.43.6
[Peer]
PublicKey = RE8WuqzP5phi2ppR8Z8xXaF9/Dc0Si9Q57WBI44ScXU=
AllowedIPs = 44.0.0.0/9, 44.128.0.0/10
Endpoint = db0agi.no-ip.org:13231
PersistentKeepalive = 25 - Oberhalb der Konfiguration findet ihr in der Kopfzeile euren öffentlichen Schlüssel. Diesen öffentlichen Schlüssel kopieren und an mich schicken. Wichtig: Das "=" am Ende der Schlüssels ist wichtig und muss mit kopiert werden. Sonst klappt es nicht....
Öffentlichen Schlüssel teilen:
Euren öffentlichen Schlüssel an mich schicken.
z.B: per Mail an d c 2 h c (at) d a r c . de [Natürlich ohne die Leerzeichen]
oder über WhatsApp, Telegramm, SMS oder einen anderen digitalen Kanal.
Ich werde dann bei nächster Gelegenheit bei DB0AGI den Tunnel zu euch konfigurieren und euch den symmetrischen Schlüssel (Pre Shared Key) sowie eure persönliche IP-Adresse für den Tunnel schicken. Am besten alle Daten mit Copy->Paste übernehmen. Auch wenn ich mich wiederhole: Das "=" am Ende der Schlüssels ist wichtig und muss mit kopiert werden. Sonst klappt es nicht....
Die Konfiguration vervollständigen:
iOS:
Den symmetrischen Schlüssel (PSK) in der Konfiguration ergänzen und die IP-Adresse richtig setzen.
Das sollte dann so aussehen:
Android:
Den vorab geteilelten Schlüssel (PSK) in der Konfiguration ergänzen und die Adresse (eure eigene IP-Adresse für den Tunnel) richtig setzen.
So in etwas sollte es dann aussehen:
Windows:
In der Konfigurationsdatei den PresharedKey (PSK) ergänzen und die richtige Adresse eintragen (am besten mit Copy-Paste):
[Interface]
PrivateKey = unverändert lassen!
Address = 10.44.44.0/32 --> Durch die finale Adresse ersetzen
DNS = 8.8.8.8, 44.148.43.6
[Peer]
PublicKey = RE8WuqzP5phi2ppR8Z8xXaF9/Dc0Si9Q57WBI44ScXU=
PresharedKey = --> Euren PSK hier hineinkopieren
AllowedIPs = 44.0.0.0/9, 44.128.0.0/10
Endpoint = db0agi.no-ip.org:13231
PersistentKeepalive = 25
Dann die Daten speichern.
Aktivieren
Den Tunnel dann bei Bedarf über die WireGuard App, oder über die entsprechenden Schaltflächen im jeweiligen System starten.
Happy Hamnet!
73 de Christian, DC2HC
08.02.2023
HAMNET über VPN mit L2TP/IPsec zu DB0AGI
Bei DB0AGI habe ich jetzt einen Zugang zum HAMNET über eine VPN-Verbindung eingerichtet. Das VPN lässt sich unter allen gängigen Betriebssystemen einrichten. Das VPN leitet durch meine Firewall auf den HAMNET-Router bei DB0AGI weiter.
Technische Grundlagen
Basis des VPN’s ist das L2TP Protokoll. Wer sich für Details interessiert, kann diese hier nachlesen: https://de.wikipedia.org/wiki/Layer_2_Tunneling_Protocol. L2TP wird eingebettet in IPsec, damit die Zugangsdaten und der Datenverkehr an sich im Internet sicher verschlüsselt sind, hier die Details: https://de.wikipedia.org/wiki/IPsec.
Als erster Schritt wird über IPsec ein vorab geteilter Schlüssel (PSK: pre shared key) eingesetzt. Dieser vorab geteilte Schlüssel ist für alle Nutzer des VPNs identisch. Steht die verschlüsselte IPsec-PSK Verbindung, erfolgt das Einloggen ins HAMNET mit L2TP mit persönlichem Benutzernamen und Kennwort. L2TP stellt die Verbindung zwischen dem HAMNET-Netzwerk und eurem Gerät her.
Es handelt sich um ein Standardverfahren, das für alle gängigen Betriebssystem automatisiert verfügbar ist.
- Linux
- Android bis Version 11
- iOS
- Windows 10 / 11 à Windows braucht etwas Hilfe. Siehe extra Artikel.
Hinweis:
Es gibt Berichte, das L2TP mit IPsec als nicht sicher angesehen wird. Da im Amateurfunk, und auch im HAMNET, die Daten ohnehin unverschlüsselt übertargen werden, es sich also nicht um vertrauliche INformationen handelt, sollte dies kein Problem darstellen.
Zugangsdaten
Mir persönlich bekannte OM’s und XYL’s können die Zugangsdaten bei mir per Mail anfragen: d c 2 h c (at) d a r c . d e . Natürlich ohne die Leerzeichen. Der Zugang ist als Überbrückungslösung gedacht, bis ihr bei euch einen HAMNET-Zugang auf HF-Ebene einrichten könnt. Wobei ich euch gerne auch dabei unterstütze.
Prinzipielle Einrichtung des VPN's:
- Menü für Einrichtung eines neues VPN öffnen
- Art des VPNs auswählen. Die VPNs werden in den Betriebssystemen möglicherweise unterschiedlich bezeichnet. Wichtig ist L2TP und IPsec mit PSK.
Bezeichnungen:
L2TP / IPsec oder L2TP / IPsec PSK oder L2TP/PSK oder so ähnlich. - Dies benötigten Zugangsdaten bekommt ihr von mir per Mail: Serveradresse, Pre shared Key, Account / Username und persönliches Passwort
- Bitte nicht „gesamten Verkehr senden“ aktivieren.
- Ihr habt dann über DB0AGI Zugriff auf das HAMNET mit den IP-Bereichen 44.0.0.0/9 und 44.128.0.0/10
So sieht das dann bei iOS aus:
So sieht das dann bei Android aus:
(beispielhaft für Version 10)
So sieht das dann bei Windows 10 aus:
So sieht das dann bei Windows 11 aus:
vy 73 de DC2HC
L2TP/IPsec hinter Firewall mit Windows
Unter Windows beeinflusst der Registrierungseintrag "AssumeUDPEncapsulationContextOnSendRule" das Verhalten von Windows, wenn UDP-Pakete über eine VPN-Verbindung gesendet werden. Wenn der Wert auf "1" gesetzt wird, geht Windows davon aus, dass die VPN-Verbindung ein öffentliches Netzwerk ist, und wendet bestimmte Regeln für die Netzwerkkommunikation an. Mit dem Wert "2" funktioniert der Verbindunsaufbau auchn dann, wenn beide Seitenhinter einer Firewall liegen.
Um den Wert von "AssumeUDPEncapsulationContextOnSendRule" in der Windows-Registrierung zu setzen, sind diese Schritte notwendig:
- Klicken Sie auf die Windows-Schaltfläche und geben Sie "regedit" ein. Klicken Sie auf die "Registrierungs-Editor" App, um sie zu öffnen.
- Navigieren Sie zu dem folgenden Registrierungsschlüssel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent - Klicken Sie mit der rechten Maustaste auf einen leeren Bereich im rechten Fensterbereich und wählen Sie "Neu" -> "DWORD-Wert (32-Bit)".
- Geben Sie "AssumeUDPEncapsulationContextOnSendRule" als Namen für den neuen Eintrag ein.
- Klicken Sie doppelt auf den Eintrag "AssumeUDPEncapsulationContextOnSendRule", um das Eigenschaftsfenster zu öffnen.
- Ändern Sie den Wert in "2" und klicken Sie auf "OK".
- Schließen Sie den Registrierungs-Editor.
Nachdem Sie diesen Registrierungseintrag geändert haben, geht Windows davon aus, dass die VPN-Verbindung ein öffentliches Netzwerk hinter Firewalls ist und wendet die entsprechenden Regeln für die Netzwerkkommunikation an. Beachten Sie, dass das Ändern der Windows-Registrierung ein sensibler Vorgang ist, und dass Sie bei der Bearbeitung der Registrierung vorsichtig sein sollten, um das System nicht zu beschädigen.
73 de Christian, DC2HC
Artikel mit Hilfe von https://chat.openai.com/chat erstellt.