Einrichtung eines IPSec-VPN-Zugangs unter Linux mit dem Shrew-VPN-Client

Voraussetzungen

  • Sie haben einen gültigen ZIV-Account und besitzen ein Netzzugangspasswort.
    Sollten Sie noch kein Netzzugangspasswort eingerichtet haben, so können Sie dies unter Mein ZIV machen.
  • Sie besitzen auf Ihrem Rechner Root-Rechte für die Installation.

Installation des Linux Shrew-VPN-Clients

Die Firma Shrew Soft Inc stellt kostenlos einen VPN-Client zur Verfügung der mit den VPN-Gateways vom ZIV kompatibel ist. Ein Administrator's Guide (2010) findet sich unter: http://www.shrew.net/static/help-2.1.x/vpnhelp.htm?UnixClientInstall.html

Für Debian /Ubuntu [hardy, lucid, natty, oneiric, precise] steht der "Shrew Soft VPN client - Daemon and libraries" für amd64 und i386 Architekturen zum Download bereit, z.B für precise unter: http://packages.ubuntu.com/de/precise/ike [Paketquelle "universe"], oder direkt im Synaptic Package Manager als Package "ike" mit "ike-qtgui" [Version 2.1.7+dfsg-1.1].

Für andere Linux Distributionen müßte wie im folgenden beschrieben vorgegangen werden.

Auf der Webseite: http://www.shrew.net/download/ müssen Sie die aktuellste Linux-Version 2.1.x-release herunterladen (zurzeit ist dies 2.1.5-release). Sie können die Datei in ein beliebiges Verzeichnis (z.B. /tmp) speichern. Wichtig ist, dass wirklich eine Version ab 2.1.5 herunterladen wird.

Achtung! Mit der Version 2.1.7 kann es bei der Installation zu Problemen kommen. Es wird daher die Version 2.1.5. empfohlen.

Falls Sie die Datei ike-2.1.5-release.tgz (tar gzip archiv) beispielsweise in das Verzeichnis /tmp heruntergeladen haben:

  • cd /tmp
  • tar xzvf ike-2.1.5-release.tgz
  • cd ike

Lesen Sie jetzt sorfältig die README.TXT Datei durch. Dort stehen wichtige Informationen zum Compilieren und Installieren des Programms! Es müssen unbedingt die "Minimum" Requirements beachtet werden, sonst gibt es beim Übersetzen Fehlermeldungen (die Fehlermeldungen geben dann in der Regel einen Hinweis darauf, welches Paket ggf. noch nachinstalliert werden muss).

Achtung: Das Shrew-Client-GUI (Version 2.1.5) lässt sich mit der aktuellen QT4-Version nicht kompilieren. Es müssen die Pakete qt3, qt3-devel und qt3-devel-tools installiert sein.

In dem Abschnitt "Linux" werden dann die nötigen Kommandos zum Übersetzen und Installieren aufgeführt:

  • cmake -DCMAKE_INSTALL_PREFIX=/usr -DQTGUI=YES -DETCDIR=/etc -DNATT=YES
  • make
  • make install

Leider sind nach der Installation noch einige manuelle Nacharbeiten nötig:

Die mitgelieferte Beispiel-Konfig-Datei für den iked muss nach /etc kopiert werden:

  • cp ./source/iked/iked.conf.sample /etc/iked.conf

Aufruf von

  • ldconfig

Um den VPN-Service beim Systemstart automatisch zu starten kopieren Sie folgendes Startskript ( iked) nach /etc/init.d/ und führen anschließend

  • insserv iked

aus.

Aufruf des Linux Shrew-VPN-Clients

Beim ersten Aufruf mit Root-Rechten den iked Daemon starten (ggf. je nach Linux-Distribution abweichend):

  • sudo /usr/sbin/iked

Wenn Sie das obige Startskript installiert haben, müssen Sie diesen Schritt später nicht mehr ausführen.

Mit normalen User-Rechnen das grafische Frontend ikea aufrufen:

  • /usr/bin/ikea

ShrewMain.png

Einrichtung der VPN-Verbindung

Jetzt muss das entsprechende VPN-Profil in den Shrew-VPN-Client importiert werden. Das passende VPN-Profil kann auf der Download-Seite des ZIV heruntergeladen werden. Dort werden die entsprechenden VPN-Profile erklärt. Um z.B. einen allgemeinen "Standard"-Zugang zum Rechnernetz der Universität und zum Internet zu erreichen, kann das VPN-Profil "vpnstandard.pcf" herunteruntergeladen und in ein beliebiges Verzeichnis (z.B. /tmp) gespeichert werden.

Anschließend muss das Profil in den VPN-Clienten importiert werden. Dazu müssen Sie im Menu "File" den Punkt "Import" klicken, als "File type" "Ciso PCF gile (*.pcf) wählen und dann in das Verzeichnis wechseln, in welches Sie die Profildatei abgelegt haben (im Beispiel: /tmp).

ImportProfile.png

Wählen Sie die gewünschte Profildatei aus (z.B. vpnstandard.pcf) und klicken "OK". Jetzt wird das Profil importiert.

Aufbau deiner VPN-Verbindung

Um eine VPN-Verbindung aufzubauen wählen Sie das entsprechende VPN-Profil aus und klicken "Connect". Sie werden nach Ihrem Benutzernamen (Username) und Netzzugangspasswort (Password) gefragt. Wichtig: Bitte Ihr Netzzugangspasswort und nicht Ihr Standardpasswort verwenden!

Username.png

Falls Ihre Nutzerdaten und das Netzzugangspasswort korrekt sind und der Tunnel erfolgreich aufgebaut wurde, erscheint im Fenster der Eintrag "tunnel enabled":

Success.png

Somit funktioniert der VPN-Tunnel. Besteht der VPN-Tunnel, darf das Fenster nicht geschlossen werden (dies führt zu einem Disconnect).

Mögliche Probleme

Ihr Router macht NAT (z.B. typischerweise der heimische DSL-Router)

Damit der IPsec-VPN-Tunnel über solche NAT-Systeme hinweg funktioniert, muss "NAT Traversal" aktiviert werden.

Dazu das Profil auswählen und den Knopf "Properties" klicken. In dem Reiter "Client" ist die Firewall Option "NAT Traversal" auf "enable" zu setzten. Alle anderen Angaben können beibehalten werden, siehe Bild).

NAT.png

Tunnel wird erfolgreich aufgebaut, aber anschließend findet kein Datenverkehr statt

Viele neuere Linux-Distributionen schalten den Reverse Path Filter (rp_filter) im Kernel ein. Dies funktioniert aber leider nicht zusammen mit dem VPN-Clienten.

Es gibt folgendes Posting im Shrew-Forum vpn-help inkl. Lösung zu diesem Problem: http://lists.shrew.net/pipermail/vpn-help/2008-November/001827.html.

Ggf. kann auch folgendes versucht werden:

  • Anzeige der aktuellen rp_filter-Settings: sysctl -a | grep rp_filter | grep -v arp
  • Direktes Setzen der jeweiligen Werte, z.B.: sysctl -w net.ipv4.conf.all.rp_filter=0
  • Wurde die Datei /etc/sysctl.conf angepasst, können die Einstellungen direkt angewandt werden: sysctl -p /etc/sysctl.conf

Falls zuverlässige Lösungen zu diesem Problem gefunden werden, bitte hier posten...

Die Firewall muss den VPN-Verkehr zulassen

Falls die iptables-Firewall sehr restriktiv eingestellt wurde, ist dafür zu sorgen, dass der VPN-Verkehr passieren kann. Ob die Firewall ein Problem ist, kann am besten an verdächtigen Systemlogs über blockierte Verbindungen oder über kurzeitiges testweises Abstellen der Firewall herausgefunden werden.

-- GuidoWessendorf - 2009-12-09

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatEXT iked r1 manage 1.0 K 2011-11-06 - 10:16 OliverRubner Start Skript für den Shrew Soft VPN client
Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r6 - 2012-09-14 - neuhaus
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding ZIVwiki? Send feedback
Datenschutzerklärung Impressum