Skip to main content
Skip table of contents

Mehrere Benutzer mit individuellen VPNs teilen sich einen Endpunkt

Lösung auf Basis von Praxiserfahrungen

Dieser Artikel bietet eine Lösung, die nicht von der IGEL-Forschungs- und Entwicklungsabteilung genehmigt wurde. Daher kann kein offizieller Support durch IGEL geleistet werden. Testen Sie die Lösung gegebenenfalls, bevor Sie sie in einer produktiven Umgebung einsetzen.

Der Trick besteht darin, dass wir die OpenVPN-Konfigurationsdateien aller Benutzer (.ovpn) mit dem Namen als <username>.ovpn und unter /wfs

Wir haben dann dieses Skript /wfs/openvpn/connect.sh

---

#!/bin/bash

  1. Voraussetzungen:
  2. - die ovpn-Konfigurationsdatei aller Benutzer muss sich in /wfs/`
  1. Variablen initialisieren
    answer=-1
    declare -a profiles=($(cd /wfs ; ls *ovpn | sed -e 's/\.ovpn//' | tr '\n' ' '))
    count=${#profiles[@]}
  1. Schleife bis ein gültiger Profilindex ausgewählt ist
    bis [ $answer -ge 0 -a $answer -lt ${count} ]; do
    clear
    for((i=0;i<${count};i++)); do
    echo "${i}: ${profiles[${i}]}"
    done;
    read -p "Wählen Sie die Ihrem Konto entsprechende Nummer: " answer
    done
  1. exportiere Variable vpnuser für den Fall, dass ein Kindprozess sie benötigt (wahrscheinlich Overkill)
    export vpnuser=${profiles[${answer}]}
  1. Bereite einen Nameserver nur vor, wenn noch keiner installiert ist
    grep -q 192.168.1.222 /etc/resolv.conf || echo "nameserver 192.168.1.222" >> /etc/resolv.conf
  1. Starten Sie den openvpn-Client
    openvpn --config /wfs/${vpnuser}.ovpn --daemon

---


(Das Nameserver-Bit ist erforderlich. Es muss ein interner DNS-Server sein, ich bin mir nicht sicher, wie man das verallgemeinern kann)


Als nächstes haben wir eine benutzerdefinierte Anwendung mit "Command" als:

pkexec /usr/bin/xfce4-terminal -T VPN --geometry=90x40-0+0 -x /wfs/openvpn/connect.sh


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.