Suche Anleitung für VPN Verbindung Lancom - Strongswan NetworkManger

Forum zum Thema allgemeinen Fragen zu VPN

Moderator: Lancom-Systems Moderatoren

Antworten
devil77
Beiträge: 18
Registriert: 28 Sep 2015, 14:59

Suche Anleitung für VPN Verbindung Lancom - Strongswan NetworkManger

Beitrag von devil77 »

Hallo,
bisher konnte ich die VPN Profile einfach per Einrichtungshilfe des Routers erstellen und sie in den Lancom VPN Clienten auf den Windows Geräten einspielen. Danach lief sofort auf Anhieb die VPN Verbindung.
Jetzt wollte ich ein Notebook mit Linux per VPN Verbinden. Nutzen wollte ich dafür das Strongswan Applet für den NetworkManager.
Aber seit ein paar Stunden drehe ich mich Kreis und komme nicht wirklich vorwärts bzw. konnte keine "einfach" nachzuvollziehende Anleitung finden.
Gestartet bin ich mit dieser Anleitung https://support.lancom-systems.com/know ... d=32983593 was aber keine Verbindung zu Stande brachte. Ich hatte dann versucht die Ursache zu ergründen und musste feststellten das die Anleitung veraltet ist bzw. nicht mit dem NetworkManager funktionert. Mein Vorhaben das änlich einfach wie bei den Windows Maschinen zu halten ist wohl doch nicht so einfach bei Linux.

Kurz gesagt kann mir jemand eine Anleitung sagen bzw. mir Schritt für Schritt erklären was man für eine VPN Verbindung Lancom - Linux machen muss?

Danke und Grüße Sten
devil77
Beiträge: 18
Registriert: 28 Sep 2015, 14:59

Re: Suche Anleitung für VPN Verbindung Lancom - Strongswan NetworkManger

Beitrag von devil77 »

Die hatte ich zum Teil gefunden und versucht zu verstehen. Absicherung per Zertifikat wollte ich mir für später aufheben und erstmal das ganze per PSK testen. Aber da genau scheitert es.
Folgende Fehlermeldungen tauche beim verbinden per NetworkManager auf dem Linux Client auf.

Code: Alles auswählen

Apr 14 21:31:37 Thinkpad charon-nm[12647]: 05[CFG] received initiate for NetworkManager connection VPNNetworkManager
Apr 14 21:31:37 Thinkpad charon-nm[12647]: 05[LIB]   file coded in unknown format, discarded
Apr 14 21:31:37 Thinkpad charon-nm[12647]: 05[LIB] building CRED_CERTIFICATE - X509 failed, tried 5 builders
Apr 14 21:31:37 Thinkpad charon-nm[12647]: 05[CFG] loading CA certificate '/etc/ssl/certs/java/cacerts' failed
Apr 14 21:31:37 Thinkpad charon-nm[12647]: 05[CFG] using gateway identity 'IP_Firma'
Apr 14 21:31:37 Thinkpad charon-nm[12647]: 05[IKE] initiating IKE_SA VPNNetworkManager[1] to IP_Firma
Apr 14 21:31:37 Thinkpad charon-nm[12647]: 05[ENC] generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
Apr 14 21:31:37 Thinkpad charon-nm[12647]: 05[NET] sending packet: from 192.168.1.128[59056] to IP_Firma[500] (1000 bytes)
Apr 14 21:31:37 Thinkpad NetworkManager[562]: <info>  [1618428697.9755] vpn-connection[0x5631255902b0,75eb2327-8537-469c-b3ac-2fed1faf6e5c,"VPNNetworkManager",0]: VPN plugin: state changed: starting (3)
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 10[NET] received packet: from IP_Firma[500] to 192.168.1.128[59056] (38 bytes)
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 10[ENC] parsed IKE_SA_INIT response 0 [ N(INVAL_KE) ]
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 10[IKE] peer didn't accept DH group ECP_256, it requested MODP_2048
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 10[IKE] initiating IKE_SA VPNNetworkManager[1] to IP_Firma
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 10[ENC] generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 10[NET] sending packet: from 192.168.1.128[59056] to IP_Firma[500] (1192 bytes)
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[NET] received packet: from IP_Firma[500] to 192.168.1.128[59056] (495 bytes)
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[ENC] parsed IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(HASH_ALG) CERTREQ V ]
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[ENC] received unknown vendor ID: 81:75:2e:b5:91:4d:73:5c:df:cd:c8:58:c3:a8:ed:7c:1c:66:d1:42
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[CFG] selected proposal: IKE:AES_CBC_256/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[IKE] local host is behind NAT, sending keep alives
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[IKE] received 1 cert requests for an unknown ca
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[IKE] sending cert request for 
.......
.......
.......
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[IKE] authentication of 'VPNuserHOME' (myself) with pre-shared key
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[IKE] establishing CHILD_SA VPNNetworkManager{1}
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[ENC] generating IKE_AUTH request 1 [ IDi N(INIT_CONTACT) CERTREQ AUTH CPRQ(ADDR ADDR6 DNS NBNS DNS6) SA TSi TSr N(MOBIKE_SUP) N(NO_ADD_ADDR) N(EAP_ONLY) N(MSG_ID_SYN_SUP) ]
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 11[NET] sending packet: from 192.168.1.128[49400] to IP_Firma[4500] (8176 bytes)
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 13[NET] received packet: from IP_Firma[4500] to 192.168.1.128[49400] (80 bytes)
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 13[ENC] parsed IKE_AUTH response 1 [ N(AUTH_FAILED) ]
Apr 14 21:31:38 Thinkpad charon-nm[12647]: 13[IKE] received AUTHENTICATION_FAILED notify error
Scheinbar verlangt er bei der Verbindung nach einem Zertifikat und kann es aber nicht finden.
Was mir nicht klar ist wer hier welches Zertifikat verlangt bzw. dachte ich das bei PSK kein Zertifikat benötigt wird.
devil77
Beiträge: 18
Registriert: 28 Sep 2015, 14:59

Re: Suche Anleitung für VPN Verbindung Lancom - Strongswan NetworkManger

Beitrag von devil77 »

Es läuft!!!

Das mit dem Zertifikat konnte ich lösen indem ich mich per Browser am Lancom angemeldet habe und dann über die Adresszeile des Browsers das Zertifikat exportiert habe. Das Zertifikat habe ich dann beim Networkmanager unter Server Zertifikat hinterlegt.

Durch VPN Debug Trace konnte ich sehen das Linux als Nutzer einen FQDN verlangt.
In der verlinkten Anleitung war das Bsp. mit Key-ID hinterlegt.
Den lokalen Identitätstyp habe ich auf keinen gestellt und das gleiche Passwort wie bei der entfernten Identität hinterlegt.

Im Networkmanager musste ich bei Server Identität nur noch die feste IP eingeben.
dingdong
Beiträge: 4
Registriert: 17 Jan 2022, 11:17

Re: Suche Anleitung für VPN Verbindung Lancom - Strongswan NetworkManger

Beitrag von dingdong »

Hallo Zusammen,

ich wollte meine Lösung hier mal niederschreiben, da ich keine Komplettanleitung gefunden habe.

Was erreicht werden sollte:
- VPN Verbindung von raspberry pi zu Lancom Router 1790EF mit IPsec IKEv2 PSK
-> Firmware ist derzeit 10.50.0331RU2
- Als Zieladresse soll anstatt einer IP-Adresse eine Domain von dyndns.com verwendet werden
- Herstellen einer RDP-Verbindung zu einem Windows Endgerät über RDP

Wir setzen bereits den LANCOM VPN Client ein und haben eine One-Klick-Konfiguration erstellt.
Vielleicht ist für Teile der Konfiguration seitens des Lancom Routers eine bestehende One-Klick-Konfiguration notwendig, z.B. beim Zuordnen des IPv4 Pools der Verbindung nach der Lancom Anleitung für VPN Android.

Konfiguration LANCOM

VPN Verbindung IKEv2 mit PSK in Lancom 1790EF einrichten
Diese Anleitung für Android beschreibt das sehr gut https://support.lancom-systems.com/know ... d=32983593
Achtung, folgende Punkte müssen anders/zusätzlich konfiguriert werden:
- Lokale Identitätstyp = FQDN ausählen
- Lokale Identität = (Syntax ist bei mir benutzername.fqdn.de )
- Lokales Passwort = (Passwort mit mindestens 20 Zeichen vergeben, ist Voraussetzung für PSK mit Strongswan, siehe https://wiki.strongswan.org/projects/st ... orkManager ein kürzeres Passwort kann später gar nicht einegeben werden.
- Entfernter Identitätstyp = FQDN
- Entfernte Identität = (gleiche Eingabe wie bei Lokale Identität)
- Entferntes Passwort = (gleiche Eingabe wie bei Lokales Passwort)

Firewall Regel erstellen
Damit der VPN-Client Zugang zu Geräten im Netzwerk hat muss eine VPN-Regel erstellt werden.

Über LANconfig:

Firewall/QOS -> IPv4-Regeln -> Regeln -> Hinzufügen

Reiter "Allgemein"
- Name vergeben
- Haken bei "Diese Regel ist für die Firewall aktiv"
- Haken bei "Diese Regel wird zum Erzeugen von VPN-Netzbeziehungen (SAs) verwendet"
- Haken bei "Diese Regel hält die Verbdindungszustände nach (empfohlen)"

Reiter "Aktionen"
- Hinzufügen -> ACCEPT
- falls REJECT eingetragen ist, das entfernen

Reiter "QoS"
- bei mir keine Eintragungen

Reiter "Stationen"
Ich möchte, dass der Client nur Zugriff auf einen einzelnen Rechner hat, deshalb konfiguriere ich wie folgt:
- Verbindung-Quelle -> Verbindungen von flgenden Stationen -> Hinzufügen -> "Benutzerdefinierte Station hinzufügen" -> Gegenstelle mit der Anleitung von Lancom oben eingerichtet wurde
- Verbindungs-Ziel -> Verbindungen an folgende Stationen: -> Benutzerdefinierte Station -> Eine IP Adresse oder ein Bereich von Adressen -> IP Adresse für PC auf den sich mit RDP verbunden werden soll eingeben

Reiter "Dienste"
Hier habe ich keine Anpassungen vorgenommen, Tipps wie man die Sicherheit erhöhen kann nehme ich gerne entgegen
- Protokolle/Quell-Dienste -> alle Protokolle/Dienste
- Protokolle/Ziel-Dienste -> alle Protokolle/Dienste

raspberry pi einrichten
Ich vermute, dass die Installation und Konfiguration auch bei anderen Debian / Linux Systemen funktioniert, falls jemand das bestätigen oder ergänzen kann nur zu.

raspberry pi OS installieren
raspberry pi OS mit raspberry pi imager installieren, verwendeter Release 2021-10-30 (bullseye)
https://www.raspberrypi.com/software/

NetworkManager und Strongswan installieren

Code: Alles auswählen

sudo apt-get update
sudo apt install network-manager network-manager-gnome network-manager-strongswan
Neustart

Code: Alles auswählen

sudo reboot
Standard Netzwerkverwaltung von rpi OS entfernen da sonst Networkmanager nicht funktioniert

Code: Alles auswählen

sudo apt purge openresolv dhcpcd5
Neustart

Code: Alles auswählen

sudo reboot
VPN-Verbindung in Network Manager einrichten
-> WLAN-/Ethernetverbindung muss bereits vorhanden sein

rasperry pi Menü (=Himbere in der linken oberen Ecke) -> Einstellungen -> Erweiterte Netzwerkkonfiguration
- (+) klicken
- Verbindungstyp: VPN (IPsec/IKEv2 (strongswan) ) auswählen
- Erstellen

Verbindungsname: (vergeben wie man möchte)

Reiter "Allgemein"
- Haken bei "Alle Benutzer dürfen dieses Netzwerk verwenden" ist bei mit gesetzt, kann aber nach Präferenz gesetzt werden oder nicht
- Kostenpflichtige Verbindung: Automatisch

Reiter "VPN"
Server
- Adresse: meinedomain.dyndns.com oder feste IPv4 Adresse - für die erste Einrichtung empfehle ich die IPv4 Adresse, weshalb steht weiter unten
- Zertifikat (Keine)
- Identität: benutzername.fqdn.de

Client
- Authentisierung: Pre-shared Key
- Zertifikat etc. ist ausgegraut da PSK verwendet wird
- Identität: benutzername.fqdn.de
- Benutzername ist ausgegraut
- Passwort wird standardmäßig bei jeder Verbindung abgefragt, das Verhalten kann aber über Schaltfläche in Passwortzeile geändert werden.

Optionen
- Haken bei "Innere IP-Adresse beziehen" setzen
- KEIN Haken bei IP-Pakete komprimieren (funktioniert auch mit dem Haken, habe ihn nur nicht gesetzt)
- Server-Port: (leer, bzw. auf eure Umgebung anpassen)

Reiter "Proxy"
- Methode: Keine
Restliche Felder sind bei mir leer.

Reiter "IPv4-Einstellungen"
- Methode (Automatisch (VPN))
- Zusätzliche statische Adressen: (leer)
- Zusätzlicher DNS-Server: Lokale IP-Adresse meines Windows Servers mit Active Directory/DNS 192.168.128.XXX
- Zusätzliche Suchdomänen: (leer)

Reiter "IPv6-Einstellungen"
- Methode (Automatisch (VPN))
- keine weiteren Einstellungen

-> Speichern

Verwendung IPv6 bei Bedarf deaktivieren
Bei mir war es der Fall, dass versucht wurde die Verbindung zum Lancom Router über IPv6 aufzubauen wurde wenn ich die dyndns Domain verwendet habe.
Da IPv6 in meiner Umgebung nicht konfiguriert ist schlug das fehl. Sobald ich die feste IPv4 Adresse verwendet habe klappte die Verbindung.

Prüfen ob die Domain als IPv4 oder IPv6 aufgelöst wird kann man über

Code: Alles auswählen

sudo journalctl -f
Dazu einfach den Befehl oben ins Terminal am raspberry pi eingeben, das Terminal geöffnet lassen und dann in der oberen Menüleiste des raspberry pi über NetworkManger oben rechts -> VPN-Verbindungen -> "Name VPN-Verbindung" die Verbindung starten und im Terminal schauen welche Art IP-Adresse verwendet wird.
IPv6 ging bei mir wie gesagt nicht, also habe ich es am raspberry pi deaktiviert:

Sysctl.conf öffnen

Code: Alles auswählen

sudo nano /etc/sysctl.conf
und folgende Zeile hinzufügen

Code: Alles auswählen

net.ipv6.conf.all.disable_ipv6=1
Zusätzlich noch alle IPv6 Hosts in /etc/hosts mit einem # im ersten Zeichen der Zeile auskommentieren

Code: Alles auswählen

sudo nano /etc/hosts

Code: Alles auswählen

# ::1           localhost ip6-localhost ip6-loopback
# ff02::1               ip6-allnodes
# ff02::2               ip6-allrouters
Neustart

Code: Alles auswählen

sudo reboot
freerdp installieren

Code: Alles auswählen

sudo apt-get install freerdp2-x11
Verndung FreeRDP siehe https://manpages.org/xfreerdp
oder

Code: Alles auswählen

xfreerdp -h
Anleitung für Installation, Verwendung und Desktopverknüpfung: https://schmidt-feldberg.de/raspberry-p ... zugreifen/

Verwendung Zertifikat
Aktuell habe ich die Konfiguration nur mit PSK hinbekommen.

Ich würde die Verbindung gerne per Zertifikat absichern und habe das auch schon nach folgender Anleitung versucht
- https://www.lancom-systems.de/certificate-generation/

Der Upload des Zertifikats über Lanconfig funktioniert leider nicht / bringt die Fehlermeldung "FAILURE". In der Weboberfläche erhalte ich die Fehlermeldung, dass das Passwort falsch sei.
Vielleicht hängt es mit der LCOS-Version zusammen, ein Update hat das Problem anscheinend gelöst
http://www.lancom-forum.de/fragen-zum-t ... 26#p103586

Quellen
- Lancom Forum Allgemein - vielen Dank an alle die Ihre Zeit darauf verwenden hier Informationen zu allen möglichen Fragestellungen zu posten. Das hat mir auch schon bei anderen Themen exterem weitergeholfen.
- Der Thread in den ich das poste
- Strongswan auf raspberry pi installieren https://www.denny-fuchs.de/blog/2019/04/07/lancom_vpn/
- IPv6 deaktivieren: https://askubuntu.com/questions/440302/ ... r-o#441122
Antworten