OpenVPNが接続するたびにMacでスクリプトを実行したいのですが。 Macで設定を確認しましたが、スクリプトの場所がどこにも見つかりません。最新のTunnelblick(3.7.0)を実行しています。
Mac用Tunnelblickのスクリプトはどこに設定できますか?
この答えは少し遅れていますが、Tunnelblickには実際にはフックがあり、特定のディレクトリに適切な名前のスクリプトを配置するだけで使用できます。
このドキュメント は読む(または実践する)のがそれほど楽しいわけではないので、ここに要約を示します*:
pre-connect.sh
、post-tun-tap-load.sh
、connected.sh
、reconnecting.sh
、および/またはpost-disconnect.sh
を作成します。/Library/Application Support/Tunnelblick/Shared/<gateway>.tblk/Contents/Resources
に配置します。ここで、<gateway>.tblk
は、以前にTunnelblickにインポートしたOpenVPN構成にちなんで名付けられたディレクトリです。
bash$ Sudo chown root:wheel reconnecting.sh bash$ Sudo chmod 700 reconnecting.sh
*私が参照するディレクトリはセットアップによって異なる場合があることに注意してください-私はmacOS10.12.6を実行しています。これらの手順は、OpenVPN構成がTunnelblickにすでにインポートされていることを前提としています。
この質問に対する その他の(すばらしい)回答 に基づいて、私はこれをTunnelblick 3.8.1 build 5400
とmacOS Mojave 10.14.6
に基づいて簡単な例で書きました。
ターミナルを開きます。
Sudo -s
cd /Users/<user>/Library/Application Support/Tunnelblick/Configurations/<profile>.tblk/Contents/Resources
ここで、<user>
はMacでのユーザー名、<profile>
はTunnelblickにインポートしたVPNプロファイル構成です。
完全なパスはのようなものです
/Users/andrea/Library/Application Support/Tunnelblick/Configurations/vpncorporate.tblk/Contents/Resources
connected.sh
nano connected.sh
次の行を貼り付けます。例:接続時にルーティングルールを追加する場合
#!/bin/sh
route add -Host 172.16.10.7/32 -gateway 192.168.0.244
参照: ルートのマニュアルページ
post-disconnect.sh
nano post-disconnect.sh
次の行を貼り付けます。例:以前に追加したルールを削除する場合
#!/bin/sh
route delete -Host 172.16.10.7/32 -gateway 192.168.0.244
参照: ルートのマニュアルページ
適切な許可を設定する
chmod 700 connected.sh
chmod 700 post-disconnect.sh
私の場合
-rwx------ 1 root admin 63 23 Ott 11:47 connected.sh
-rwx------ 1 root admin 66 23 Ott 13:43 post-disconnect.sh
connected.shとpost-disconnect.shに関するより便利で複雑な例は、次のとおりです
アイデアは、デフォルトゲートウェイを取得し、特定のIPのゲートウェイを経由することです。
connected.sh
#!/bin/sh
DEFAULTGATEWAY="$(netstat -nar | sed -n -e '/^default/p' | head -1 | awk '{print $2}')"
route add -Host 172.16.10.7/32 -gateway $DEFAULTGATEWAY
post-disconnect.sh
#!/bin/sh
route delete -Host 172.16.10.7/32