VPN-Client

Aus UniDSL Wiki

(Weitergeleitet von VPN Client)
Wechseln zu: Navigation, Suche

Zur Benutzung von Uni-DSL musst du eine VPN-Verbindung herstellen, damit dein Rechner Teil des RWTH-Netzes wird. Dies ist notwendig, da der Internet-Traffic nicht von Westend sondern dem Rechenzentrum der RWTH zur Verfügung gestellt wird.

Beachte: Durch die Einwahl per VPN verhält sich der Rechner so, als sei er Teil des Hochschulnetzes. Das Rechenzentrum versucht jedoch, das Hochschulnetz frei von Störungen zu halten. Aus diesem Grund kann das Rechenzentrum den Einwahlaccount sperren, wenn der Rechner mit Viren befallen ist und versucht, diese weiter zu verbreiten. Wenn also plötzlich die Einwahl per VPN nicht mehr funktioniert ist das ein möglicher Grund dafür. Aus diesem Grund ist es besonders wichtig, alle erforderlichen Sicherheitsupdates regelmäßig zu installieren, bzw. darauf zu achten, daß die Funktion "Automatische Updates" in Windows aktiviert ist (ab XP SP2 Standardeinstellung). Falls dein Rechner vorher durch einen Router vor direktem Zugriff (mehr oder weniger) geschützt war, ist er nach Einwahl ins VPN z.b. potentiell anfällig gegen Viren o.ä., die sich durch Ausnützen von Sicherheitslücken in Netzwerken selbst ausbreiten.

Das Rechenzentrum lässt bis zu 5 gleichzeitige Verbindungen zu. Man kann also durchaus gleichzeitig mit dem Desktop und dem Notebook eine VPN-Verbindung herstellen. Hinweise zu Problemen mit dem VPN-Zugang sind hier zu finden.

Inhaltsverzeichnis

Cisco VPN-Client

Der VPN-Client von Cisco ist das offiziell unterstützte Programm, das die Tunnelverbindung zur RWTH aufbaut. Dieser ist in Versionen für die Betriebssysteme Windows, Mac OS X, Linux (32Bit und 64Bit) sowie SPARC Solaris verfügbar.

Download

Für die verschiedenen Betriebssysteme findest du die entsprechenden Installationsdateien auf den Internetseiten des Rechenzentrums. Da diese regelmäßig aktualisiert werden lohnt sich bei eventuellen Problemen ein Blick auf eine neue Version.

Installation

Installationshinweise gibt es ebenfalls beim Rechenzentrum.

Uni-DSL VPN-Profil

Falls der genannte Client kein VPN-Profil für Uni-DSL (mit dem Host vpn-unidsl.rwth-aachen.de) enthalten sollte, kannst du das Profil herunterladen und im Cisco Client über "Connection Entries"-"Import" den bestehenden Einträgen hinzufügen.

Windows

Autostart

Damit der Cisco VPN-Client beim Rechnerstart und bei einem Verbindungsverlust ohne Requester verbindet kannst du den Evil Client benutzen. Dieser ist jedoch nur für Windows verfügbar. Die aktuelle Version 1.5.3 unterstützt alle Cisco 4er/5er-versionen und bietet die Möglichkeit alle Einwahldaten sicher verschlüsselt zu speichern, wohingegen der Originalclient von Cisco alle Einwahlpasswörter nur unsicher verschlüsselt in den Profildateien ablegt (siehe heise).

Der Cisco-Client lässt jedoch normalerweise auch ohne Einsatz von Zusatzsoftware eine Verbindungsherstellung beim Systemstart zu, wobei dies aber nicht immer zuverlässig funktioniert. Dazu muss im Menü >Options > Automatic VPN Initiation > bei "Enable" ein Häkchen gemacht werden. Außerdem muss in der Autostart-Gruppe von Windows der Eintrag "RWTH Aachen VPN Client" zu finden sein. Wurde dieser nach der Installation entfernt, kann der Client ihn nicht selbstständig wieder hinzufügen. Die in den Cisco-Client integrierte Autostart-Funktion birgt den Nachteil, daß nach einem Verbindungsabbruch kein selbstständiger neuer Verbindungsaufbau stattfindet. Außerdem tritt bei Windows XP zusätzlich das Problem auf, daß der Cisco-Service noch nicht gestartet ist, wenn der Client(das GUI) bereits versucht, die Verbindung aufzubauen. Dies hängt mit der in XP verwendeten Methode der Systemstartbeschleunigung zusammen, und kann deshalb auch erst nach einigen Neustarts auftreten. Auf manchen Systemen hilft eine Neuinstallation des Clients gegen dieses Problem.

LAN-Zugriff

Leider ist es nicht möglich, während ein VPN-Tunnel aufgebaut ist, den Windows-Browser-Dienst zu benutzen, durch den man die Namen anderer Rechner im LAN sehen kann. Jedoch kann man bei Kenntnis der lokalen IP-Adresse des gewünschten Rechners diese von Hand im Format \\192.168.0.3 in die Adresszeile des Windows-Explorers eintragen. Danach kann man alle Ressourcen auf dem anderen Rechner sehen. Da bei Windows-Rechnern in Netzen ohne Domänencontroller (was bei fast allen Heim-Rechnern zutreffen sollte) jeder Rechner die Liste selbstständig und unabhängig von den anderen nur alle 12 Min. aktualisiert, kann es zu merkwürdigen Symptomen kommen. Vor allem ist auch nach Trennung der VPN-Verbindung oft noch längere Zeit kein Rechner in der Netzwerkumgebung zu sehen. Über die "Computer suchen"-Funktion kann ein Rechner bei Kenntnis des Namens oft schneller gefunden werden.

Um überhaupt eine Verbindung zu Rechnern im lokalen Netzwerk bekommen zu können, muss in den Eigenschaften des VPN-Profils die Option "Allow Local LAN Access" auf dem Karteireiter "Transport" aktiviert sein. Alle weiteren Bedingungen um Kontakt über TCP/IP zu dem anderen Rechner zu bekommen, müssen natürlich trotzdem erfüllt sein (z.B. Firewall-Einstellung,Subnetz)

Weitere Informationen zum Windows-Browserdienst (eher technisch) bieten die Microsoft Supportseiten

MTU-Probleme

Falls einige Webseiten nicht angezeigt werden können, z.B. http://www.google.de/ aber gut funktioniert, siehe diesen Artikel: MTU-Problem

Linux

Der Cisco-Client kann auch unter Linux eingesetzt werden, es ist jedoch keine graphische Benutzeroberfläche verfügbar. Die Installation ist auf den Seiten des Rechenzentrums beschrieben. Es ist darauf zu achten, daß tatsächlich die Kernelquellen installiert sind, und auf das korrekte Verzeichnis verwiesen wird, da es notwendig ist, den client zu kompilieren. Aus diesem Grund muß nach einem Kernel-Update auch der Cisco-client neu kompiliert werden. Der vpnc (siehe unten) ist eine Alternative, um dieses Problem zu umgehen.


Linux Router

Der Cisco VPN-Client belegt standardmäßig alle Netzwerk-Schnittstellen, somit ist LAN-Verkehr normalerweise nicht mehr möglich. Paul C. Bütow erklärt in seinem Linux DSL Router für RWTH-VPN Howto ausführlich, wie man einen DSL Router für RWTH-VPN unter Debian Linux erstellt. Dabei geht er auch darauf ein wie man einzelne Dateien des VPN-Clients anpasst, damit er internen Netzwerkverkehr zulässt.

Alternative: vpnc

Unter Linux, BSD und Solaris ist es zusätzlich möglich den vpnc zu benutzen. Er ist schon in vielen Distributionen enthalten, evtl. jedoch in einer älteren Version. Gegenüber dem Cisco-Client bietet es zwei Vorteile: Zum einen muss vpnc nicht nach dem Aktualisieren des Kernels neu kompiliert werden und zum anderen gibt es eine graphische Oberfläche für KDE namens kvpnc.

vpnc mit graphischer Benutzeroberfläche (kvpnc)

Mit kvpnc kann man z.B. ganz einfach VPN-Profile (z.B. unidsl2.pcf) importieren, oder die VPN-Verbindung automatisch starten lassen kann. Eine Anleitung zur Benutzung von kvpnc gibt es hier, das manuelle Anlegen von Dateien, bzw. die Nutzung der Konsole o.ä. entfallen.

Um einen problemlosen Betrieb zu ermöglichen, ist es jedoch notwendig, die aktuelle (Okt. 2005) Version 0.8 des kvpnc einzusetzen, da viele der für Uni-DSL-Nutzer wichtigen Funktionen erst ab dieser Version richtig arbeiten.

vpnc manuell einrichten

Zum reibungslosen Betrieb ohne kvpnc, muss eine vpnc.conf in das Verzeichnis /etc/ gelegt werden. Diese hat folgenden Inhalt:

Interface name vpnlink
IKE DH group dh2
Perfect forward Secrecy nopfs
IPSec gateway vpn-unidsl.rwth-aachen.de
IPSec ID Uni-DSL
IPSec secret uni-dsl-2005
Xauth username deinbenutzername
Xauth password deinvpnpasswortvomrz

Folgende Beschreibungen sind auf vpnc-Versionen bis 0.3.2 ausgelegt. Ab vpnc-0.3.3 unterscheiden sich die Skripte eventuell.

Versionen bis vpnc-0.3.2

Die Befehle vpnc-connect und vpnc-disconnect dienen zum Auf- und Abbau der Verbindung. Als Parameter nehmen sie den Pfad zu einer Konfigurationsdatei entgegen, ohne Angabe verwenden sie automatisch /etc/vpnc.conf.

Version vpnc-0.3.3

vpnc-connect wurde entfernt. Der Client wird nun durch vpnc gestartet. Dazu wird automatisch das Skript /etc/vpnc/vpnc-script ausgewertet. Das Skript kann auch mit der Option --script [Skript] angegeben werden.

Wird keine Konfigurationsdatei angegeben, wird automatisch /etc/vpnc.conf oder /etc/vpnc/default.conf ausgewertet. Für Konfigurationsdateien, deren Name kein / enthält, wird automatisch der Pfad /etc/vpnc/ angenommen.

Der Abbau der Verbindung geschieht weiterhin durch vpnc-disconnect.

Autostart

Der Systemstart unterscheidet sich von Distribution zu Distribution.

Dieser VPN Client kann jedoch ohne Unterbrechung nur ca. vier Stunden online sein, da er das sogenannte Rekeying nicht unterstützt. Die Dauerverbindung könnte man aber zum Beispiel mit dem folgenden Skript herstellen. Dabei wird alle drei Stunden und 55 Minuten (=14100 Sekunden) die Verbindung gekappt.

#!/bin/sh
# restart vpnc every 3h 55min
while [ true ]; do
    vpnc-connect
    sleep 14100
    vpnc-disconnect
done

Alternativ kann man das folgende Skript benutzen, welches beim Abbruch automatisch neu verbindet.

#!/bin/bash
#Bash script zum automatischen Neuaufbauen der VPN-Verbindung bei Abbruch.
LOGFILE="/var/log/unidsld"
echo -n `date` >> $LOGFILE
echo " UniDSLD startup" >> $LOGFILE
while(true) ; do 
  if (test -e /etc/userconfig/unidsld) ; then
    echo -n `date` >> $LOGFILE
    if ( ps -ef | grep -v grep | grep vpnc > /dev/null ) ; then
      echo -n "  vpnc running at " >> $LOGFILE
      echo `pidof vpnc` >> $LOGFILE
    else
      echo "  vpnc not running. Starting it" >>  $LOGFILE
      echo -n "  connecting..." >> $LOGFILE
      reunidslen 2>&1 >> $LOGFILE
      echo -n `date` >> $LOGFILE
      echo -n "  vpnc restarted, running at PID: " >> $LOGFILE
      echo `pidof vpnc` >> $LOGFILE
    fi
    echo -n `date` >> $LOGFILE
    echo -n "  Now pinging hosts..." >> $LOGFILE
    if (ping -c 2 -n 134.130.3.1 > /dev/null 2>&1) ; then
      echo " relay.rwth-aachen.de reached, ok" >> $LOGFILE
    else
      echo -n `date` >> $LOGFILE
      echo "  relay.rwth-aachen.de not found" >> $LOGFILE
      echo -n `date` >> $LOGFILE
      echo -n "  disconnecting..." >> $LOGFILE
      reunidslen 2>&1 >> $LOGFILE
      echo -n `date` >> $LOGFILE
      echo -n "  vpnc restarted, running at PID: " >> $LOGFILE
      echo `pidof vpnc` >> $LOGFILE
    fi
    sleep 5
  else
    echo -n `date` >> $LOGFILE
    echo " UniDSLD started but deactivated." >> $LOGFILE
    exit 0
  fi
done
Das darin aufgerufene Skript reunidslen enthält folgende Zeilen:
#!/bin/bash
sudo vpnc-disconnect
sudo vpnc-connect unidsl

Gentoo

Als Init-Skript kann folgende Vorlage verwendet werden, die als /etc/init.d/vpnc gespeichert werden kann.

#!/sbin/runscript

depend() {
	use net
}

start() {
	ebegin "Starting Virtual Private Network"
	/usr/bin/vpnc-connect >/dev/nul
	eend $?
}

stop() {
	# sends SIGTERM to all running clients.
	ebegin "Stopping Virtual Private Network"
	/usr/bin/vpnc-disconnect >/dev/nul
	eend $?
}

Das Starten beim Systemstart wird dann mittels rc-update add vpnc default eingerichtet.

Suse 10.0

Als Init-Skript kann folgende Vorlage verwendet werden, die als /etc/init.d/vpnc-start gespeichert werden kann.

#! /bin/sh
#
# /etc/init.d/vpnc-start
#
### BEGIN INIT INFO
# Provides:          vpnc-start
# Description:       VPNC Autostart
### END INIT INFO

# Ort für das Logfile
LOGFILE="/var/log/vpnc-start.logfile"
# Ort/Datei für die VPNC-Konfigurationsdatei
PROFILE="/etc/vpnc/unidsl.conf"
echo -n `date` >> $LOGFILE
echo " VPNC-start startup" >> $LOGFILE

case "$1" in
    start)
	echo -n "Starting VPNC " >> $LOGFILE
	/usr/sbin/vpnc $PROFILE >> $LOGFILE
        $0 status
        ;;
    stop)
	echo -n "Shutting down VPNC " >> $LOGFILE
	/usr/sbin/vpnc-disconnect >> $LOGFILE
	;;
    restart)
	## Stop the service and regardless of whether it was
	## running or not, start it again.
        echo -n `date` >> $LOGFILE
        echo -n "VPNC wird neu gestartet" >> $LOGFILE
        echo -n "  disconnecting..." >> $LOGFILE
	$0 stop
        echo -n " connecting..." >> $LOGFILE
	$0 start
        echo -n "  VPNC wurde neu gestartet, läuft auf PID: " >> $LOGFILE
        echo `pidof vpnc` >> $LOGFILE
	;;
    reload)
	## Like force-reload, but if daemon does not support
	## signaling, do nothing (!)
        $0 restart
	;;
    status)
	echo -n "Checking for service VPNC " >> $LOGFILE
        # Test, ob Prozessnummer für VPNC vorhanden ( != " ")
        if (pidof vpnc > /dev/null == " " ) ; then 
            echo -n "  vpnc running at " >> $LOGFILE
            # Prozess-Nummer
            echo `pidof vpnc` >> $LOGFILE
        else
            echo "  vpnc not running. Starting it" >>  $LOGFILE
            echo -n "  connecting..." >> $LOGFILE
            $0 start
            echo -n `date` >> $LOGFILE
            echo -n "  vpnc restarted, running at PID: " >> $LOGFILE
            echo `pidof vpnc` >> $LOGFILE
        fi
        echo -n `date` >> $LOGFILE
        echo -n "  Now pinging hosts... " >> $LOGFILE
        # Test ob korrekt verbunden
        if (ping -c 2 -n 134.130.3.1 > /dev/null 2>&1) ; then
            # alles OK
            echo " relay.rwth-aachen.de reached, ok" >> $LOGFILE
        else
	    # Fehler
	    echo -n `date` >> $LOGFILE
            echo "  relay.rwth-aachen.de not found" >> $LOGFILE
            $0 restart 
        fi
	;;
     *)
	echo "Usage: $0 {start|stop|status|restart|reload}"
	exit 1
	;;
esac

Als erstes muss diese Datei als root ausführbar gemacht werden. Das Starten beim Systemstart wird dann in YAST->System->Runlevel-Editor->Expertenmodusvpnc-start durch anklicken von "3" und "5" eingerichtet.

VPN auf dem Pocket PC

Auf den Seiten des Rechenzentrums finden sich Informationen über den movianVPN-Client für das Pocket PC 2002 - Betriebssystem. Unter FAQ ist auch die Bezugsquelle beschrieben.

Uni-DSL OpenVPN Server (im Testbetrieb)

Gerade für Studenten der FH wird im Moment ein weiterer VPN-Server aufgesetzt:

Der Uni-DSL-eigene VPN-Server steht jetzt im Testbetrieb zur Verfügung. Über diesen ist Traffic über Westend statt über die RWTH möglich.

Achtung: für Kunden mit eigenem DSL-Anschluss ist die Benutzung des OpenVPN-Servers in der Regel nicht sinnvoll, da die Daten über Westend geleitet werden, genau wie ohne Benutzung eines VPN-Servers.

In Zukunft wird dies als Lösung für diejenigen bereitstehen, die über WLAN auf das Internet zugreifen wollen, aber keinen Account bei der RWTH haben, sowie als Backup-Lösung.

Wir würden uns freuen, wenn möglichst viele testen und sich in der Newsgroup unidsl.aachen.technik zurückmelden würden, ob die Einwahl stabil und zuverlässig funktioniert.

Bekannte Probleme

Die von OpenVPN-Server verwendete Benutzerdatenbank wird nur einmal pro Stunde aktualisiert. Es kann also bis zu einer Stunde dauern, bis nach erfolgter Anmeldung bei Unidsl das Password auch für den OpenVPN-Server gültig wird.

Bisher ist in der OpenVPN-Clientsoftware keine Möglichkeit integriert, Benutzername und Passwort zu speichern.

Windows

Von http://unidsl.de unter DOWNLOADS den OpenVPN-Client herunterladen,
einfach installieren und starten.
Benutzername: deine Kundennummer
Passwort: dein Web-Passwort

Linux

OpenVPN installieren, und die ovpn und crt-Dateien von obigem Link ins Verzeichnis kopieren.

Kurz How-To fuer Debian (Sid/Unstable): in der konsole:

su -
[root passwort eingeben]
apt-get install openvpn
cd /etc/openvpn
wget http://aachen.uni-dsl.de/download/unidsl.openvpn
mkdir keys && cd keys
wget http://gondor.com/unidsl/ca.crt
cd /etc/openvpn
openvpn --config unidsl.openvpn
[Kdnr-eingeben]
[Web-Passwort eingeben]

Weblinks

Persönliche Werkzeuge