Mac OS X – VPN Verbindung und statische Route mit AppleScript

Hier eine kurze Beschreibung, wie man mit Hilfe von Apple Script ein kleines Programm schreiben kann, mit dem man eine VPN Verbindung herstellen und im direkten Anschluss eine Netzwerkroute setzen kann.

Dies ist z.B. dann eine Hilfe, wenn man via VPN auf eine Remote-Desktop-Verbindung zugreifen möchte, jedoch nicht allen Netzwerktraffic über die VPN Verbindung routen möchte. Wenn man bei der VPN-Verbindung die folgende Einstellung deaktiviert, wird wahrscheinlich keine Verbindung zum Remote-Desktop möglich sein: “Systemeinstellungen” –> “Netzwerk” –> <Name der VPN-Verbindung> –> “weitere Optionen” –>  ”Gesamten Verkehr über die VPN-Verbindung senden”

Um dies zu umgehen, habe ich eine statische IP-Route eingerichtet, die im Anschluss auf den Verbindungsaufbau angelegt wird.

sudo route -nv add -net <Ziel-IP der RDP-Freigabe> -interface ppp0

Diese Einstellung ist jedoch nur für die Dauer der Verbindung aktiv. Sobald die Verbindung wieder abgebaut wurde, ist diese Route nicht mehr vorhanden. Da ich den Befehl nicht andauernd manuell aufrufen möchte, habe ich daher mit Apple Script das folgende kleine “Programm” geschrieben:

tell application "System Events"
     tell current location of network preferences
         set VPNservice to service "<NAME-VPN-VERBINDUNG>"
         if exists VPNservice then connect VPNservice
         repeat until (connected of current configuration of VPNservice)
              delay 1
         end repeat
     end tell
 end tell
 do shell script "route -nv add -net <ZIEL-IP> -interface ppp0" user name "<BENUTZERNAME>" password "<PASSWORD>" with administrator privileges
Die BLAU hervorgehobenen Bereiche müssen zuvor mit den jeweiligen Informationen befüllt werden (wie z.B. anstelle von <ZIEL-IP> –> 192.168.1.1, etc.). Bitte darauf achten, dass man schon wissen sollte, was man dort einträgt. Ansonsten funktioniert evtl. der Netzwerkzugriff danach nicht mehr so, wie man sich das wünscht :-)
Nachdem man das Script im Apple Script Editor geschrieben hat, sollte man es zunächst als *.scpt Datei unter seinen Dokumenten ablegen, damit man es ggf. noch mal anpassen kann. Da wir jedoch ein Passwort im Klartext hier eintragen müssen, empfiehlt es sich dringend das Script als Programm und nur ausführbar abzuspeichern. Das geht folgendermaßen:
AppleScript-Editor –> “Ablage” –> “Sichern unter” –> als Dateiformat “Programm” auswählen und das Kontrollkästchen “Nur ausführbar” unter Optionen aktivieren.
AppleScript als Programm speichern

AppleScript als Programm speichern

In diesem Fall wird das Script als ausführbares Programm gespeichert und man kann nicht so einfach das Passwort im Quelltext einsehen.
Übrigens:
Nur als Programm kann das Script direkt durch einen Doppelklick ausgeführt werden.

Share and Enjoy

  • Facebook
  • Twitter
  • LinkedIn
  • Add to favorites
  • RSS
  • Print

3 Gedanken zu “Mac OS X – VPN Verbindung und statische Route mit AppleScript

  1. Traumhaft – Genau sowas habe ich gesucht. Klappt wie am Schnürchen. Besten Dank für das kleine Script – Rettet mir gerade den Arsch und die Nerven.

  2. Hallo, vielen Dank für die tolle Scriptidee,

    ich habe Ihre Anregung aufgegriffen und ein Script zum Aufbau der VPN-Verbindung und automatischem mounten von Windowsshares geschrieben. Außerdem ein Script, welches die Shares wieder aushängt und die VPN-Verbindung dann abbaut. Alle Details unter: http://bit.ly/XB7dXi vielleicht ist es für den ein oder anderen Leser Ihres Blogs nützlich.

    Besten Gruß

    U. Ivens

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>