IPsec Autostart unter Mac OS X

Discussion in 'macOS' started by JackCarver, Mar 22, 2014.

  1. JackCarver

    JackCarver Junior Member

    Hallo,

    im Gegensatz zu OpenVPN mit zb Tunnelblick hat man leider mit dem Mac OS eigenen IPsec Client erstmal keine Möglichkeit eine bestimmte IPsec Verbindung bei Systemstart automatisch zu starten. Das ganze lässt sich allerdings mit ein klein wenig Handarbeit problemlos realisieren. Die Tools dazu sind alle bereits vorhanden, es muss dazu keine Zusatzsoftware installiert werden.

    Ich teile das mal in zwei Teile, in Teil 1 gleich hier wird eine gewünschte IPsec Verbindung automatisch bei Systemstart gestartet, danach beendet sich das Programm, in Teil 2 weiter unten bleibt das Programm aktiv und überwacht die IPsec Verbindung. Sollte diese Clientseitig abbrechen, weil zb eure Internetverbindung unterbrochen wurde, so startet es diese IPsec Verbindung wieder sobald das Internet wieder verfügbar ist.

    Ich gehe jetzt mal von folgendem Szenario aus:

    - Es ist bereits eine IPsec Verbindung unter Systemeinstellungen -> Netzwerk funktionsfähig eingerichtet und ihr habt den Dienst PP-Frankfurt genannt

    Wie das dann bei jedem individuell anders ist ist für dieses Beispiel unerheblich, ihr müsst lediglich den Namen im Skript anpassen.

    Los gehts:

    1, Ihr startet den AppleScript-Editor, zu finden unter "Programme -> Dienstprogramme", dann öffnet sich folgende Maske:

    [​IMG]

    Hier klickt ihr auf "Neues Dokument".


    2, In das nun sich öffnende Fenster kopiert ihr folgnedes Skript hinein:

    Kurze Erklärung dazu:

    Wenn euer Rechner startet kann es sein, zb wenn ihr ne SSD habt, dass dieses Programm bereits gestartet wird, wenn noch gar keine Netzwerkverbindung vorhanden ist. Um Fehlermeldungen zu vermeiden pingt dazu das Skript in einer Endlosschleife solange apple.com an bis keine Fehlermeldung zurück geliefert wird. Erst danach startet es eure IPsec Verbindung PP-Frankfurt.
    Kleiner Tipp:

    Unter "Bearbeiten -> Suchen -> Suchen und Ersetzen" könnt ihr ganz einfach nach PP-Frankfurt suchen und den Eintrag im Skript durch euren eigenen ersetzen.


    3, Das ganze sollte nun so aussehen:

    [​IMG]

    Ihr klickt einmal auf Übersetzen um zu sehen, dass alles fehlerfrei übersetzt wird. Das PP-Wherever lautet bei euch natürlich wie im Skript vorher PP-Frankfurt oder so wie die zu startende IPsec Verbindung eben bei euch heißt. PP-Frankfurt ist hier ja nur als Beispiel zu sehen.


    4, Ihr klickt nun auf "Ablage -> sichern" und speichert euer Skript folgendermaßen ab:

    [​IMG]

    Es wird also als Programm unter Dokumente gesichert.


    5, Um nun das Programm mit Systemstart automatisch zu starten geht ihr auf "Systemeinstellungen -> Benutzer und Gruppen -> Anmeldeobjekte", dann sollte das so ungefähr aussehen:

    [​IMG]

    Nun fügt ihr einfach über das "+" euer neues Programm hinzu. Bei jedem Systemstart wird das nun automatisch gestartet und sobald euer Netzwerk verfügbar ist wird automatisch die gewünschte IPsec Verbindung gestartet.

    Teil zwei folgt sogleich.
     
    Dr_Iwan_Kakalakow likes this.
  2. JackCarver

    JackCarver Junior Member

    Teil 2:

    Hier geht es wie oben schon angemerkt um eine Möglichkeit zu Überwachen ob eine bestimmte IPsec Verbindung noch aktiv ist und im Falle des Abbrechens neu gestartet wird. Das ganze funktioniert identisch zu Teil 1, es ist lediglich ein anderes Skript zu verwenden, nämlich:


    Das ganze funktioniert im ersten Teil identisch zum Skript unter Teil 1, dh es wird eine gewünschte IPsec Verbindung bei Systemstart gestartet. Zusätzlich bleibt das Programm allerdings weiterhin aktiv und überwacht diese Verbindung. Sollte sie Clientseitig abreissen wird sobald das Internet wieder verfügbar ist die Verbindung erneut gestartet.

    Auch hier ist das PP-Frankfurt durch den Namen eurer eigenen gewünschten IPsec Verbindung unter "Systemeinstellungen > Netzwerk" zu ersetzen.

    Beim Abspeichern als Programm ist allerdings hier darauf zu achten, dass der Punkt "Nach run-Handler anzeigen" angehakt ist (unter älteren Mac OS X Versionen kann der Punkt auch "Nicht automatisch beenden" heißen), das sieht dann so aus:


    [​IMG]

    Sollte es Probleme oder Anregungen geben, so antwortet einfach hier. Ich habe beide Tools unter OS X Mavericks getestet, gehe aber davon aus, dass sie zumindest auch unter Lion/Mountain Lion lauffähig sind.

    Edit:
    Skript angepasst, dass erst dann in die repeat Schleife zum Test auf Konnektivität gewechselt wird, wenn auch tatsächlich die IPsec Verbindung im Laufenden Betrieb abgebrochen ist.

    Skript lässt sich nun über "Rechtsklick > Beenden" abbrechen, bei Shutdown, Neustart oder Ruhezustand wird es automatisch beendet.
     
    Dr_Iwan_Kakalakow likes this.
  3. PP Frank

    PP Frank Staff Member

    Hallo,

    OK. Ich habe das durchgetestet. Ich habe erst den zweiten Teil getestet, da mir das Script eigentlich besser gefiel. Problem an der Sache ist nur, das dieses Script den Neustart bzw Shutdown verhindert und blockiert, da es Non-Stop läuft. Man muss das vorher mit "Sofort Beenden" zumachen, danach geht der Rechner erst aus. Eigentlich nicht schlimm, auf meinem MacMini der 4 Uhr Nachts mit gestetzten An und Aus-Zeiten aber ein wenig suboptimal. Also das erste ist bei mir auf dem MacMini gelandet. Tun es beide wirklich gut.

    Top Jack, funzt 1a. Ist wirklich nett was einem Apple so für Tools und Werkzeuge gleich von Haus aus anbietet und wie diese arbeiten.
     
  4. JackCarver

    JackCarver Junior Member

    Das ist allerdings nicht so schön, ich werd mal sehen ob man da was machen kann für Teil 2.
     
  5. JackCarver

    JackCarver Junior Member

    Die Lösung heißt "on idle", ich werde das ins Skript unter Teil 2 mit einpflegen und n Bild dazu, wie das Programm dafür zu speichern ist. Danach kann man das Skript simpel über rechtsklick > beenden schließen oder einfach nen shutdown machen, was das Skript ebenfalls schließt.

    Das klappt auch mit dem Ruhezustand, nach dem Aufwachen verbindet IPSec wieder.
     
  6. PP Frank

    PP Frank Staff Member

    OK. Shutdown klappt jetzt damit. Ich muss nochmal beobachten wie das beim Ruhezustand ist. Mir ist vorhin mit Script 1 aufgefallen, dass irgendwann die Meldung kommt das die Verbindung getrennt ist bla bla bla.. Wird warscheinlich zwischendurch wegen dem Ruhezustand sein. Werde ich aber morgen im Laufe des Tages sehen
     
  7. JackCarver

    JackCarver Junior Member

    Bei Skript 1 gibt es keinen Reconnect mehr, das ist lediglich zum Autostart der Verbindung am Anfang, geht dein Mac in Ruhezustand, dann ist die Verbindung weg. Soll das nach dem Ruhezustand wieder gestartet werden, dann muss man Skript 2 nehmen.
    Es werden nur aktive Programme wieder ausgeführt, die VOR dem Ruhezustand aktiv waren. Das Skript unter Teil 1 beendet sich sobald die IPsec Verbindung steht.
     
  8. PP Frank

    PP Frank Staff Member

    Ja klingt logisch: Daher dann auch die Fehlermeldung.... Ich muss eh abwarten bis wir RPF bei IPSec IKEV2 drin haben, da Plex-Server sich ausserhalb des lokalen Netzes sonst nicht verbinden lässt :p

    Aber danke für deine Hilfe usw..
     
  9. b

    blbaerch New Member

    Vielen Dank für die Anleitung. Leider wirft Skript2 bei mir folgende Fehler aus (alles korrekt eingerichtet unter "Netzwerk" und manuelle Verbindung klappt auch, OSX 10.11.6):

    Unbenannt-1.jpg Unbenannt-2.jpg
     
  10. PP Frank

    PP Frank Staff Member

    Versuch mal unsere neuen automatischen Configs aus dem Downloadbereich. Da ist auch On-Demand mit dabei....
     
  11. b

    blbaerch New Member

    Besten Dank für den Tipp!
     
  12. PP Frank

    PP Frank Staff Member

    Also bei mir auf dem MacMini liefen diese Configs Wochenlang durch, ohne Probleme. Ich empfehle bei MacOS und auch iOS 2 oder 3 verschiedene Server-Configs zu installieren, damit man auch mal fix wechseln kann, wenn ein Server mal down oder anders nicht erreichbar ist. Mehr brauchst du nicht. Wenn du versuchst alle Server zu importieren, dann klickst du dich tot. Ist ja aber eh nicht Sinn der Sache ;)
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice