🛡️

【回避策】Ubuntu 24.04にFortiClient VPN 7.4.0 (無償版FortiClient) をインストールする

2024/12/29に公開

背景

FortiClient VPN (所謂無償版FortiClient) は、下記メーカサイトにて配布されている。
https://www.fortinet.com/support/product-downloads#vpn

Windows版とMac版についてはオンラインインストーラであり、インストーラを実行したタイミングの最新版がインストールされる。
一方Linux版はdeb形式とRPM形式のパッケージが配布されており、こちらはオフラインインストーラのため、ダウンロードした際のバージョンがインストールされる。

2024年12月29日現在、メーカサイトではdeb形式・RPM形式ともに 7.4.0 build 1636 が配布されている。

下記メーカドキュメントのRelease Informationによると 7.4.2 build 1698 が最新版となり、ダウンロードページでは少し古いバージョンが配布されていることがわかる。
https://docs.fortinet.com/product/forticlient/7.4

Ubuntu 24.04とFortiClient 7.4.0の問題

フォーラムやRedditで話題になっている様に、7.4.0のdebパッケージはそのままUbuntu 24.04へインストールすることができない。
https://community.fortinet.com/t5/Support-Forum/Support-for-FortiClient-VPN-7-4-for-Ubuntu-24-04-LTS/m-p/324945
https://www.reddit.com/r/fortinet/comments/1dzp2rn/forticlient_vpn_support_for_ubuntu_2404_lts/

パッケージの依存関係として libappindicator1 もしくは libayatana-appindicator1 という古めのライブラリパッケージが指定されており、Ubuntu 24.04ではこれらのライブラリは公式リポジトリ (noble) から削除されている。
https://packages.ubuntu.com/search?keywords=libappindicator1&searchon=names&suite=noble&section=all
https://packages.ubuntu.com/search?keywords=libayatana-appindicator1&searchon=names&suite=noble&section=all

また、Ubuntu 22.04 (jammy) の場合でもuniverseリポジトリに置かれているので、Ubuntu 22.04の場合でもリポジトリを追加していない場合は同様に依存解決に失敗する。
https://packages.ubuntu.com/search?keywords=libappindicator1&searchon=names&suite=jammy&section=all
https://packages.ubuntu.com/search?keywords=libayatana-appindicator1&searchon=names&suite=jammy&section=all

依存関係の解決

依存パッケージのダウンロード

Ubuntu 24.04の場合、上記22.04向けのパッケージをインストールして依存関係を解決することでFortiClient VPNのインストール・動作を確認することができた。

デスクトップ版のUbuntu 24.04の場合、以下の様な依存関係を解決すれば良い。

libdbusmenu-gtk4 ← libappindicator1 ← FortiClient VPN

Ubuntu Packagesより libdbusmenu-gtk4_16.04.1+18.10.20180917-0ubuntu8_amd64.deb をダウンロードする。 (使うmirror次第だが、HTTPリンクの場合はリンクをコピーして別タブで開かないとinsecureなリダイレクトとしてブラウザに怒られる)
https://packages.ubuntu.com/jammy/amd64/libappindicator1/download

同じくUbuntu Packagesより libappindicator1_12.10.1+20.10.20200706.1-0ubuntu1_amd64.deb をダウンロードする。
https://packages.ubuntu.com/jammy/amd64/libappindicator1/download

依存パッケージのインストール

依存関係に従い、以下の順にダウンロードしたパッケージをインストールする。

$ sudo apt install ./libdbusmenu-gtk4_16.04.1+18.10.20180917-0ubuntu8_amd64.deb
$ sudo apt install ./libappindicator1_12.10.1+20.10.20200706.1-0ubuntu1_amd64.deb

FortiClient VPNのインストール

ここまでの手順で依存関係を解決できたため、FortiClient VPNをインストールすることが可能となる。

$ sudo apt install ./forticlient_vpn_7.4.0.1636_amd64.deb

根本解決について

こちらの依存関係に関する問題は、メーカのリリースノート上のKnown issuesでも該当すると思われる内容が記載されており、Bug IDが発行されている。
https://docs.fortinet.com/document/forticlient/7.4.0/linux-release-notes/253236

Bug ID
1032729	FortiClient does not install on Ubuntu 24.04 LTS.

7.4.1・7.4.2のリリースノート上のResolved issuesに上記Bug IDの表記は無いが、手元の環境で7.4.2 build 1698 にて試したところ、恐らくパッケージの依存関係指定の変更によって上記問題は解消されていたことを確認した。

契約があり上記新バージョンを入手できる環境の場合は、こちらを利用することで根本解決が可能。

7.4.0利用のために一時的に上記ライブラリをインストールしていた場合は、新バージョンをインストール後にapt purgeすればきれいに削除が可能。

$ sudo apt purge libappindicator1
$ sudo apt purge libdbusmenu-gtk4

パッケージが展開するファイルはUbuntu Packagesから確認が可能。
https://packages.ubuntu.com/jammy/amd64/libappindicator1/filelist
https://packages.ubuntu.com/jammy/amd64/libdbusmenu-gtk4/filelist

余談

FortiClient EMS (Endpoint Management Server) を前提とした集中管理やEPP機能、FortiSASEとの連携に利用される有償版FortiClientの場合は、下記メーカサイトの通り、パッケージ形式ではなくFortinet社のリポジトリを通して提供される。

こちらでは既にFortiClient 7.4.2が配布されている。 (利用には有償版FortiClientの契約が必須)

https://www.fortinet.com/support/product-downloads/linux

無償版FortiClientの配布ページについても、そのうち新バージョンに更新されると思われる。

Discussion