OPNsense Forum

International Forums => German - Deutsch => Topic started by: rainerle on February 28, 2019, 05:45:27 pm

Title: [SOLVED] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: rainerle on February 28, 2019, 05:45:27 pm
Hallo zusammen!

Ich habe hier folgendes vor:
- Drei Benutzergruppen (ADMIN,DEV,USER)
- Alle haben VPN Zugriff über dasselbe IPsec IKEv2
- Anhand der zugewiesenen IP Adresse des Virtual Address Pools dürfen sie per Regel in bestimmte Netze und zu bestimmten Applikationen

Die Benutzer sind auf einem Radius Server.

Mir fällt mit der OPNsense GUI keine offensichtliche Lösung für mein Problem ein...

Hat sowas schon mal jemand gemacht?

Besten Gruß
Rainer
Title: Re: [Resolved] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: rainerle on March 10, 2019, 11:04:01 am
Hab da selber rumgepatcht...
Title: Re: [Resolved] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: hbc on March 10, 2019, 11:45:38 am
Hi Rainerle!

Hast Du eine Lösung zu deinem Problem gefunden? Habe eine recht ähnliche Anforderung.
Bisher Cisco im Einsatz, ebenfalls drei Benutzergruppen und jede eigenen Gruppen-PSK und virtuellen Adresspool.

Das Ganze nun auf OPNsense nachbauen, damit an Clients nichts geändert werden muss.

Hab durch manuelle Änderung in config.xml auch schon mehrere IKE Konfigurationen für Road Warriors hinbekommen, da per GUI nur einmal Mobile Clients als GW geht.
Aber z.B. Virtuelle Adresspools bisher nur einen.

Wenn Du da da eine Lösung hast, selbst wenn nur über manuelle Änderung in den Konfigurationsdateien, wäre ich über Hinweise dankbar. Wenn das einmal läuft, reicht mir GUI für Statistiken. So oft ändert man ja bei VPN die Konfiguration ja nicht.


Title: Re: [Resolved] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: rainerle on March 10, 2019, 12:18:41 pm
Hi,

habe da mit einem Kollegen einen pull request gebaut, der allerdings so nicht angenommen werden wird.
https://github.com/opnsense/core/pull/3298

Funktionieren tut der hier bei uns und man kann auch weiterhin die WebUI zum Beobachten benutzen.

Werden am Montag einen neuen Patch machen, der bei allen generierten StrongSwan-Dateien includes aktiviert.

Wenn das durchgeht, dann kann man auf der CLI eigene Konfig Dateien dazunehmen, wo es nötig ist.
Title: Re: [Resolved] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: hbc on March 10, 2019, 03:18:12 pm
Hi,

wie gesagt, da die VPN Konfiguration recht statisch ist, kann diese gern in Konfigurationsdateien direkt erfolgen. Das mit den Includes wäre natürlich cool, da man dann auch bei Upgrades nicht ändern muss.

Ich bin leider kein StrongSwan Experte. Haben euere drei Benutzergruppen verschiedene PSK und Identifier und wie sieht das in der ipsec.secrets dann aus?
Standardmäßig ist dort ja nur ein Eintrag mit WAN IP, any und dann dem PSK Hash.

Wenn ich mehr Gruppen mache, kann ich dann WAN IP mehrfach nehmen und statt Any den tatsächlichen Identifier der Gruppe?

Hat bei Tests irgendwie nicht ganz geklappt. Ging dann immer nur der letzte Eintrag.
Title: Re: [Resolved] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: rainerle on March 10, 2019, 08:51:56 pm
Hi,

wir machen das mit Radius und dann mit Gruppennamen, die von Radius per class Parameter zurückgegeben werden.

Eine Beispiel Konfiguration habe ich hier im Text beschrieben:
https://github.com/opnsense/core/issues/3295

Mit PSK sollte das ähnlich funktionieren:
- Eine default connection für die Firewall und grundlegende Einstellungen, die per fehlendem "auto =" deaktiviert bleibt
- Pro Gruppe eine extra connection, die mit "also =" die obigen defaults einbindet und dann per "auto = add" aktiviert wird

Ich denke das mit folgenden Parametern im Falle von PSK gespielt werden muss
rightid = @[GroupName]
rightauth = psk

Und dann der GroupName in der ipsec.secrets mit der PSK hinterlegen

Allerdings muss ich gestehen, das ich Cisco nie ins Haus gelassen habe und deswegen keine Ahnung habe, von dem was ich hier grade geschrieben habe.

Aber wenn es schon eine funktionierende Konfiguration gibt, kann man die sich ja per ssh oder console in der Datei /usr/local/etc/ipsec.conf anschauen und abkupfern...
Title: Re: [Resolved] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: hbc on March 11, 2019, 02:36:31 pm
Hi,

also im ersten Schritt habe ich es jetzt wie auf dem Cisco nachbauen können. Die Krux lag in rightid. Der Gruppenname (=KEY_ID) mußte Hexadezimal eingetragen werden. Also mit @#656768...

Selbiges dann auch in der ipsec.secrets.

Somit habe ich eine kompatible Version, die bestehende Clientskonfigurationen abdeckt.

Ich werde aber auch versuchen neue Konfigurationen so zu machen, das die Gruppenzuweisung von extern (=Radius) kommt.

Jetzt wäre es nur schön, wenn die Konfiguration nicht nach jedem Reboot zerschossen würde, weil GUI-Konfig nichts mit der CLI-Konfiguration mehr zu tun hat.  :-\

Mal schauen, wie das mit den Includes funktioniert. Vielleicht kann man dann die GUI-Konfig löschen und verlagert sämtliche Konfiguration dann in den Include-Part, damit dann auch nur dieser anzieht.

Letztlich habe ich:

überschrieben.
Title: Re: [Resolved] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: rainerle on March 21, 2019, 04:43:24 pm
Habe ein HowTo geschrieben. Vielleicht hilft das ja weiter, weil ich ja auch mit includes arbeite, ohne die generierten Sachen zu überschreiben.
https://forum.opnsense.org/index.php?topic=12147.0
Title: Re: [SOLVED] VPN IPsec Mobile Clients: User in separate Virtual Address Pools
Post by: stefan21 on October 28, 2019, 09:17:15 pm
Guten Abend,

ich bin mir nicht ganz sicher, ob meine Frage zu diesem Thread gehört, falls nein, sorry.

Auf einer Opnsense 17.1.10 habe ich eine funktionierende IPSec Roadwarrior Verbindung eingerichtet. Das Mobiltelefon hat ein Zertifikat und authentifiziert sich mit einem Benutzer, dem an den Benutzer gebundenen Zertifikat und dem IPSec-Passwort. Im IPSec-Tunnel ist das Zertifikat entsprechend hinterlegt. Also Nutzer, Telefon und Tunnel haben dasselbe Zertifikat.

Wenn ich nun ein zweites Mobiltelefon genau auf dieselbe Weise einrichte und verbinde, dann wird die Verbindung auch aufgebaut.

Nun zu meiner Frage: beide Mobiltelefone erhalten dieselbe IP durch das VPN. Es wird im VPN: IPsec: Lease Status nur eine Verbindung angezeigt: Pool: 10.0.0.0/24 Usage: 1/254 Online: 1, obwohl beide Mobiltelefone verbunden sind.

Wenn ich der zweiten Verbindung einen anderen Nutzer mit einem anderen Passwort zuordne, das Zertifikat jedoch beibehalte, dann kommt keine Verbindung zu Stande. In den Logs wird ein XAUTH-Fehler ausgewiesen.

Was mache ich falsch bzw. was ist zu tun, wenn ich mehrere Mobiltelefone als Roadwarriors mit der Opnsense verbinden will? Ist es einfacher bzw. funktioniert dieses Szenario besser ohne Zertifikat(e)?

Vielen Dank für jede Hilfe.

lg, stefan

***

Gelöst:

Das eine Telefon ist ein neuer Android (BB Key2) und das andere ein (alter) BB 10. Der Blackberry Passport will eine Gruppe mit einem Passwort bei der Auswahl Xauth PSK. Ich habe keinen Weg gefunden, die Authentifizierung gegen die Opnsense zu definieren.

Wählt man hingegen bei beiden Telefonen Xauth PKI und gibt die entsprechenden Nutzer mit Passwörtern ein, dann funktioniert alles wie es soll. Das hierfür erstellte Zertifikat ist bei beiden Telefonen dasselbe.

Nicht ganz einfach bei der Vielzahl von Telefonen, die auf dem Markt sind...