Dokumenttext

VPN-Client unter OpenSUSE einrichten

Eine sichere VPN-Verbindung kann auch mittels der Software Shrew hergestellt werden. Der Nachteil besteht darin, dass die Software nicht in einer der üblichen Linux-Distributionen vorhanden ist und sich daher nicht ganz so bequem installieren lässt. Die Installation ist im Folgenden für OpenSUSE 11.1/11.3 (11.2 nicht getestet) beschrieben. Sie lässt sich ohne größere Schwierigkeiten auf andere Distributionen übertragen.

  1. Folgende Pakete müssen (mindestens) installiert sein:
    c++- Compiler (gcc-c++, gcc43-c++), c-Bibliotheken (libgcc43), flex, bison (Version 2.3 oder höher), cmake (Version 2.4 oder höher), openssl (0.9.x), QT (qt3, qt3-devel, Version 3.3.x, Version 4.x wird nicht unterstützt - daher müssen die alten qt-Quellen installiert werden), openldap (2.0 oder höher)
  2. Den Quellcode herunterladen und in einem Verzeichnis entpacken
    Quellcode: http://www.shrew.net/download/ike/ike-2.1.7-release.tbz2
    (Hauptseite: http://www.shrew.net/)
    Entpacken mit tar -xvjf ike-2.1.7-release.tbz2

  3. Ins Verzeichnis "ike" wechseln und folgendes eingeben:
    cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DQTGUI=YES -DETCDIR=/etc -DNATT=YES
    Fehlende Pakete werden gemeldet und müssen (z.B. mit YaST) installiert werden.
    Jetzt die Programme erzeugen:
    make
    Als normaler User zu "root" wechseln (und "root" bleiben):
    su
    Die Programme installieren:
    make install

    Das Installationsverzeichnis wird mit -DCMAKE_INSTALL_PREFIX=<INSTALLATIONSVERZEICHNIS> spezifiziert. Wird das Verzeichnis /usr/local geändert, muss das Verzeichnis auch nachfolgend geändert werden.

  4. Jetzt muss die erste Konfigurationsdatei erstellt werden, indem einfach die Muster-Datei kopiert wird:
    cp /etc/iked.conf.sample /etc/iked.conf
  5. Bevor Shrew fest im System verankert wird, sollte zunächst getestet werden, ob alles funktioniert. Hierzu wird der iked-Dämon aufgerufen:
    /usr/local/sbin/iked

     

    Tritt eine Fehlermeldung wie error while loading shared libraries auf, so muss noch das Verzeichnis mit den Bibliotheken in den Systemsuchbaum. Zunächst nachschauen, ob in der Datei /etc/ld.so.conf der Pfad /usr/local/lib (und bei 64bit-Linux auch noch /usr/local/lib64) aufgeführt ist (sind). Wenn nicht, dann hinzufügen. In allen Fällen sollte ldconfig aufgerufen werden.

  6. Das nächste Problem betrifft die Systemregel, wie mit ankommenden Paketen aus dem Netz umgegangen werden soll. Bei OpenSuSE werden Pakete unbekannter/falscher Herkunft nicht weitergeleitet. In unserem Fall müssen wir diese Regel aufweichen. Im anderen Fall wird der VPN-Tunnel erfolgreich aufgebaut, aber es werden keine Pakete weitergeleitet. Damit diese Pakete nicht verworfen werden, muss die Datei /etc/sysctl.conf abgeändert werden. Diese Datei mit einem Editor öffnen und die Zeile
    net.ipv4.conf.all.rp_filter = 0
    hinzufügen oder - wenn die Zeile vorhanden ist - aus der 1 eine 0 machen.
    Leider reicht diese Zeile sehr häufig nicht aus. Zusätzlich muss noch
    net.ipv4.conf.eth0.rp_filter = 0
    net.ipv4.conf.wlan0.rp_filter = 0
    gesetzt werden. Allerdings sind die korrekten Schnittstellen zu wählen. Angegeben sind im Beispiel die Standardbezeichnungen eth0 und wlan0. Nachschauen kann man mit dem Befehl /sbin/ifconfig.

     

    Nach dem abspeichern der Datei /etc/sysctl.conf in der root-Konsole mit
    sysctl -p
    die Regel aktivieren.

  7. Das eigentliche Shrew-Programm sollte nun als normaler User aufgerufen werden. Also exit eingeben oder in eine andere Shell wechseln.

  8. Um die Einrichtung der Verbindung zum VPN-Server der HTW zu erleichtern, sollte folgende vpn-Datei heruntergeladen werden: HTW.vpn
  9. Shrew aufrufen:
    ikea (oder /usr/local/bin/ikea)

  10. Die Verbindung zum VPN-Server der HTW nun einrichten:
      - FILE->Import
      - HTW.vpn auswählen und einlesen
      - In dieser Konfiguration ist die Gruppe ecc eingetragen. Das lässt sich aber leicht ändern:
       Den Punkt properties anklicken, den Reiter Authentification anklicken und unter Key ID String den gewünschten Key (z.B. sowi) eingeben. Nicht vergessen auf save zu klicken.
      - Das Schloss-Symbol mit Bezeichnung HTW.vpn anwählen und auf connect klicken.
      - User-Name und Passwort passend zum ECC eingeben.
    Die Verbindung sollte nun zustande gekommen sein.

  11. Für die weitere Nutzung sollte man wissen, dass ein Teil der Software als "root" gestartet werden muss - und dies nach jedem Booten des Systems geschehen muss. Möchte man nicht automatisch den ike-Dämon starten (weil z.B. andere VPN-Clients benutzt werden), dann müssen folgende Schritte durchgeführt werden:
      - sudo /usr/local/sbin/iked
      - sudo sysctl -p
      - ikea (als User aufrufen)

    Man kann auch versuchen, den ike-Dämon automatisch als Dienst zu starten, was allerdings distributionsabhängig ist. Hinzukommt das Verhalten einer neu aktivierten/gestarteten Firewall, die Regeln mit den Paketfiltern zu überschreiben. Da die Firewall normalerweise zuletzt gestartet wird, muss die Filterregel nach der Firewall neu eingelesen werden.

     

    Ein unschöner (aber funktioniernder) Work-around ist folgendes Vorgehen:
    Zunächst die beiden Dateien zum Starten und Anhalten des Dienstes herunterladen: iked und iked_later
    (die Datei iked_later enthält nur den Befehl sysctl der nach dem Start der Firewall ausgeführt wird)

     

    Beide Dateien (als "root") ins Verzeichnis /etc/init.d kopieren:
    cp iked /etc/init.d/.
    cp iked_later /etc/init.d/.
    (vorausgesetzt die Dateien iked und iked_later stehen im aktuellen Verzeichnis und den Punkt am Ende nicht vergessen)

     

    Nun müssen die Dateien noch ausführbar gemacht werden:
    chmod a+x /etc/init.d/iked
    chmod a+x /etc/init.d/iked_later
    Sicherheitshalber sollten diese Dateien nicht abänderbar sein:
    chmod go-w /etc/init.d/iked
    chmod go-w /etc/init.d/iked_later

  12. Nun muss der Dienst noch aktiviert werden:
    Erste Möglichkeit: mit YaST unter dem Punkt System, die Systemdienste anklicken, nach "iked" suchen und den Dienst aktivieren (Taste "k" oder unten auf "aktivieren" klicken). Den Dienst "iked_later" bitte unangetastet lassen.

     

    Zweite Möglichkeit (als "root"):
    insserv /etc/init.d/iked
    ln -s /etc/init.d/iked /sbin/rciked

  13. Nun sollte alles funktionieren. Am besten testen, indem der Rechner neu gestartet wird. Anschließend durch Aufruf von ikea das Programm starten.

     

    Beim Surfen im Internet nicht vergessen, den Proxy-Server einzutragen.

 

28.12.2010
Korrekturen, Verbesserungen, Anregungen können gerne per E-Mail an Prof. M. Günther (Fakultät IngWi) geschickt werden.

Einstellungen
documenttext

htw saar
Hochschule für
Technik und Wirtschaft
des Saarlandes

University of
Applied Sciences

Kontakt

Hochschule für Technik und Wirtschaft
des Saarlandes
Goebenstraße 40
66117 Saarbrücken

Telefon: (0681) 58 67 - 0
Telefax: (0681) 58 67 - 122
E-Mail: info@htwsaar.de

Aufsichtsbehörde:
Staatskanzlei des Saarlandes

Folge uns