Linux-Software-Beschreibung: Juniper SSL/VPN Verbindung unter Linux
Überblicksinformationen
Kategorien:
Netzwerk
Lizenztyp: Kostenpflichtig
Beschreibung
Eine VPN-Verbindung dient dazu eine sichere Datenübertragung zwischen dem eigenen Rechner und der Universität herzustellen. Technisch gesehen erhält man nach dem Verbindungsaufbau eine IP-Addresse aus dem Universitätsbereich (132.199.*.*). Dadurch erhält man auch Zugang auf Resourcen die nur innerhalb der Universität zugänglich sind (Online-Zeitschriften, Netzlaufwerke, ...).
Das Rechenzentrum hat eine neue VPN-Lösung der Firma Juniper beschafft, die die bisherige Lösung von Cisco ersetzt. Bei der neuen Lösung ist kein extra Kernel-Modul nötig im Gegensatz zu Cisco VPN, wodurch eine Aktualiserung des VPN bei jedem Kernelupdate entfällt.
Verbindung über Web-Schnittstelle (empfohlen)
Einstiegsseite:
https://sslgate.uni-regensburg.de
Voraussetzungen:
- 32-bit Architektur („uname -m“ in der Konsole gibt i368, i586 oder i686 zurück, nicht x86_64)
64-bit wird über Webstart nicht unterstützt! - Java – Plugin für Browser muss installiert sein.
- Ubuntu oder Debian: sun-java6-plugin
z.B. mit synaptics (oder anderen Paketmanager) zunächst Paketquellen
'universe' und 'multiverse' (Ubuntu) bzw. 'nonfree' (Debian)
aktivieren und dann Paket 'sun-java6-plugin' installieren. - OpenSUSE: java-1_6_0-sun-plugin (mit YaST nachinstallieren)
- Nach der Installation Browser neu starten!
- Ubuntu oder Debian: sun-java6-plugin
- Browser muss Java-Skript unterstützen
- root/su – Passwort muss bekannt sein! (Ist bei Ubuntu standardmäßig nicht gesetzt.)
- Alternative: Installation bei der Passwortabfrage mit CTRL + D
abbrechen und Rechte manuell setzten:
$ sudo chown root:root ~/.juniper_networks/network_connect/ncsvc
$ sudo chmod 6711 ~/.juniper_networks/network_connect/ncsvc
$ chmod 744 ~/.juniper_networks/network_connect/ncdiag
Danach nochmals über Browser starten.
- Alternative: Installation bei der Passwortabfrage mit CTRL + D
- Kernel braucht Unterstützung für tun-device (zum Testen: modprobe -nv tun).
In aktuellen Distributionen ist dies meist bereits enthalten.
Verbindungsherstellung:
- Voraussetzungen erfüllen (siehe oben).
- Im Browser folgende Seite aufrufen: https://sslgate.uni-regensburg.de
Der Browser Firefox/Iceweasel ist am Besten getestet, die meisten anderen funktionieren auch. - Profil auswählen und einloggen. Profile:
- vpn_default (tunnel all):
Der gesammte Netzwerkverkehr wird über die Universität verschlüsselt umgeleitet.
(Man erhält eine Uni-interne IP-Addresse im Bereich 132.199.40.x .) - vpn_profil1 (allow local lan):
Hier ist eine lokale IP-Adresse erreichbar; z.B. DSL-Router, Netzwerkdrucker, USB-Platte am Router, ...
der restliche Datenverkehr wird über die Universität verschlüsselt umgeleitet.
(Man erhält eine Uni-interne IP-Addresse im Bereich 132.199.41.x .) - vpn_profil2 (tunnel campus only):
Hier wird nur der Datenverkehr zur Universität vershlüsselt.
(Man erhält eine Uni-interne IP-Addresse im Bereich von 132.199.42.x .) - vpn_web (clientless web access):
Der Web-Browser leitet die Anfragen über die Universität verschlüsselt weiter.
Dies ist völlig ausreichend für z.B. Literaturrecherche oder Web-Angebote die nur innerhalb der Universität zugänglich sind.
(IP-Addresse: 132.199.43.251 oder 132.199.43.252)
- vpn_default (tunnel all):
- Network Connect "Start"
- Zertifikate überprüfen und akzeptieren
- Setup - Control Warnung: "ncLinuxApp.jar" "Immer" erlauben.
- Beim Ersten Ausführen, bzw nach einem Software-Update
- Ein Terminal öffnet sich, root-Passwort eingeben,
damit die Software installiert werden kann - sudo - Mechanismus wird nicht unterstützt!
- Alternative siehe oben.
- Ein Terminal öffnet sich, root-Passwort eingeben,
- Ein Status-Fenster öffnet sich, das Informationen zur Verbindung anzeigt.
Hintergrundinformationen:
- Im Broser wird eine Java-Anwendung gestartet, die den lokal Installierten Clienten auf Aktualität überprüft,
und gegebenenfalls eine neue Version installiert. - Die Installation ist Benutzerbezogen, nicht Systemweit. Die nötigen Dateien werden in
~/.juniper_networks/network_connect/ abgelegt. Dort werden auch die Log-Dateien abgelegt. - Da der Client das Netzwerk umkonfigurieren muss, brauch er root - Rechte. Dies wird dadurch erreicht, dass die
Datei ncsvc dem root gehört und ein s-Bit erhält ( -rws--s--x 1 root root ncsvc). - Der Client kann vollständig entfernt werden, indem das Verzeichnis ~/.juniper_networks gelöscht wird.
- Beim Verbindungsaufbau wird ein tun-device angelegt (Status kann mit (/sbin/)ifconfig angezeigt werden.),
desweiteren wird die Standard Route über dieses tun-device geleitet (Status kann mit (/sbin/)route -n angezeigt werden).
Bekannte Probleme:
- Beim Verbindungsabbau hängt der VPN-Client und Internetnetverbindung geht nicht:
Abhilfe: Netzwerk deaktivieren und wieder neu aktivieren.
Dies Tritt am häufigsten beim Profil "vpn_default" auf, selterner, beim Profil "vpn_profil1".
Verbindung über Client
Anmerkungen:
Dieser Client wird nicht offiziell vom Rechenzentrum unterstützt.
Installation:
- Installations-Paket:
- Voraussetzungen:
- Java wird sehr empfohlen ist jedoch nicht zwingend erforderlich:
- Ubuntu oder Debian:
sun-java6-bin (andere Java Versionen auch möglich)
z.B. mit synaptics (oder anderen Paketmanager) zunächst Paketquellen
'universe' und 'multiverse' (Ubuntu) bzw. 'nonfree' (Debian)
aktivieren und dann Paket 'sun-java6-bin' installieren. - OpenSUSE:
java-1_6_0-sun (mit YaST nachinstallieren)
- Ubuntu oder Debian:
- Paket: openssl (Normalerweise auf jedem System da.)
- Nur 64bit Systeme:
- Debian oder Ubuntu:
Pakete:libc6-i386 lib32z1 lib32nss-mdns
(löst Paketmanager selbst auf) - OpenSUSE:
Paket: zlib-32bit (löst Paketmanager selbst auf) - Anmerkung:
Damit das StatusFenster des Juniper Connect Clienten arbeitet
ist ein 32-bit Java nötig, dies ist jedoch nur eingeschrängt zu empfehlen, da dies
Auswirkungen auf andere Java-Programme haben kann; das 32bit Java ist dann Standard.
Ubuntu oder Debian: Paket "ia32-sun-java6-bin"
Die SystemTray Funtionalität geht sowohl mit 32- als auch 64-bit Java!
- Debian oder Ubuntu:
- Java wird sehr empfohlen ist jedoch nicht zwingend erforderlich:
Eigenschaften:
- Unterstützung für 32bit und 64bit !
- Integration ins Startmenü, Rubrik Netzwerk
- Zusätzliches SystemtrayIcon mit Statusanzeige.
- Start von der Kommandozeile möglich: Connect: "rexjnc" Disconnect: "rexjnc stop"
- Funktionsfähig auch ohne Java
- Installation für alle Benutzer des Computers
Updateinfos:
- Updates können von hier geholt werden, Benutzer ist für Updates selbst verantwotlich.
- Die Skripte versuchen den Juniper Client aus ~/.juniper_networks/network_connect/ zuerst zu nehmen.
Wird somit von Zeit zu Zeit der WebStart angewandt, ist dort immer eine aktuelle Version, die von den Startskripten genommen werden.
Bestandteile:
- Binaries von Juniper Network Inc. (in /usr/local/nc )
- Skript rexjnc (angepasst von: original) (GPL)
- Java- SystemtrayIcon (GPL) (Quellcode in /usr/local/nc )
- Installation in Verzeichnis: /usr/local/nc
Verbindung über Komandozeile
- Möglichkeit 1:
Oben beschriebenen Client installieren und mit "rexjnc" eine VPN Verbindung herstellen,
und mit "rexjnc stop" Verbindung trennen. - Möglichkeit 2 (alles von Hand):
Benötigte Dateien: ncsvc, ncdiag, NC.jar, libncui.so
Diese können über den WebStart https://sslgate.uni-regensburg.de geholt werden, und
befinden sich dann unter ~/.juniper_networks/network_connect
Siehe auch Dokumentation von Juniper Networks:
Using the Network Connect service (ncsvc) on a Linux client (End-User Help) (.doc)
oder Launching Network Connect using ncsvc client - Fehlersuche für Fortgeschrittene:
Mit "ldd ncsvc" überprüfen ob benötigte Bibliotheken installiert sind.
(Auf 64-bit Systemen evtl. 32-bit Bibliotheken nachinstallieren)
Damit der VPN als normaler User (also nicht root) läuft muss es die rechte 6711 haben
# ls -l ncsvc
-rws--s--x 1 root root 1175432 30. Sep 14:46 ncsvc
Starten z.B. mit:
/usr/local/nc/ncsvc -h sslgate.uni-regensburg.de -u "mip12345" -r "vpn_default" -f "/usr/local/nc/config/sslgate.uni-regensburg.de.der" -L 3
Der Befehl bleibt nach folgendem stehen und der Tunnel sollte stehen.
Password:
Connecting to sslgate.uni-regensburg.de : 443
In einer anderen Shell kann man jetzt mit ifconfig ( evtl. /sbin/ifconfig ) überprüfen
ob ein tun device mit einer Uni-IP ( z.B. 132.199.40.?) angelegt wurde.
(route -n sollte auch das tun device zeigen)
Log-Dateien liegen unter ~/.juniper_networks/network_connect/

