Wie führe ich ein --up Skript mit network-manager-openvpn aus?

8

Ich verwende Network-Manager-OpenVPN (mit Ubuntu 14.04), um VPN-Verbindungen zu verwalten (Client-Ende).

Ich muss ein Skript ausführen, wenn ein VPN aktiviert ist, um einige Routingprobleme zu beheben. Ich weiß, wie man das mit openvpn-Konfigurationsoptionen (--script-security 2 --up / script ..) macht, aber ich kann mit dem Netzwerkmanager im Mix keinen vernünftigen Weg finden.

Gibt es eine "empfohlene" Möglichkeit, dies zu erreichen, ohne auf Konfigurationsdateien vor dem Netzwerkmanager zurückzugreifen?

Oder gibt es einen vorgeschlagenen Weg, um zu erkennen, dass das VPN hochgefahren ist und somit eine Aktion auslöst (etwas Eleganteres als das Abfeuern eines Cron, um den Status jede Minute zu überprüfen, wäre wünschenswert!)?

geo
quelle

Antworten:

6

Fügen Sie Ihr Skript zum /etc/network/if-up.d/Verzeichnis hinzu.

Alle Skripte in diesem Verzeichnis werden ausgeführt, wenn eine Verbindung oder VPN-Verbindung gestartet wird (up | vpn-up).

Wie hier erwähnt, bietet network-manager-openvpn keine solche Funktionalität, ansonsten müssen Sie openvpn direkt verwenden.

Da dieses Verzeichnis Skripte für Verbindungen und VPN-Verbindungen lädt, erfordert Ihr Skript möglicherweise zusätzliche Überprüfungen.

Schauen Sie sich die Datei an /etc/NetworkManager/dispatcher.d/01ifupdown. Sie können sehen, welche Verzeichnisse verwendet werden, wenn sich die Verbindung ändert.

Ich verwende das /etc/network/if-post-down.d/Verzeichnis mit einem Skript, um die Verbindung zu trennen, falls meine VPN-Verbindung fehlschlägt.

Hoffe das hilft, Prost.

matt
quelle
1
Bump dieses Thema, weil ich das gleiche Problem habe. Wenn OpenVPN das "up" -Skript aufruft, gibt es einige dynamische Argumente; Wie bekomme ich sie in [...] / if-up.d / my-custom-script?
Doubidou