web-dev-qa-db-ja.com

network-manager-openvpnを使用して--upスクリプトを実行する方法は?

Network-manager-openvpn(w Ubuntu 14.04)を使用してVPN接続を管理しています(クライアント側)。

ルーティングの問題を解決するために、VPNがアクティブになったときにスクリプトを実行する必要があります。私はopenvpn構成オプション(--script-security 2 --up/script ..)を使用してこれを行う方法を知っていますが、ネットワークマネージャーでの賢明な方法を理解することはできません。

Pre-network-manager構成ファイルに戻らずにこれにアプローチする「推奨」方法はありますか?

または、VPNが立ち上がってアクションをトリガーしたことを検出するための推奨方法はありますか(cronを起動して1分ごとにステータスを確認するよりも少し洗練されたものが評価されます!)?

7
geo

スクリプトを/etc/network/if-up.d/ディレクトリに追加します。

接続またはvpn接続が開始されると(up | vpn-up)、このディレクトリ内のすべてのスクリプトが実行されます。

前述のとおり、 here network-manager-openvpnはそのような機能を提供しません。そうでない場合は、openvpnを直接使用する必要があります。

このディレクトリは接続およびvpn接続でスクリプトをロードするため、スクリプトには追加のチェックが必要になる場合があります。

ファイル/etc/NetworkManager/dispatcher.d/01ifupdownを見てください。接続が変更されたときに使用されるディレクトリを確認できます。

Vpn接続が失敗した場合に切断するために、スクリプトで/etc/network/if-post-down.d/ディレクトリを使用します。

これがお役に立てば幸いです。

5
matt