コマンドラインでVPNサーバーに接続する
何かの気の迷いからフリーのVPNサーバーに接続したくなるときがある。 そんなとき(Linuxなら)NetworkManagerのアプレットをポチポチして、設定・接続してもよいのだが、 今回はさらに気が迷ったのでコマンドラインで接続してみた。 今回は某国立大学のVPN実験サービスを使ったが、他のサービスでも接続可能だと思う。
環境
- Ubuntu 16.10
- NetworkManager 1.2.6-0ubuntu1.1
ovpnファイルをダウンロード
ポチポチしてダウンロードしてもよし、wgetで取ってきてもよし。
NetworkManagerに接続設定を追加
ovpnディレクトリに入った複数のovpnファイルをインポートして、NetworkManagerに接続設定を追加する。
(シェルはfish shell)
for file in (ls ovpn) nmcli con import type openvpn file "ovpn/$file" end
追加した接続情報を確認する
nmcli con show
VPNサーバーに接続する
$selected_uuid
変数に納められたUUIDのサーバーに接続する。
nmcli con up uuid $selected_uuid
接続を切断する
$active_uuid
変数に納められたUUIDのサーバーとの接続を切断する。
nmcli con down uuid $active_uuid
Pythonから接続したい場合はsubprocessを使えばよいでしょう。