1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

VPN Auto-Connect

Dieses Thema im Forum "AppleScript" wurde erstellt von tesla2k2, 14.07.06.

  1. tesla2k2

    tesla2k2 Gala

    Dabei seit:
    13.06.05
    Beiträge:
    53
    Moin,

    mich hat es wahnsinnig gemacht, dass ich jedesmal wenn ich mich im Uni-WLAN einlogge (VPN-Verbindung) das ganze per Hand machen muss. Da ich eine schon fertige Lösung im Netz nicht gefunden habe, hab ich mir halt selbst was gebastelt. Das ganze basiert auf Sleepwatcher http://www.bernhard-baehr.de/ und nem Applescript. Zunächst prüft es, in welchem WLAN ich mich befinde. Wenn es das Uni-Netz ist, schmeisst es automatisch die VPN-Verbindung an.

    Da ich mich wie gesagt blöde gesucht habe, will ich allen anderen das ganze nicht vorenthalten.

    AppleScript:
    Code:
    set NetName to do shell script ("system_profiler SPAirPortDataType |grep -e " & quoted form of "Current Wireless Network:" & " |awk '{print $4,$5,$6,$7}'") as string
    
    if NetName contains "AnasHome" then
    	-- at home, no pptp connection
    else if NetName contains "Uni-Bremen" then
    	-- on campus, start pptp-connection
    	tell application "Internet Connect"
    		activate
    		connect configuration "VPN (PPTP)"
    		quit
    	end tell
    else
    	-- somewhere else, do nothing
    end if
    
    Die Namen der WLAN-Netze muss man dann natürlich für seine Bedürfnisse anpassen.

    Wenn man Sleepwatcher installiert hat, braucht es noch eine Konfigurationsdatei .wakeup im Home-Verzeichniss. Der open-Befehl muss auf das oben genannte Script zeigen.
    Code:
    #!/bin/sh
    open "/Users/tschi/Library/Scripts/AutoConnect.app"
    
    Diese Datei muss mit chmod +x .wakeup ausführbar gemacht werden.

    Wenn irgendwem dazu noch was einfällt, einfach mal posten.
     
    j33n5 und .holger gefällt das.
  2. .holger

    .holger Geflammter Kardinal

    Dabei seit:
    13.09.04
    Beiträge:
    9.117
    Boah goil, danke, mal sehen ob ich das hinbekomme, aber die Anleitung sieht ja ganz einfach aus ;)
     
  3. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Für Leopard geht folgendes Skript:
    Code:
    tell application "System Events"
        tell current location of network preferences
            set VPNservice to service "VPN (L2TP) 2" -- name of the VPN service
            if exists VPNservice then connect VPNservice
        end tell
    end tell
    Das ganze über den Network Locator "MarcoPolo" (2.5) ausführen lassen.
     
  4. harden

    harden Roter Eiserapfel

    Dabei seit:
    28.03.05
    Beiträge:
    1.445
    Da ich in der Uni den Cisco VPN client nutzen muss (weil das UNI Netz OSX nicht so recht mag...) hab ich noch Shimo installiert, dass ebenfalls automatisch connected.
     
  5. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Ja ging ja aber um den PPTP-VPN-Clienten von Leopard und Cisco kann nur IPSec. Shimo ist auf jeden Fall ein sehr gutes Progamm für den Cisco-Client :)
     
  6. _chris

    _chris Roter Delicious

    Dabei seit:
    22.02.08
    Beiträge:
    95
    hallo. hier habe ich noch fragen. ich habe das startupitempackage installiert, der daemon wird auch gestartet. soweit so gut.

    in den dateien r.sleep und rc.wakup kann ich lesen, dass jeweils ein applescript mit dem suffix .sleep oder .wakeup, im verzeichnis /home liegend, gestartet wird (ich interpretiere, dass das der ordner ist, der nach meinem kurznamen in mac os x benannt ist, RICHTIG?)

    und diese beiden scripts hab ich dann als ausführbar abgespeichert (.app) und jeweils das passende suffix angehangen (bzw. so geändert)

    meine fragen:

    - ausführbare datei (also vorher .app), richtig?
    - /home = /MEINKURZNAME, richtig?

    gruß,
    christian
     
  7. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Du hast das Applescript, das du als Anwendung speicherst (.app).
    In der .wakeup in deinem Home-Verzeichnis (also dein Name) schreibst du folgendes:
    #!/bin/sh
    open "/Users/tschi/Library/Scripts/AutoConnect.app"

    Mit dem jeweiligen Pfad zum Applescript, damit sollte es dann ausgeführt werden.
     
  8. _chris

    _chris Roter Delicious

    Dabei seit:
    22.02.08
    Beiträge:
    95
    äh, sorry. ich steh da aufm schlauch. kannst du den ablauf step-by-step niederschreiben?

    ich habe zwei applescripts im home ordner angelegt, das eine mounted, das andere unmounted.

    im verzeichnis /etc/ liegen zwei dateien, eine rc.wakeup und eine rc.sleep

    an diesen dateien muss ich dann was verändern, richtig? welche zeilen? dort taucht mehrfach, je nach datei, .wakeup bzw. .sleep auf. das hab ich dann geändert in die jeweiligen namen der applescripts, also in meinem fall mount.wakeup und unmount.sleep.

    in der konsole kann ich sehen, dass das applescript mount.wakeup durch das shell script im ordner /etc/ ausgeführt wird. aber von der ausführung des unmount.sleep ist nichts zu sehen :(

    sorry für die teils dummen fragen. apple scripts versteh ich ja, aber bei den zusammenhängen und shell scripts.. s.o. .. schlauch :-[

    besten dank!

    PS: AAAHH, ich hab die unmount zeile in der konsole entdeckt. wird also auch ausgeführt. aber, hab ich das denn so alles richtig gemacht? zumindest hatte ich auch vorher keine probleme mit der airdisk. neuerdings. sporadisch vorher allerdings schon.
     
  9. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Du musst einfach in deinem Home-Verzeichnis eine Datei namens ".wakeup" anlegen und dort den Inhalt:
    Code:
    #!/bin/sh
    open "/Users/BENUTZERNAME/meinapplescript.app"
    
    hineinschreiben und diese datei dann ausführbar machen (so wie es im 1. Post beschrieben wurde).
    Den Pfad natürlich anpassen, je nachdem wo das Applescript liegt.
    Dein Applescript musst du im Scripteditor einfach nur durch "Speichern Unter" als Programm speichern.
     
  10. _chris

    _chris Roter Delicious

    Dabei seit:
    22.02.08
    Beiträge:
    95
    Szenario 1:

    ich hatte in den existierenden scripts rc.sleep und rc.wakeup jeweils den dateinamen der applescripts eingefügt (die suffixe waren dort schon drin, daher nur mount bzw. unmount davor gesetzt, überall wo die suffixe vorkamen), mit dem resultat, das es funktionierte, zumindest liess die konsole darauf schliessen:

    11.03.08 16:21:00 kernel AFPSleepWakeHandler: going to sleep
    11.03.08 16:21:00 /etc/rc.sleep[228] executing unmount.sleep of user cstenger
    .
    .
    .
    11.03.08 16:21:30 kernel AFPSleepWakeHandler: waking up
    11.03.08 16:21:30 /etc/rc.wakeup[239] executing mount.wakeup of user cstenger
    11.03.08 16:21:34 kernel AirPort: Link Up on en1


    Szenario2:

    ich habe die anweisungen befolgt. weiterhin zwei applescripte (mount.app und unmount.app), mit texteditor zwei dateien erzeugt, mit dem pfad zum einen bzw. anderen applescript. dann die beiden suffixe geändert, in .sleep und .wakeup, dann mit terminal beide ausführbar gemacht (icon hat sich geändert, apfel+i "Ausführbare UNIX-Datei" usw ..

    aber: nun steht in der konsole nichts mehr davon, dass die applescripts gestartet wurden.

    ich bin total ratlos. was mich allerdings generell wundert, das problem das ich hatte weswegen ich überhaupt auf die sleepwatcher sache gekommen bin, nämlich das nach dem ruhezustand die airdisk rumspinnt, existiert nicht mehr.

    danke für euer verständnis.

    gruß,
    christian
     
  11. _chris

    _chris Roter Delicious

    Dabei seit:
    22.02.08
    Beiträge:
    95
    ich korrigiere mich, in den dateien rc.sleep und rc.wakeup habe ich noch die dateinamen vervollständigt, nun klappt es anscheinend (wieder):

    danke, das wars wohl erstmal. ich belasse es dabei.

    gruß,
    christian
     
  12. kevin@mac

    kevin@mac Boskop

    Dabei seit:
    09.02.08
    Beiträge:
    212
    Und wozu hast du an der rc.sleep in /etc rumgespielt??? Du solltest einfach nur eine Datei namens ".wakeup" in deinem Homeverzeichnis erstellen, weil die durchsucht wird...
     
  13. _chris

    _chris Roter Delicious

    Dabei seit:
    22.02.08
    Beiträge:
    95
    naja genau die situation hatte ich beim vorletzten post ja. tat sich nichts. erst, als ich in den beiden rc dateien den kompletten dateinamen angegeben habe, gings.

    aber genau auf die gleiche art und weise ging es vorher eben auch, ohne die zusätzlichen shell scripts dazwischen, nämlich dass die rc dateien DIREKT auf die applescripts verwiesen haben.

    seltsamerweise. aber es ging.

    PS: gerade kam ein update für das airport dienstprogramm, laufwerksprogramm und basisstationsagent heraus. vielleicht wird das ganze konstrukt airdisk jetzt weniger buggy.
     
    #13 _chris, 11.03.08
    Zuletzt bearbeitet: 11.03.08
  14. stk

    stk Grünapfel

    Dabei seit:
    05.01.04
    Beiträge:
    7.141
    Moin,

    *fredausgrab*

    stehe gerade vor einer ganz ähnlichen Anforderung. Ich stelle meinen Kunden ein VPN-Login zu meinem Server zur Verfügung um darüber anfallende Wartungsarbeiten auf deren Rechner ausführen zu können.

    Da ich dabei auf die Einwahlhilfe der Kunden und die Stabilität der Leitung (Zwangstrennung als Stichwort) angewiesen bin, würde ich das ganze gerne weiter automatisieren. Meine Idee ist es, über eine bestimmte Mail ein AppleScript zu triggern, welche den VPN-Verbindungsaufbau auslöst.

    Um auf der sicheren Seite zu sein muß natürlich gewährleistet sein, das die Verbindung auch zu meinem Server und nicht zu irgendeinem anderen aufgebaut wird. Frage daher: wie schaffe ich es, das

    a) Internet Connect eine bestimmte Configuration für die L2TP-Anwahl verwendet?
    b) erst mit dem Script die Übergabe der Parameter festgelegt wird oder sogar
    c) über den Inhalt der Mail die Einwahldaten bestimmt werden können

    Alles was ich bisher an Lösungen gefunden habe, geht von einer einzigen existierenden Einwahlkonfiguration aus und enthält keinerlei Fehlerbehandlung ob die erwartete Konfiguration vorhanden, aktiv und valide ist.

    Gruß Stefan
     
  15. j33n5

    j33n5 Horneburger Pfannkuchenapfel

    Dabei seit:
    18.12.06
    Beiträge:
    1.405
    Hi Leute,

    seit langer Zeit mal wieder hier am Start.. :D

    Ich bekomme das ursprüngliche Script mit Sleepwatcher nicht zum Laufen und meine, ich kann den Fehler auf folgende Terminal-Ausgabe eingrenzen:
    Code:
    jens-macbook:~ jens$ system_profiler SPAirPortDataType |grep -e " & quoted form of "Current Network Information" & " |awk '{print $4,$5,$6,$7}'
    grep: Network: No such file or directory
    grep: Information & : No such file or directory
    Weiß jemand, warum? Scheinbar stimmt irgendetwas mit den Anführungszeichen nicht. Ich bin mit Lion unterwegs.


    p.s.: Bei Lion hat sich "Current Wireless Network:" zu "Current Network Information" im System Profiler geändert.
     
    #15 j33n5, 24.10.11
    Zuletzt bearbeitet: 24.10.11
  16. j33n5

    j33n5 Horneburger Pfannkuchenapfel

    Dabei seit:
    18.12.06
    Beiträge:
    1.405
    Problem anders gelöst

    hi Leute,

    ich habe das Problem nun mir pearPortVPN gelöst. Läuft wunderbar!
     
    Ragnir gefällt das.
  17. Ragnir

    Ragnir Adams Parmäne

    Dabei seit:
    18.10.08
    Beiträge:
    1.320
    Vielen Dank, das werde ich gleich mal ausprobieren. :)
     

Diese Seite empfehlen