Einrichtung eines Cisco VPN-Zugangs unter Linux

Der Cisco VPN-Client für Linux besteht aus einigen Kommandozeilen-Programmen; eine graphische Oberfläche wie bei Windows gibt es nicht. Alle Aktionen (Installation, Verbindungsaufbau und Verbindungsabbau) müssen daher an der Konsole oder in einem Terminal durchgeführt werden.

Vorraussetzung

  • Systemvorraussetzung Ihres Rechners:
    • Kernel 2.2, 2.4, 2.6 oder höher
    • Glibc 2.1.1-6 oder neuer
    • Installierte Kernel-Quellen (das Installationsskript muß ein zum Kernel passendes Modul kompilieren)
    • SMP (Multiprozessor)-Kernels werden nicht unterstützt.
  • Die Installation muß als Benutzer root ausgeführt werden.
  • Sie haben einen gültigen ZIV-Account und besitzen ein Netzugangspasswort.
    Sollten Sie noch kein Netzzugangspasswort eingerichtet haben, so können Sie diese unter https://user.uni-muenster.de/index.html#passwd machen.
  • Sie haben den Cisco-VPN-Client für Linux heruntergeladen.
    Als Mitglied der Universität Münster können Sie den Cisco-VPN-Client für Linux hier als tar-Archiv herunterladen.
  • Sie haben das entsprechende VPN-Profil heruntergeladen.
    Als Mitglied der Universität Münster können Sie VPN-Profile hier herunterladen. Um z.B. Zugang zum Rechnernetz der Universität und zum Internet zu gelangen, muss das VPN-Profil vpnstandard.pcf herunteruntergeladen werden.

Installation des Cisco-VPN-Clients

  1. Das tar-Archiv des Cisco-VPN-Client für Linux in einem temporären Verzeichnis mit tar xzf vpnclient-linux-xxxxxx.tar.gz auspacken.
  2. In das erstellte Verzeichnis mit cd vpnclient wechseln.
  3. Das Installationsskript mit ./vpn_install starten.

Das Installationsskript stellt jetzt einige Fragen zur Installation. Im Normalfall können Sie hier einfach mit "Return" den Vorschlag Übernehmen.

Directory where binaries will be installed
In dieses Verzeichnis werden cvpnd, vpnclient, ipsec_log und cisco_cert_mgr installiert. (empfohlen: yes)

Automatically start the VPN service at boot time
Dies Option bewirkt nicht die automatische Einwahl, sondern nur das Laden des Treibers. (empfohlen: yes)
Wenn hier mit no geantwortet wird, muß vor dem Aufbau einer VPN-Verbindung /etc/xxx/vpnclient_init start ausgeführt werden (xxx ist je nach Distribution init.d, rc.d oder rc.d/init.d). Deswegen sollte mit yes geantwortet werden.

Directory containing linux kernel source code
Wenn hier kein Vorschlag kommt, sind wahrscheinlich die Kernelquellen nicht installiert. In diesem Fall sollte das Skript mit "Strg-C" abgebrochen, die Kernelquellen installiert und dann das Installationsskript noch einmal gestartet werden.

Anschließend darf man die gemachten Angaben noch einmal bestätigen. Das Installationsskript erstellt jetzt das Modul und kopiert die Dateien.

Anschließend muß der VPN-Client mit /etc/xxx/vpnclient_init start (xxx ist je nach Distribution init.d, rc.d oder rc.d/init.d) gestartet werden.

Das entsprechende VPN-Profil für den Aufbau einer Verbindung muss ins Verzeichnis /etc/CiscoSystemsVPNClient/Profiles kopiert werden. Um z.B. Zugang zum Rechnernetz der Universität und zum Internet zu gelangen, muss das VPN-Profil vpnstandard.pcf in das Verzeichnis /etc/CiscoSystemsVPNClient/Profiles kopiert werden.

Aufbau deiner VPN-Verbindung

Die VPN-Verbindung könne Sie aufbauen mit dem Kommando vpnclient connect xxx (xxx ist der Name des VPN-Profils ohne die Dateiendung .pcf)

Für den normalen Zugang zum Rechnernetz der Universität und zum Internet mit dem VPN-Profil vpnstandard.pcf lautet das Kommando z.B.:

vpnclient connect vpnstandard
(ALERT! Sie dürfen den Dateityp .pcf nicht mitangeben)

Anschließend wird nach Ihrem Benutzernamen und Netzzugangspasswort gefragt. Falls Ihre Nutzerdaten und das Netzzugangspasswort korrekt sind, wurde erfolgreich eine VPN-Verbindung aufgebaut. Dies können Sie auch mit einem Traceroute testen, z.B. traceroute 128.176.0.12

Beenden einer VPN-Verbindung

Zum Beendigung einer VPN-Verbindung müssen Sie vpnclient disconnect eingeben.

Firewalleinstellungen

Wenn Sie ein Linux-Firewall betreiben, müssen Sie sicherstellen, dass folgende IP-Protokolle und TCP-Ports zu den VPN-Servern freigeschaltet sind. (Die VPN-Server stehen in dem jeweiligen importierten VPN-Profilen.)

  • UDP-Port 500
  • IP-Protokoll 50 (ESP)

Falls "genattet" wird, müssen folgende Ports auch freigegeben werden:

  • TCP-Port 10000
  • UDP-Port 10000
  • NAT-T (Standart-Based NAT Transparency) Port 4500

Probleme/Fehler/Anmerkungen/

Haben Sie in dieser Anleitung Fehler oder Probleme entdeckt, die nur einen Teil der Nutzer dieses Tutorials betreffen, dann tragen Sie ihre Erfahrungen und Verbesserungsvorschläge hier ein. Betrifft das Problem alle Nutzer dieser Anleitung ändern Sie die Anleitung am besten direkt.

Fehler: "Modul konnte nicht kompiliert werden."

Bei neueren Linux Distributionen wie Ubuntu 9.04 muss vor der Installation ein Patch eingespielt werden. Wie das funktioniert zeigt diese Anleitung.

Fehler: "linux/config.h= not found"

Falls ein Kernel >=2.6.19 verwendet, kann man probieren die hier vorgeschlagene Lösung nachzuarbeiten. Achtung: Das Verzeichnis für die Profile ändert sich (zumindest unter Gentoo Linux) auf /etc/opt/cisco-vpnclient/Profiles und findet sich nicht wie weiter unten beschrieben.

Fehler: "conflicting types for uintptr_t"

Bei der Fehlermeldung "error: conflicting types for uintptr_t, error: previous declaration of uintptr_t was here" unter Kernel >=2.6.24 hilft folgende Anleitung weiter.

Linux Cisco VPN Client on kernel 2.6.31 (e.g. OpenSUSE 11.2)

Das Compilieren des Cisco-Clients funktioniert scheinbar unter dieser Umgebung auch nicht reibungslos. Unter folgender Seite findet sich eine Schritt-für-Schritt-Anleitung inkl. Patch: http://www.painfullscratch.nl/code/vpn/

Topic revision: r14 - 2009-12-10 - 15:41:06 - GuidoWessendorf
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding ZIVwiki? Send feedback