LMDE6/7で筑波大学のVPN Gate公開中継サーバを使用する〜OpenVPNなら設定ファイルをDLして簡単設定かと思いきや・・

LMDE Linux Mint Debian Edition Linux
Linux Mint Debian Edition

筑波大学のVPN Gate公開中継サーバ

かなり昔から、筑波大学のVPN公開中継サーバを使用させていただくことができます。公共施設のゆるいWi-Fi接続サービスなんかを使う場合には、ちょっとVPNで備えをしておきたい場合があるので、久しぶりに利用させていただくことにしました。

VPN Gateは色々な国のVPN中継サーバが存在しており、無料で接続させていただけるので便利です。ログは保存されていると思いますので、変な用途には使わないということは大前提ですね。

普段使用しているLMDEを入れたLet’s noteで設定してみることにしました。Linux Mintチームがやっているので多分簡単に接続できるんじゃないかな?と気楽に考えています。

LMDEにはOpenVPNがデフォルトでインストールされている

私は現在、LMDE6とLMDE7をそれぞれインストールしたLet’s noteを2台併用しています。いずれもCinnamonデスクトップなので、操作性も良く、動作も快適で安定感があって便利です。とても快適です。

確認してみるとLMDE6/7にはOpenVPNがデフォルトでインストールされているので、特に追加パッケージをインストールする必要は無さそうです。ネットワーク設定でVPNの接続設定をしてやるだけです。設定情報を確認します。

OpenVPNの設定ファイルをダウンロードする

幸い、筑波大学のVPN Gate公開中継サーバは、OpenVPNに対応しており、設定ファイルをダウンロードすることができる様です。これをダウンロードして試してみることにします。Win/Mac/iPhone/Androidに対応しているみたいで対応アプリのマニュアルもありますが、Linuxは仲間はずれですか、そうですか・・

気にせず進めることにします。スコアの良い中継サーバが上位にリストアップされているので、基本的には上位のサーバを選ぶことになると思います。

筑波大学のVPN Gate公開中継サーバ

10列あって、7列目にOpenVPNの設定ファイルがハイパーリンクされています。クリックすると設定ファイル「vpngate_public-vpn-82.opengw.net_tcp_443.ovpn」がダウンロードできました。

この辺りは日によってスコアが変わってくるので、柔軟に公開サーバーを選択して設定ファイルを入手しましょう。

VPNの設定をする(Cinnamonデスクトップ)

Cinnamonデスクトップの場合は、右下のシステムステータスアイコンに、ネットワークのアイコンが表示されます。クリックして「ネットワーク接続」を開きます。

ネットワーク接続を追加する

左下にある「+」をクリックしてVPNネットワークを追加します。

保存したVPN設定をインポートする画像

プルダウンの選択の中から、「保存したVPN設定をインポートする」を選択して「作成」ボタンをクリックして、予めダウンロードしておいた
「vpngate_public-vpn-82.opengw.net_tcp_443.ovpn」を指定します。

余談ですが、私はだいたいこういう作業はデスクトップにダウンロードしておいて、要らなくなったらファイルを削除です。もし後々使う場合は任意のフォルダに保存という感じでやってます。これも人それぞれやり方がありますのでご自由にどうぞ。

追加されたVPN接続があるキャプチャ画像

簡単に追加できたので、VPN接続を選んで、左下の歯車ボタンをクリックすると内容を確認できます。

追加されたVPN接続の設定内容のキャプチャ画像

無事にインポートでOpenVPNの設定を書き込めた様です。実に簡単な作業でした。

設定ファイルに使われた認証情報(証明書)が保存される場所

CA証明書、ユーザー証明書、ユーザープライベートキーの3つは、下記のフォルダー位置に保存されていて、しっかり管理されています。要らなくなったらこのフォルダー内を掃除しても良いでしょう。

/home/aoipuchu/.cert/nm-openvpn

「.cert」は隠しフォルダなので、「隠しファイルを表示」させないとデフォルトでは見えません。これはUNIX系のしきたりなので覚えるしかないです。

インポートされた認証に関わるCertファイルの所在をキャプチャ画像

LMDE7は違う場所に認証情報(証明書)が生成される

/home/aoipuchu/.local/share/networkmanagement/certificates/nm-openvpn

なんかしっくり来ないというか、こういうのをコロコロ変更するのは止めて欲しいのですが、LMDE7では設定ファイルからインポートした際に認証情報(証明書)が保存されるディレクトリ位置が違います。なんとなく仕組みが変わったみたいで嫌な感じです。

VPN接続を有効にする

やはり画面右下のネットワークアイコンをクリックしてから、VPN接続のスイッチを入れます。キャプチャ画像を載せておくので視覚的にわかりやすいと思います。特に説明は要らないと思います。

ステータスアイコンからVPN接続を有効にしているキャプチャ画像

VPN接続に成功すると、アイコンが「Wi-Fiマーク」から、「コネクター+南京錠」に変わっています。このアイコンはVPN接続をイメージさせるアイコンなのでわかりやすくて良いです。Linux Mintチームのシンプルイズベストなセンスの良さを感じます。奇をてらう必要はないんですよ、OSは地味に使いやすいのが一番良い!

VPNで接続できているか確認する

私は大体この手の確認は、昔からずっと診断くん(タルオネット・イー)を使わせていただいています。ここは息の長いサイトですね。もう20年以上前からネット社会の役に立ってくれているサイトだと思います。昔は串(プロキシ)の漏れ具合チェックに使われることで有名なサイトでした。

あんまり意識してませんでしたが、このご時世だけにHTTPSにも対応させてくれてますね。

診断くんでVPN接続されていることを診断した結果のキャプチャ画像

問題なくVPNで接続できていることが確認できました。
めちゃ簡単だったので、流石はLinux Mintチームの仕事だなと思いました。コマンド操作は一個もやってませんからね。マウス操作だけです。

ん!LMDE7ではOpenVPNで接続できない・・

LMDE6ではサクッとできたことが、LMDE7ではできません。

うわあ、面倒な不具合を見つけてしまいました。

LMDE7でも設定ファイルをダウンロードして、ネットワーク設定に追加はできます。しかしその後、VPN接続を有効化するスイッチをONにしても、しばらく待たされた後にスイッチが無効になります。どうやらVPNサーバーへの接続がタイムアウトしている様です。

公開サーバーを別のサーバーに変更しても同様です。念の為VM環境でサクッとLMDE7を準備してそちらでもやってみたのですが、やはりLMDE7ではうまく動作しない様です。

debian13(Trixie)の問題っぽい

ふと思ったので、LMDE7のベースであるdebian13(Trixie)でも同じなんじゃないかなと試してみました。debianの場合はOpenVPN関係はインストールされていないので自分で必要なパッケージをインストールする必要があります。

debian12(Bookworm)で試してみると問題ありませんでした。

ちなみにdebian12/13で必要なパッケージは下記3つで大丈夫だと思います。LMDE6/7では最初からインストールされていると思います。

  • network-manager-openvpn
  • network-manager-openvpn-gnome
  • openvpn

検証してみると、やっぱりdebian13でも同じ不具合状態でOpenVPNサーバーへの接続がタイムアウトします。debian13に関係するなにかが原因でOpenVPNサーバーへ接続できない様です

状況整理(インストール済OpenVPN関係のPackage)

取り敢えず状況を把握するため集めておきます。

LMDE6でOpenVPN関係のインストール済パッケージ

~$ dpkg -l | grep openvpn
ii  network-manager-openvpn                                     1.10.2-2                               amd64        network management framework (OpenVPN plugin core)
ii  network-manager-openvpn-gnome                               1.10.2-2                               amd64        network management framework (OpenVPN plugin GNOME GUI)
ii  openvpn                                                     2.6.3-1+deb12u4                        amd64        virtual private network daemon
Code language: PHP (php)

LMDE7でOpenVPN関係のインストール済パッケージ

~$ dpkg -l | grep openvpn
ii  network-manager-openvpn                                     1.12.3-1~deb13u1                          amd64        network management framework (OpenVPN plugin core)
ii  network-manager-openvpn-gnome                               1.12.3-1~deb13u1                          amd64        network management framework (OpenVPN plugin GNOME GUI)
ii  openvpn                                                     2.6.14-1+deb13u1                          amd64        virtual private network daemonCode language: PHP (php)

コレと言って問題がある様には思えません。3つのパッケージは着実にアップデートされているので、コレらが問題とは思えないです。もし不具合があるなら他ディストリビューションでも問題視されますからね。他の観点から調べてみることにします。

これはLinux Mintチーム(もしくはdebianコミュニティ)に英語で報告しなくてはならない事案ではないですか。英語でやり取りするのは実にめんどくさいな。という訳で、現時点(2025年12月13日)LMDE6では簡単に接続できたことが、LMDE7では接続できない不具合を抱えている様です。頑張って英文を考えてLinux Mint本家に報告するか・・

LMDE7でのOpenVPN接続について進展があったら追記するようにします。さて真剣に英作文を考えなくてはなりませんね。困った困った。

openvpnコマンドで実行してレスポンス(エラー)を見てみる

OpenVPNのコマンドはかなり複雑なので、はっきりいってコマンドでどうこうするって言うのは避けたいです。今の私のLinuxデスクトップに対するスタンスは、Linuxデスクトップをモバイル用途、もしくは自宅での軽作業用に使いたいだけなので、ガッツリ使い込む系のモチベーションは持っていません。

取り敢えず今回は、筑波大学の公開サーバー接続用の「vpngate_public-vpn-82.opengw.net_tcp_443.ovpn」ファイルがあるので、この接続設定ファイルを指定して実行してみます。何か情報が得られるのではないかと。

デスクトップOSとしては不本意ですが、調査のためと割り切ってターミナルを起動してコマンド投入しました。

~$ openvpn vpngate_public-vpn-82.opengw.net_tcp_443.ovpn

期待通り、ズラズラとレスポンスが返ってきます。どうやら失敗してリトライする度にWait時間が長くなって待たされています。程々でCTRL+Cを押して終了させます。ここからヒントになりそうなメッセージを探します。

2025-12-14 21:35:53 OPTIONS IMPORT: --ifconfig/up options modified
2025-12-14 21:35:53 OPTIONS IMPORT: route options modified
2025-12-14 21:35:53 OPTIONS IMPORT: route-related options modified
2025-12-14 21:35:53 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
2025-12-14 21:35:53 OPTIONS ERROR: failed to negotiate cipher with server.  Add the server's cipher ('AES-128-CBC') to --data-ciphers (currently 'AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305') if you want to connect to this server.
2025-12-14 21:35:53 ERROR: Failed to apply push options
2025-12-14 21:35:53 Failed to open tun/tap interface
2025-12-14 21:35:53 SIGUSR1[soft,process-push-msg-failed] received, process restarting
2025-12-14 21:35:53 Restart pause, 1 second(s)Code language: PHP (php)

気になるエラーがありました。
failed to negotiate cipher with server.
OpenVPNサーバーとLMDE7(debian13)との暗号化のネゴシエートに失敗している様です。

そして答えが書いてありました。
Add the server’s cipher (‘AES-128-CBC’) to –data-ciphers (currently ‘AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305’) if you want to connect to this server.

AES-128-CBCは強度的に弱い(古い)暗号化アルゴリズムだと言われていた記憶があります。コレを追加しろと言う意味合いのことが書かれている様です。

VPN設定の詳細を確認すると、セキュリティタブに「Data Ciphers」という項目がありました。ここは元々がブランクになっていました。

currently(現在)が下記だということなので・・

AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305Code language: CSS (css)

これに「AES-128-CBC」を追加して下記のようにしてみました。

AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-128-CBCCode language: CSS (css)
aoipuchu
aoipuchu

OpenVPNに接続成功してしまいました。

この辺り、なんか引っかかっていたのは、debian13(Trixie)では、OpenSSL等の暗号化技術の扱いが厳格になったという情報を今回の件で調べている際にいくつか目にしたことです。バッチリそれに遭遇してしまった感じです。

Google Geminiに解説させてみた

解決方法にはたどり着いたのですが、技術的な裏付けをとっておきたいので、Google Geminiに裏取りをさせることにしました。AIに解説させることで自分でアレコレ調べ回る手間を省こうという横着な発想です。以下、Google Geminiの回答です。

OpenVPNサーバーへの接続時に発生したエラーについてですね。

このエラーメッセージは、クライアント(あなたの Debian 13)とサーバー間で、使用する暗号化アルゴリズム(cipher)のネゴシエーションに失敗したことを示しています。

🚨 エラーの分析

  • サーバーが要求している暗号: AES-128-CBC
  • クライアントが現在サポートしている暗号: AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305
  • 結論: クライアントが現在サポートしているリストに、サーバーが要求する古い暗号である AES-128-CBC が含まれていません。

🔧 解決策:クライアント設定の変更

この問題を解決するには、OpenVPNクライアントの設定にサーバーの要求する暗号を追加する必要があります。

1. OpenVPN設定ファイル(.ovpn)を使用している場合

接続に使用している設定ファイル(通常は .ovpn 拡張子)を開き、以下の行を追加または修正してください。

data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-128-CBCCode language: CSS (css)

ポイント: 既存の data-ciphers リストの末尾に、サーバーの要求する 'AES-128-CBC' をコロン (:) で区切って追加します。

2. NetworkManager(GUI)を使用している場合

NetworkManager(GNOMEなどのデスクトップ環境のネットワーク設定)を通じてOpenVPN接続を設定している場合は、以下の手順で設定を変更します。

  1. ネットワーク設定を開きます。
  2. 対象の OpenVPN 接続を選択し、編集します。
  3. 通常、「VPN」または「詳細」タブの中に「データ暗号」や「Data Ciphers」といった設定項目があります。
  4. そのテキストフィールドに、元のリストに加えて AES-128-CBC を追記します。
    • 変更前: AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305
    • 変更後: AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-128-CBC
  5. 設定を保存して再接続を試みてください。

💡 補足情報:なぜこの問題が起こるのか

Debian 13 (BookwormTrixie) 以降、OpenVPNのデフォルトのセキュリティ設定がより厳格化されました。

  • OpenVPNはセキュリティ向上のため、古いブロック暗号である AES-CBC よりも、より高速で安全な認証付き暗号 (AES-GCMCHACHA20-POLY1305) を優先または必須とするようになっています。
  • このサーバーはまだ古い AES-128-CBC を使用しているため、クライアントがデフォルトでそれを拒否し、ネゴシエーションが失敗した、という流れです。

可能であれば、サーバー側のOpenVPN設定を更新し、AES-256-GCM などのよりモダンで安全な暗号を使用するように変更することを強く推奨します。

LDME7(debian13)での回避方法(接続に成功した方法)

回避方法1:DLした設定ファイルの修正

  • 筑波大学の公開VPNサーバーから、OpenVPNの設定ファイルをダウンロードしてきたら、テキストエディタで開いて、下記を付け加えてからインポートする。
data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-128-CBCCode language: CSS (css)

回避方法2:設定を直に修正

  • 既にOpenVPNの設定ファイルをインポートした場合は、手動でセキュリティタブにある「Data Ciphers」に下記を入力(コピペ)する。
    ※今回私が試してみて成功した方法。
AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-128-CBCCode language: CSS (css)

という感じで、debian13で筑波大学のVPN公開サーバーにOpenVPNで接続する場合の問題を回避することが出来ると分かりました。

最後に、今回の課題を解決した感想

debianのコミュニティはデカいのでどこに質問したら良いのか調べていたりもしたのですが、ふと思いついて試してみたら手がかりが得られて、なんとか自力解決できて良かったです。Linux Mint Japanフォーラムには回避方法として情報をアップして置こうと思います。

debian13でいち早くOpenVPNの暗号化レベルが上げられたことにより、LMDE7を使用している私にとって今回の課題が突きつけられた状態でした。

debianコミュニティに泣きつこうかとも思っていましたが、ふと閃いてターミナルでopenvpnコマンドに[設定ファイル名]を付与して実行したところ、OpenVPNクライアントの動作状況とエラーメッセージが確認できて解決できました。

OpenVPNのサイトのマニュアルも読まなくてはいけませんね。

自力解決できたので少し達成感がありますね。

コメント

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