OpenVPN unter Leopard ohne Tunnelblick

Bernd hat neulich ja schon mal über OpenVPN geschrieben: Wie man damit beispielsweise die Internetzensur in China umgehen könnte. Wir setzten OpenVPN auch intern als VPN Lösung ein und verbinden damit die beiden Rechenzentren mit unserem Büro und ermöglichen den Notebook Usern von unterwegs Zugriff auf alle notwendigen Ressourcen. Der große Vorteil von OpnVPN in diesem Szenario ist, dass es den Client für alle wichtigen Betriebssysteme gibt: Linux, Windows und Mac OS X.

Für den Mac gibt es vor allem das Tunnelblick Projekt, das OpenVPN zusammen mit einer GUI ausliefert. Das Programm ist schnell und einfach zu installieren und erlaubt dem User die VPN Verbindungen selbst zu steuern. Leider ist die Version für Leopard sehr instabil, denn sie ist bei mir immer wieder abgestürzt, so dass ich OpenVPN manuell killen und dann Tunnelblick neustarten musste. Dazu kommt, dass ich die GUI eigentlich gar nicht brauche. Als ich noch ein Windows Notebook hatte, hab ich OpenVPN als Dienst installiert, so dass es, wann immer möglich, automatisch eine VPN Verbindung aufgebaut hat.

Das wollte ich auch unter dem Mac wieder haben: Ein stabiles OpenVPN, keine GUI und das ganze vollkommend automatisch und transparent laufend. Mit MacPorts geht das und hier ist die Anleitung, wie man das ganze unter Leopard installiert und konfiguriert:

  1. Installation von Mac Ports
    1. Installieren der Apple Xcode 3.0 Developer Tools von der Apple CD
    2. Installieren der Apple X11 User und SDK Pakete von der Apple CD
    3. Herunterladen und Installieren des DMG Archivs von der MacPorts Website
  2. Installation von OpenVPN unter MacPorts
    sudo port selfupdate
    sudo port install openvpn2
  3. Installation des TUN/TUP Treibers für OS X von SourceForge
  4. Anlegen der Konfigurationsdateien
    sudo mkdir /etc/openvpn2
  5. Nun erstellt man sich eine entsprechende OpenVPN Kopnfiguration oder nimmt eine bestehende und kopiert dies, zusammen mit den Zertifikaten in diesen Ordner
  6. Als nächstes kann man OpenVPN testweise manuell starten:
    sudo /opt/local/sbin/openvpn2 /etc/openvpn2/myconfig.conf
  7. Wenn man möchte, dass OpenVPN automatisch als Demon startet, legt man sich eine entsprechende Datei an
    sudo touch /Library/LaunchDaemons/net.openvpn2.plist
  8. Und konfiguriert in der Datei seinen Demon:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
            "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
            <key>Label</key>
            <string>net.openvpn2</string>
            <key>OnDemand</key>
            <false/>
            <key>ProgramArguments</key>
            <array>
                    <string>/opt/local/sbin/openvpn2</string>
                    <string>--cd</string>
                    <string>/etc/openvpn2</string>
                    <string>--config</string>
                    <string>/etc/openvpn2/netways.conf</string>
            </array>
            <key>RunAtLoad</key>
            <true/>
            <key>TimeOut</key>
            <integer>90</integer>
            <key>WatchPaths</key>
            <array>
                    <string>/etc/openvpn2</string>
            </array>
            <key>WorkingDirectory</key>
            <string>/etc/openvpn2</string>
    </dict>
    </plist>
  9. Danach meldet man den Demon im System an, und er startet automatisch:
    sudo launchctl load -w /Library/LaunchDaemons/net.openvpn2.plist
  10. Ich hatte noch Probleme mit den Namensservern, aber da bei uns alle internen Namen sowieso über einen internen DNS Server aufgelöst werden, kann man /etc/resolver benutzen. Dazu legt man in diesem Verzeichnis pro Domain, für die man einen anderen Namensserver verwenden will, ein File an und schreibt dort seine Namensserver rein. Beispielsweise:
    touch /etc/resolver/int.meinefirma.de
    mit folgendem Inhalt:
    nameserver 192.168.1.10
    nameserver 192.168.1.11

Das wars. OpenVPN ist damit installiert und läuft im Hintergrund als Demon. Wenn es im Einzelfall Probleme mit OpenVPN gibt, killt man einfach den Demon und Launchd startet ihn dann automatisch wieder neu. OpenVPN baut im Hintergrund, sobald es das Gateway erreichen kann eine VPN Verbindung auf. Wichtig ist, dass man innerhalb von OpenVPN die passenden Routen setzt oder sie vom Server an den Client pushen lässt. Bei uns blockiert die Firewall im Büro das VPN Gateway, so dass es da keine Verbindung aufbauen kann. Es geht nur ausserhalb des Büros.

Bei mir läuft das jetzt mehr als 6 Monate sehr stabil. Immer wenn ich Probleme hatte und dachte es liegt an OpenVPN hat sich nachher herausgestellt, dass es doch etwas anderes war. Tunnelblick vorher, ist mir mindestens zweimal pro Tag abgestürzt.

  • Share/Bookmark

Weiterführende Artikel

14 Responses to “OpenVPN unter Leopard ohne Tunnelblick”


  1. Gravatar Icon 1 bernd

    sudo port install tuntaposx
    dann kann man tuntap auch über macports beziehen.

  2. Gravatar Icon 2 Jens

    Da mir Tunnelblick auch zu instabil war und ich doch dann eher zu faul bin bei Bedarf von Hand den Tunnel aufzubauen habe ich folgende Alternative gefunden: http://www.viscosityvpn.com/

    Läuft bisher stabil…. :-)

  3. Gravatar Icon 3 Tobias

    Hallo,

    ich habe ein kleines Problem mit der Anleitung. Und zwar mit 7. Muss ich da irgendwas ändern? Oder passt das alles so?

    Und bei 8. sagt er mir, dass er die Datei nicht finden kann. Kann mir jemand helfen?

    Der Rest hat super geklappt.

    Danke euch mal.

    Grüße
    Tobias

  4. Gravatar Icon 4 Julian Hein

    Hallo Tobias, danke für den Hinweis. Da war ein Tippfehler. Einmal hiess die Datei net.openvpn und einmal net.openvpn2. Das kann natürlich nicht gehen. Ich habs angepasst. Gruß, Julian

  5. Gravatar Icon 5 Tobias

    @ Julian, super, danke Dir.

    Jetzt meckert er nur noch rum, weil ihm die Rechte an der Datei nicht so passen. Er meldet “Dubious ownership on file (skipping)”. Wie muss ich die Rechte an der Datei ändern, bzw. welche Rechte braucht mein User?

    Danke für Deine Hilfe.

    Grüße Tobias

  6. Gravatar Icon 6 Bill

    @Jens

    Deine alternative läuft wirklich besser, danke dafür.

  7. Gravatar Icon 7 Matthias

    Im Punkt 2 haben sich zwei kleine Fehler eingeschlichen (oder ein Fehler doppelt):
    Das Kommando muss jeweils “port” lauten und nicht “ports”.

    sudo port selfupdate
    sudo port install openvpn2

    Vielen Dank
    Matthias

  8. Gravatar Icon 8 Matthias

    Im Punkt 7 fehlte mir noch ein sudo

    sudo touch /Library/LaunchDaemons/net.openvpn2.plist

    Grüße
    Matthias

  9. Gravatar Icon 9 Julian Hein

    Hallo Matthias,

    danke für die Hinweise, ich habe die Fehler korrigiert.

    Schönen Gruß,
    Julian

  10. Gravatar Icon 10 Michael

    Hallo,
    warum braucht ihr Tunnelblick oder MacPorts?
    Der Leopard hat doch eine VPN Funktion.

    gruß
    Michael

  11. Gravatar Icon 11 Julian Hein

    Michael: Hallo,
    warum braucht ihr Tunnelblick oder MacPorts?
    Der Leopard hat doch eine VPN Funktion.gruß
    Michael

    Naja, wenn Du auf der anderen Seite OpenVPN hast, dann brauchst Du auf Deinem Client auch irgendwas was OpenVPN sprechen kann.

  12. Gravatar Icon 12 Micha

    Vielen Dank fuer deine Anleitung.
    Hab ich gleich mit scrapbook gesaved.

    Hier noch ein freeware-vpn-client namens ipsecuritas
    http://www.lobotomo.com/products/IPSecuritas/

  1. 1 links for 2009-02-10 « /home/servrrockr
    Pingback on Feb 11th, 2009 at
  2. 2 This is not an exit » Setup openVPN on MacOS
    Pingback on Jan 16th, 2010 at

Leave a Reply