【Catoクラウド】Linux OSでConnect on bootを使用せず自動接続を試してみた

本記事は TechHarmony Advent Calendar 2024 12/11付の記事です

以前、LinuxOSにて自動接続できる方法はないかといったお問い合わせがありました。
結論、CatoのサービスではLinux OS起動時、自動接続は可能です。
Always-ON policy > SettingsにてLinuxへConnect on bootにチェックを入れることでOS起動時Catoへ接続することが可能です。
ただ、Linux OS の場合、現在のサービスではユーザー毎に設定はできず設定を有効にしてしまうと全ユーザーに設定が反映されてしまいます。
今回の記事ではCMA上の設定ではなくLinuxユニットファイルからユーザー毎に自動接続の設定を行っていきたいと思います。

今回の環境

ホストOS: Windows 11
Linux Client version: 5.3.0
仮想化ソフトウェア: VMware Workstation pro 17
ゲストOS: Debian 12.04
ネットワークアダプター : ブリッジネットワーク

■構成図

Catoクライアントのインストール方法

クライアントダウンロードポータルからLinuxタブを選択し、クライアントをダウンロードします。
利用可能なファイルタイプには.rpm (Red Hat Package Manager)と.deb (Debian)があります。
ダウンロード後、下記のコマンドを実行しクライアントのインストールを行ってください。

rpmファイルの場合:

sudo rpm -i cato-client-install.rpm

Debianファイルの場合:

sudo dpkg -i cato-client-install.deb

以上がCatoクライアントインストール手順となります。

ユニットファイルの作成

ユニットファイルとは、Systemdとサービスマネージャによって使用される設定ファイルの一種です。
Systemdはカーネルが生成する最初のユーザープロセスでありLinuxの起動処理やシステム全体の管理を行います。
プロセス番号はPID=1となり、メモリ上で常に待機している常駐プログラムとなります。
よって、OS起動時、Catoへ接続するユニットファイルを作成することで、自動的にCatoへ接続できるシステムとなります。

設定内容は以下の通りです。

vi /etc/systemd/system/cato.service

[Unit]
Description=Cato Client
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/cato-sdp start --user=メールアドレス --account=アカウント名 --password=パスワード --reset-cred
ExecStop=/usr/bin/cato-sdp stop
ExecReload=/bin/sh -c  '/usr/bin/cato-sdp stop; sleep 1; /usr/bin/cato-sdp start --user=メールアドレス --account=アカウント名 --password=パスワード --reset-cred'
Restart=no

[Install]
WantedBy=multi-user.target

このUnitファイルでは、ネットワークに接続後Catoクライアントが起動するよう設定しています。
ExecStartに指定されたコマンドでCatoクライアントを起動し、ユーザー名、アカウント名、パスワードを指定し接続します。
この設定により、システム起動後、自動的にVPN接続が行われます。
*メールアドレス、アカウント名、パスワードを各自変更してください。

自動接続

ユニットファイルの作成が完了したら、起動、自動起動の設定を行って下さい。

#起動
sudo systemctl start cato.service
#自動起動の設定
sudo systemctl enable cato.service

*初回ログイン時webサイトが開かれ認証が必要となります。
以上で自動接続の設定は完了となります。

再起動を行い無事自動接続ができているか確認しましょう。

まず作成したユニットファイルが実行されているか確認します。

サービスが(enabled)有効化されており、サービスが実行中(active)になっていることが確認できます。

最後にCatoへ自動接続されているか確認します。

ステータスの内容から無事Catoへ接続できていることが確認できました。

まとめ

Linux OSにてユニットファイルの作成と起動をさせることで、ユーザー毎にCatoへ自動接続することは可能です。
実環境への導入は、運用上の仕様や要件などを考慮の上、実装ください。

タイトルとURLをコピーしました