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. 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

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

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

Aufruf des Linux Shrew-VPN-Clients

Mit Root-Rechten den iked Daemon starten (ggf. je nach Linux-Distribution abweichend):

  • sudo /usr/sbin/iked

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

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r4 - 2010-10-10 - OliverRubner
 
  • 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