ubuntuでSAML認証のOpenVPNに接続する

概要

ubuntuからOpenVPN3 Linux Clientを使ってSAML認証のOpenVPNに接続できます。

背景

こちらの記事の派生です。

ubuntu標準のこいつはSAML認証に対応していないのでCLIで操作する必要があります。

やりかた

OpenVPN3のインストール(初回のみ)

OpenVPN3 Linux Clientをインストールします。

mkdir -p /etc/apt/keyrings
curl -sSfL https://packages.openvpn.net/packages-repo.gpg >/etc/apt/keyrings/openvpn.asc

echo "deb [signed-by=/etc/apt/keyrings/openvpn.asc] https://packages.openvpn.net/openvpn3/debian noble main" >> /etc/apt/sources.list.d/openvpn-packages.list.distUpgrade

apt update
apt install openvpn3-client

VPNのプロファイルをインポート(初回のみ)

OpenVPN Access Serverにサインインして、[Connection profile]からプロファイルをダウンロードします。

次のコマンドでプロファイルをインポートします。

openvpn3 config-import --persistent --config <ダウンロードしたプロファイル(.opvnファイル)> --name <任意の名前>

プロファイルがインポートできたか確認します。
[Configuration Name]に<任意の名前>のコンフィグがあれば成功です。

openvpn3 configs-list

SAML認証でOpenVPNに接続

コンフィグリストに登録されているコンフィグを指定してVPN接続を開始します。
次回以降はここから開始すればよいです。

openvpn3 session-start --config <↑で作ったコンフィグの名前>

ブラウザが立ち上がり、SAML認証が始まります。

認証が完了したらVPNのセッションが作れたかを確認します。

openvpn3 sessions-list

[Status]が[Connection, Client connected]になっていれば成功です。

おまけ

参考情報

OpenVPN3 Linux Clientのインストール方法

Just a moment...

セッションを切断する

途中でセッションを切断するには次のコマンドを使います。

openvpn3 session-manage --disconnect --config <接続中のコンフィグの名前>

セッションを残したままノートPCをパカパカすると再接続できなくなることがあるので使い終わったら切断しましょう。

コンフィグを削除する

面倒なことにconfig-importは同名のコンフィグを作れてしまいます。
そして間違いに気付いてconfig-removeしようとしてもコンフィグ名指定だと一意でないため拒否されます。

そういう時はパス指定で削除します。
configs-listに-vオプションを付けるとパス(Imported)も表示されます。

openvpn3 configs-list -v

config-removeで削除します。

openvpn3 config-remove --path <↑で確認したパス>
# 例えば
# openvpn3 config-remove --path /net/openvpn/v3/xxxxxxxxxxxxxxxxxxxxxxx

コメント