Wie kann ich eine Netzwerkfreigabe automatisch bereitstellen, sobald OpenVPN verbunden ist? (mit Tunnelblick)

Weiß jemand, wie man eine Netzwerkfreigabe automatisch einbindet, sobald eine VPN-Verbindung mit Tunnelblick hergestellt wurde?

Im Moment muss ich eine Verbindung herstellen und dann im Finder ein cmd + K ausführen, um eine Verbindung zur AFP-Freigabe herzustellen. Es wäre schön, wenn es sich automatisch verbinden würde.

Die Freigabe hat kein Passwort (TimeCapsule ohne Passwörter, und nein, es wird nicht für Backups verwendet, wir verwenden es für einen Dateiserver).

Antworten (2)

1.

Bearbeiten Sie die Datei /Applications/Tunnelblick.app/Contents/Resources/client.up.osx.shund fügen Sie diese Befehle am Ende der Datei kurz vor hinzu exit 0:

su USERNAME -c '
mkdir /Volumes/TimeCapsule
mount_afp afp://afp_username@server/volumename /Volumes/TimeCapsule
'
open /Volumes/TimeCapsule

Ersetzen Sie USERNAME durch Ihren Benutzernamen auf dem System.

2.

Fügen Sie dann am Ende Folgendes hinzu /Applications/Tunnelblick.app/Contents/Resources/client.down.osx.sh:

umount /Volumes/TimeCapsule

3.

Vergessen Sie nicht, die set nameserverOption für Ihre Konfiguration zu aktivieren:

Name Server

Warnung: Konfigurationsdateienclient.(up|down).osx.shwerden für alle Verbindungen ausgeführt, die über OpenVPN hergestellt werden.

Dies könnte auch verwendet werden, launchdum zu beobachten, ob die VPN-Verbindung besteht, aber ich weiß nicht, wie man launchd verwendet.

Haben Sie eine Zeile vergessen? Es funktioniert nicht und wenn ich den Code direkt in das Terminal stecke, fragt es nach meinem Passwort. Möglicherweise läuft es deshalb auch nicht im Up-Skript? Tatsächlich funktioniert auch das Entfernen der su-Zeile (und ihres Gegenstücks ' unten) nicht. Ich würde erwarten, dass es zumindest das Verzeichnis erstellt und möglicherweise eine Verbindung herstellt, aber mich nicht auf den Ordner zugreifen lässt. (und ja, set nameserver ist geprüft)
Der suBefehl wird verwendet, um sich als jemand auszugeben (in diesem Fall Sie). Beide Skripte werden als ausgeführt rootund er benötigt kein Passwort, wenn er verwendet wird, suaber ein anderer Benutzer wird eines benötigen. Wenn der Befehl im Inneren sunicht alleine funktioniert, kommt das Problem von hier. Was genau hast du eingegeben?
Okay, war mir nicht sicher, ob tunnelblick es als root ausführen würde. Wenn ich den Befehl innerhalb des su nehme und ihn direkt in das Terminal ablege, läuft es gut. Wenn ich den su-Teil entferne und nur den Befehl im up-Skript habe, passiert nichts. # Erzeuge eine aktualisierte plist mit dem richtigen Pfad DIR="$(dirname "${0}")" LEASE_WATCHER="${DIR}/LeaseWatch.plist" sed -e "s|\${DIR}|${DIR }|g" "${LEASE_WATCHER}.template" > "${LEASE_WATCHER}" launchctl load "${LEASE_WATCHER}" # autoconnect server2 mkdir /Volumes/Data mount_afp afp://192.168.2.2/Data /Volumes/Data open /Datenträger/Datenausgang 0

Es ist mir gerade gelungen, NFS automatisch zu mounten, nachdem ich eine VPN-Verbindung hergestellt und vor der Verbindung mit Tunnelblick (3.7.3 auf macOS High Sierra) automatisch getrennt habe.

Zuerst hatte ich das gleiche Problem mit Cameron Conner. Trotzdem war Studers Antwort sehr hilfreich für mich.

Anstelle von Studers client.(up|down).osx.sh habe ich zwei Zeilen in die .ovpn eingefügt:

up (path to your connected.sh)
down (path to your pre-disconnect.sh)

Erstellen und bearbeiten Sie dann diese connected.sh und pre-disconnect.sh .

verbunden.sh:

#!/bin/sh
sudo mkdir /Volumes/NFS
sudo mount -P 192.168.0.1:/share /Volumes/NFS

pre-disconnect.sh:

#!/bin/sh
sudo umount /Volumes/NFS

Ich weiß nichts über TimeCapsule-Manipulation. Der obige Prozess handelt also von NFS. Ich denke, Sie können es für TimeCapsule arrangieren.

Ich glaube, der Punkt, an dem Cameron und ich feststeckten, war su oder sudo. Und das Vermeiden von Passwörtern ist ein weiteres Problem. Meine Lösung dafür war sudoers .

Bearbeiten Sie /etc/sudores mit visudo . Ändern Sie den %admin-Eintrag von:

%admin ALL=(ALL) ALL

zu:

%admin ALL=(ALL) NOPASSWD:ALL

Wenn Ihr Konto kein Administrator ist, sollte es funktionieren.