Linux und Ich

Blog über Ubuntu, Linux, Android und IT

Lizenziert unter CC by-sa von kristianfrisk auf Flickr

VPN der Universität Karlsruhe über vpnc

| 36 Kommentare

Wie schon hier beschrieben kann man das Netzwerk vieler Universitäten nur über ein VPN betreten. Dazu kommt üblicherweise der proprietäre VPN Client von Cisco zum Einsatz. Es gibt jedoch mit vpnc eine freie Alternative zu diesem Programm. Es ist in vielen Distributionen schon enthalten, doch leider meist nicht in der aktuellen Version, die nötig wäre um in das VPN von z.B. der Universität Karlsruhe zu gelangen…

UPDATE: Dieser Artikel ist veraltet! Sollten Sie über eine Internetsuche auf diesen Artikel gestoßen sein, so schauen Sie sich bitte besser den Artikel VPN der Uni-Karlsruhe mit vpnc (überarbeitet)… an. Dieser enthält die selben Informationen, ist jedoch auf einem aktuellen Stand!

Darüber hinaus enthält vpnc Codeteile, die der GPL widersprechen würden. Daher ist dieser Teil meist nicht in den Distributionen enthalten. Aus diesem Grunde muss man vpnc selber kompilieren. Ich möchte dies am Beispiel unter Ubuntu und anhand der Universität Karlsruhe durchführen.

Installation

Von der Homepage (s.o.) des Projektes muss man zunächst die aktuelle Version herunterladen. Im Moment ist dies die Version 0.5.1. Diese muss erst entpackt werden.

$ tar -xzf vpnc-0.5.1.tar.gz

Damit die Paketverwaltung das selbst compilierte vpnc nicht mit der Version aus den Paketquellen ersetzt, fügt man an das Ende des Verzeichnisnamens, noch ein Kürzel an. Später beim Compilieren wird dieses Kürzel mit in die Versionsnummer übernommen. So ist das eigene vpnc-Paket vor der Paketverwaltung “sicher”.

$ mv vpnc-0.5.1 vpnc-0.5.1-christoph1
$ cd vpnc-0.5.1-christoph1

Anschließend muss der besagte, gegen die GPL verstoßenende Teil, einkommentiert werden. Dazu öffnet man das Makefile in einem Editor. Also beispielsweise

$ gedit Makefile

und entfernt die Raute “#” vor den Zeilen 49,50 so dass dieser Abschnitt am Ende so


OPENSSL_GPL_VIOLATION = -DOPENSSL_GPL_VIOLATION
OPENSSLLIBS = -lcrypto

aussieht. Nun muss man die zum Compilieren nötigen Pakete installieren. Dieses kann man bei Ubuntu über die Paketverwaltung machen. Dazu einfach

$ sudo apt-get install libssl-dev build-essential dh-make fakeroot
$ sudo apt-get build-dep vpnc

ausführen. Alle benötigten Pakete werden installiert. Nun geht es an das Compilieren. Der Reihe nach führe man diese Befehle aus.

$ make
$ dh_make -f ../vpnc-0.5.1.tar.gz
$ fakeroot debian/rules binary
$ sudo dpkg -i ../vpnc_0.5.1-1*.deb

Dies erstellt ein .deb Paket das sich über die Paketverwaltung installieren, und somit auch wieder einfach deinstallieren lässt. Die Frage bei “dh_make”, nach der Art des Binaries kann man mit “s” für eine “single binary” beantworten.

Zertifikat

Nun ist vpnc in der nötigen Version installiert, so dass man es benutzen könnte. Doch bevor man eine Verbindung zum VPN aufbauen kann, benötigt man noch das Zertifikat des VPN. Im Fall der Universität Karlsruhe bekommt man dieses über die Homepage des Rechenzentrums www.rz.uni-karlsruhe.de. In der unteren rechten Ecke findet man eine Box, wo man “Smartlinks” eingeben kann. Mit dem Code “dfnpem” erhält man das Zertifikat, das man als Download einfach abspeichern kann, beispielsweise auf dem Desktop. Von dort muss man es mit

$ sudo cp ~/Desktop/dfnpca-02.pem /etc/ssl/certs/

an die passende Stelle kopieren.

Konfiguration

Schließlich muss noch vpnc konfiguriert werden. Dies geschieht über die Datei /etc/vpnc/default.conf. Über einen Editor

$ sudo gedit /etc/vpnc/default.conf

fügt man den Inhalt

IPSec gateway vpn.uni-karlsruhe.de
IPSec ID vpn
IPSec obfuscated secret ABED22A5C87C97A1A46DCF3B7318FF31A3DCF07E1714F1F0A62DA51456D94BD62FCC576D465E24FD55463E2E5E673BA8
IKE Authmode hybrid
Xauth username u...
Xauth password xxx
CA-File /etc/ssl/certs/dfnpca-02.pem

ein. Natürlich müssen der Benutzername und das Passwort noch angepasst werden. Damit diese Daten vor dem Einblick Dritter geschützt sind, sollte man mit

$ sudo chmod 600 /etc/vpnc/default.conf

die Dateirechte entsprechend setzen.

Verbindungsaufbau

Von nun an kann die Verbindung zum VPN über einen einfachen Befehl

$ sudo vpnc
$ sudo vpnc-disconnect

auf- bzw. wieder abgebaut werden.

Autor: Christoph Langner

Hallo, ich bin Christoph -- Linux-User, Blogger und pragmatischer Fan freier Software. Wie Ihr ohne Zweifel bemerkt haben solltet schreibe ich hier über Linux im Allgemeinen, Ubuntu im Speziellen, sowie Android und andere Internet-Themen. Wenn du Freude an meinen Artikel gefunden haben solltest, dann kannst du mir über Facebook, Google+ oder Twitter oder natürlich dem Blog folgen.

36 Kommentare

  1. vpnc: error: deobfuscating of password failed

    das da krieg ich, wenn ich das obfuskative passwort benutze… das plain-passwort mit der uni-kl-seite beschaffen und eintragen half aber. woran kann das liegen?

  2. Hmmm, hast du mal Maurice Massar angesprochen? (vpnc (at) unix-ag.uni-kl.de) Das sind ja die Macher von vpnc, ich denke die können dir helfen damit du via vpnc den Netzwerkzugang an der Uni Kaiserslautern nutzen kannst.

  3. Für alle die ihr vpnc mit network-manager-gnome verwenden wollen: Hier gibts .deb Pakete für Ubuntu Hardy: https://launchpad.net/~sroecker/+archive

  4. Hallo,

    danke erstmal für die kuhle Anleitung. Allerdings kommt beim Schritt ” sudo apt-get build-dep vpnc” folgener Fehler: “E: Sie müssen einige “source”-URIs für Quellen in die sources.list-Datei schreiben.” …

    Nun frage ich mich aber: welche Quellen sind das? Bzw. was fehlt konkret?

    Ich habe einen EEE-PC mit dem vorinstallierten Xandros, da sieht es mit Quellen sowieso recht mau aus…

    grüßle flo (@uni ka)

  5. Es fehlen wahrscheinlich die Paketquellen für den Quellcode. Unter Ubuntu müsste man unter “System -> Systemverwaltung -> Software-Quellen” die Quelle “Quelltext” aktivieren. Siehe z.B. hier. Das müsste unter Xandros auch möglich sein.

  6. Moin,

    wie geht ihr damit um, dass das System nach der Modifikation eine Aktualisierung für vpnc anbietet? Nach der Aktualisierung klappt diese hybride Geschichte nicht mehr.

    Ich nutze adept und wollte das eigentlich auch weiterhin tun.

    Gruß!

  7. Das liegt daran, dass Hardy denkt die Version von vpnc aus den Paketquellen wäre neuer als die selbst erstellte. Ich behelfe mir hier mit einem “Trick”. Ich nenne das ausgepackte Verzeichnis mit dem Quellcode um. Also auspacken

    $ tar -xzf vpnc-0.5.1.tar.gz
    

    und dann das Verzeichnis umbenennen

    $ mv vpnc-0.5.1-christoph1
    

    dh_make übernimmt dann das Anhängsel mit in die Versionsnummer und die Paketverwaltung gibt Ruhe :)

  8. ich bin an der Uni Freiburg unterwegs…

    eigentlich hat alles geklappt das einzige Problem das ich habe ist die korrekte Konfiguration.

    Das Problem ist, wir bekommen nur ein cert.p12 Zertifikat. das kannmanallerdings ändern: openssl pkcs12 -in cert.p12 -clcerts -nokeys -out cert.pem openssl pkcs12 -in cert.p12 -cacerts -nokeys -out root.pem openssl pkcs12 -in cert.p12 -nocerts -out key.pem

    dann hab ich aber 3 Dateien… welche nehme ich? ich habs mal mit cert.pem verucht.

    dann das nächste Problem ist: welches Gateway muss ich nehmen. Cisco benutzt: ipsec-rz.vpn.uni-freiburg.de

    damit bekomme ich aber: vpnc: no response from target

    mit vpn.uni-freiburg.de: vpnc: unknown host `vpn.uni-freiburg.de’

    und nochwas liege ich richtig in der Annahme, dass IPSec ID und secret das Gruppenpasswort ist?

  9. Sorry, da kann ich dir leider nicht helfen.

  10. Hallo Christoph,

    vielen Dank für die Hilfe, jetzt integriert sich das VPN deutlich besser in Ubuntu als vorher mit dem Citrix Client. Da meine Uni das Zertifikat nur im DER Format verteilt, hier für alle anderen Suchenden der Befehl zum Umwandeln ins PEM Format:

    openssl x509 -inform der -in cert.der -out cert.pem

    Quelle: (http://shib.kuleuven.be/docs/ssl_commands.shtml)

    Viele Grüße s-w

  11. Hallo Christoph,
    danke für die tolle Anleitung, aber irgendwie kommt bei mir folgende Ausgabe wenn ich eine Verbindung aufbauen will:

    $ sudo vpnc
    vpnc: warning: unknown configuration directive in /etc/vpnc/default.conf at line 3
    vpnc: warning: unknown configuration directive in /etc/vpnc/default.conf at line 4
    Enter IPSec secret for vpn@vpn.uni-karlsruhe.de:
    vpnc: no response from target

    Ich gebe anschließend diesen ellenlangen “Secretcode” ein, aber eine Verbindung wird trotzdem nicht aufgebaut…was bedeutet überhaupt die Zeile “IPSec obfuscated secret”?
    In der default.conf ist auch alles so editiert worden, wie du angegeben hast.

    Gruß,
    Mark

  12. Mark, ich denke du hast einen Fehler beim Uebernehmen der /etc/vpnc/default.conf gemacht. Das Layout hier zerrupft leider die Zeile mit diesem superlangen Key. Dieser muss in einer Zeile mit “IPSec obfuscated secret” stehen. Also

    IPSec gateway vpn.uni-karlsruhe.de
    IPSec ID vpn
    IPSec obfuscated secret ABED...
    IKE Authmode hybrid
    Xauth username u...
    Xauth password xxx
    CA-File /etc/ssl/certs/dfnpca-02.pem
    

    Hab den Key mal angekuertzt…

  13. ich nutze ArchLinux und es funktioniert ohne neu kompilieren!

    • Hey Simon,
      ich nutze auch Archlinux, kann aber irgwie nicht auf die Daten zugreifen. Bin an der HS-OWL (vpn ist hier vpn.hs-owl.de). Komme auch ohne Probleme auf den vpn drauf, sogar ohne Zertifikate, aber wie gehts weiter?? wenn ich über PCmanFM versuche auf den Vpn zuzugreifen, scheitere ich. Thunar findets auch nicht. Vllt. geb ich auch einfach die falsche Adresse an. (mir wurde gesagt, ich soll das hier in die Adress-leiste eingeben: smb://stokado1.aes.hs-owl.de) Die an meine HS haben leider auch nicht sehr viel mehr Ahnung als ich, vondaher … :/

      Thx im Vorraus

  14. @Simon, mal sehen wie lange noch ;) Siehe FS#9064 – Rebuild vpnc package wo openssl support. Es ist leider nunmal so, dass hier gegen die GPL verstossen wird.

  15. $ fakeroot debian/rules binary
    /usr/bin/fakeroot: 166: debian/rules: not found

    Was hab ich da falsch gemacht?

  16. Hallo Sven, ich denke du hast “dh_make -f ../vpnc-0.5.1.tar.gz” übersprungen. Erst das dh_make erzeugt die Verzeichnisstruktur “debian/…”. Was für ein Linux nutzt du?

  17. ich nutzt ubuntu 64 Hardy Heron

    das dh_make hab ich aber eingetipt…

  18. Es läuft jetzt aba ohne deine Anleitung.

    Ich hab den vpnc (aktuellste) einfach überPacket installiert und hab die config von nem Freund genommen und mein kürzel anstatt seines eigetragen und der verkehr zur uni läuft.

    Und fürs WLAn werd ich WPA nehmen.

  19. Ein Verbindungsaufbau über einem aus den Paketquellen von Ubuntu installiertem vpnc mit der Uni Karlsruhe ist nicht möglich.

    $ sudo vpnc
    vpnc was built without openssl: Can't do hybrid or cert mode.
    

    Du hast dann wohl schon die gepatchte Version installiert ;)

  20. Hey super Anleitung.
    Ich habe Xubuntu 8 (Hardy) und konnte den “normalen” Cisco Client nicht installieren, hab nun diese Variante ausprobiert und es klappte auf Anhieb. Vielen Dank dafür. :-)

    Jetzt habe ich auch die letzte Hürde beim Einstieg in Linux gepackt und mein Armada 1750 zeigt dank Xubuntu und swiftweasel was in ihm steckt. *rofl*

  21. Danke für die Anleitung, allerdings kommt bei mir beim verbindungsaufbau:
    vpnc: no response from target

    In der default.conf steht die url (vpn.uni-karlsruhe.de) aber richtig drin, und ein ping ist auch erfolgreich.

    Wo könnte der fehler liegen?

  22. > Danke für die Anleitung, allerdings kommt bei mir beim verbindungsaufbau: vpnc: no response from target

    Bist du per WLAN unterwegs? Ich habe oft feststellen müssen, dass der Empfang des WLAN Signals beispielsweise in der Unibib einfach zu schlecht ist, um eine stabile Netzwerkverbindung aufbauen zu können. Die Meldung “vpnc: no response from target” kenne ich daher auch. Nimm am besten ein LAN-Kabel mit, dann kannst du dich in der Bibliothek an eine der Netzwerkdosen an den Tischen hängen.

  23. Hallo, danke für die Anleitung, ist wirklich sehr verständlich!
    Allerdings habe ich Probleme mit dem DFN-Wurzelzertifikat. In deiner Anleitung endet die Datei mit .pem, bei mir aber mit .der (so lädt man die auch vom RZ). Die Fehlermeldung, die bei sudo vpnc kommt ist die folgende:
    vpnc: Error loading the CA file or directory
    In der /etc/vpnc/default.conf steht der richtige Pfad, nämlich
    CA-File /etc/ssl/certs/dfnpca-02.pem
    (ich hab die .per testweise mal in .pem umbenannt)
    Wo könnte der Fehler liegen? Ich hab beim ersten compilieren vergessen, in der Makefile die entsprechenden Zeilen einzukommentieren. Allerdings hab ich daraufhin dieses falsche Paket wieder deinstalliert und vpnc nochmal neu compiliert. Hab ich evtl. noch ne Konfigdatei vergessen zu editieren?

  24. Hallo Kai! Das RZ hat wohl seine Homepage geändert (heißt ja jetzt auch hochtragend “Steinbuch Centre for Computing”…). Die alte Homepage findest du auf http://www.rz.uni-karlsruhe.de/index.php dort findest du rechts unten die “RZ-SmartLinks”. Gibts du dort “dfnpem” ein, so bekommst du das gewünschte Zertifikat “dfnpca-02.pem” und kannst mit meinem Guide fortfahren.

  25. Hallo Christoph! Vielen Dank für die schnelle Antwort. Die Sache mit dem Smartlink steht ja sogar in deinem Guide. Ich muss ehrlich zugeben dass ich das ignoriert hab, weil ich dachte dass das keinen unterschied macht wenn ich dfnpca-02.der nötigenfalls in dfnpca-02.pem umbenenne. Aber hätte ich genau gelesen, hätte ich in nem anderen Comment auch den Hinweis gesehen, dass man das eben nicht einfach umbenennen kann… Schande über mein Haupt!

  26. Hallo Christoph!
    hab vpnc nach deiner Anleitung installiert, hat auch auf anhieb funktioniert…. ab morgen braucht man allerdings für die Uni KA das neue Zertifikat… ich hab mir davon die deutsche-telekom-root-ca-2.pem datei geholt, und sie nun in /etc/ssl/certs/ reinkopiert, und entsprechend in der default.conf den namen geändert… allerdings kommt nun die fehlermeldung
    nach
    /etc/ssl$ sudo vpnc:
    vpnc: Error verifying the certificate-chain

    was mach ich falsch??

    Danke schonmal für deine Hilfe!!!

  27. Hallo Christoph

    Ich habe vnc entsprechend deiner Anleitung eingferichtet, hat auch einwandfrei funktioniert… Problem ist nur, dass ab morgen das Zertifikat an der Uni KA geändert wird. Ich habe das neue “deutsche-Telekom Ca2″ Zertifikat runtergeladen, und zwar die .pem datei… diese dann in den /etc/ssl/certs/ ordner kopiert, und die default.conf datei entsprechend geändert.. allerding funktioniert es dann nciht, es kommt ein fehler von wegen #” could not built chain” oder so (ich hab schonmal ne post geschrieben, der war schon da, aber ist schon wieder weg…warum auch immer, da hatte ich die korrekte fehlermedlung reingestellt)

    Kannst du mir irgendwie helfen??

    Vielen dank schon einmla im voraus!!!

    Nico

  28. Hallo Nico! Hab das auch schon gesehen. Ich bin dabei das ganze Kapitel vpnc und Uni-Karlsruhe komplett umzuarbeiten. Dauert noch ein paar Tage. Am besten Ende nächste Woche hier nochmal vorbeischauen :)

    > ich hab schonmal ne post geschrieben, der war schon da, aber ist schon wieder weg…warum auch immer, da hatte ich die korrekte fehlermedlung reingestellt

    In Deutschland kann man es sich leider nicht leisten (siehe bspw. Callactive vs. Niggemeier) dass Kommentare auf einem Blog sofort sichtbar sind. Ich muss sie erst “freischalten”. Gut man kann sagen “es wird schon nix passieren”, doch ganz ehrlich, den Ärger erspare ich mir lieber von Haus aus….

  29. Hallo Christoph,

    Firts of all, excuseme for not speaking good German…
    I’m not confident enough so I’ll write you in English, ok?
    Hope you don’t mind :)
    The thing is that when I was in Karlsruhe last Semester, I successfully configured vpnc following your guide. Now I’m back home (Spain), and I cannot get it working due to a “error verifying the certification-chain” error. Notice that before, it used to go…
    Do you know if any CA has changed? Because I have installed (moved) all .crt listed in here http://www.rz.uni-karlsruhe.de/dienste/4772.php to /etc/ssl/certs but I keep on getting that error…
    Do you know what can I do? I really need the connection… :s
    Many thanks anyway for your helpful guide!!

  30. Just to make sure. You compiled vpnc by yourself with openssl (certificate) support?

    
    
    $ vpnc --version
    [...]
    Built with openssl (certificate) support. Be aware of the
    license implications.

    Supported DH-Groups: nopfs dh1 dh2 dh5
    Supported Hash-Methods: md5 sha1
    Supported Encryptions: null des 3des aes128 aes192 aes256
    Supported Auth-Methods: psk psk+xauth hybrid(rsa)

    I think you are missing dfnpca-02.pem certificate. Open the URL http://www.rz.uni-karlsruhe.de and look for a text-box called “RZ-SmartLinks” at the bottom right of this page. Enter “dfnpem” there, download the file dfnpca-02.pem and copy it into /etc/ssl/certs.

    The other thing might be this message:

    Ab Monatg den 29.09.2008 ist der VPN Verbindungsaufbau (aus dem WLANoder unterwegs) zum Campus Sued nur noch mit dem neuen Root Zertifikat der dt. Telekom moeglich. Dieses Zertifikat ist in dem Installationspaketdes RZ bereits enhalten, kann aber auch nachtraeglich heruntergeladen und importiert werden.

    siehe: http://www.rz.uni-karlsruhe.de/rd/vpn.php

    A week ago you got this message when you started a vpnc connection. But now this message is gone and I still can establish a vpn connection with my “old” certificate…

    Over the next couple of days i’d like to rewrite my guides. I keep you posted :)

  31. Hallo Christoph, and thank you for your help!

    Yes, I have vpnc compiled with openssl support:
    “Built with openssl (certificate) support. Be aware of the
    license implications.” and dfnpca-02.pem in its place. (I followed your steps and it used to work before…).

    The problem must be for sure something related with certificates. That’s why I asked you if it kept on working on you, since now mine just don’t work, but it used to :p. I thought too that I didn’t have the root certificate, so I installed it (downloaded, and copy pasted to /etc/ssl/certs), but no luck neither… Anyway, I hope we can find a solution soon :)

    Thank you!!

  32. Did you try the new “Deutsche Telekom Root CA 2 Zertifikat”. You’ll find it under http://www.rz.uni-karlsruhe.de/rd/vpn.php. Copy it into /etc/ssl/certs, change your /etc/vpnc/default.conf and try it again. Both certificates work here.

  33. Hey!!

    You were right!!
    I had already copied “all” certificates there, but the problem was that my default.conf file still pointed to dfnpca-02.pem instead of the new “Deutsche Telekom Root CA 2 Zertifikat” :p
    So now, after updating my configuration file to that “rootcert.crt”, everything works as it used to :)
    Thank you for pointing me out the solution!
    Best regards,

    Alvaro

  34. Hello everybody,

    i have one addition to make here: the system tame has to be right. I had all settings corect, but the system time was way in the past, and i got an Error vertifying the cetificate chain error. So also keep this in mind, if it does not work.

    Ole

  35. Hey,
    mit “super Anleitung da!” kann ich dich leider nicht lobpreisen :P Habs auch so hinbekommen, ohne Zertifikat ;-O Allerdings bin ich auch an ner anderen Hochschule.

    Naja, jedenfalls komme ich jetzt nicht weiter. Was nun, wenn die Verbindung steht? Meine Hochschule sagt, mir, ich solle in den Filebrowser “smb://stokado1.aes.hs-owl.de” eingeben, was mir allerdings eine Errormeldung vors Gesicht schmeißt, vonwegen: “Directory not supported.” Benutze PcManFM als Filemanager. Habs auch schon mal mit Thunar versucht, allerdings akzeptiert der Browser den Link nicht mal.

    Brauch ich da noch irgwelche Zusatzpackets für meinen Filebrowser? Aus Google werd ich leide rauch nicht schlau :-/

    Danke im Vorraus

Hinterlasse eine Antwort

Auf Linux und Ich darf anonym kommentiert werden. Die Felder für Name und E-Mail-Adresse dürfen beim Eintragen eures Kommentars leer bleiben. Ich freue mich aber über jeden Kommentar, zu dem der Autor mit seinem Namen steht.