みなさん、こんにちは!
VPNをLinuxデスクトップで使いたいと考えたとき、第一に思い浮かぶのはWireGuardやOpenVPNといった、比較的セットアップの簡単なプロトコルかもしれません。しかし、セキュリティ性やNAT越えの強さ、スピードの面で注目されているのが「IKEv2/IPsec」です。中でも、Pre-shared Key(PSK)方式のIKEv2/IPsecは、証明書が不要で構成が簡単なことから、個人利用や小規模環境では非常に魅力的です。
折しも、先日、Androidから事務所にVPN接続するために、IKEv2/IPsec(PSK)VPNを構築しました。
これを機に、LinuxデスクトップでもIKEv2/IPsec(PSK)VPNを使いたいと考えるようになりました。
ただし、この方式にはLinuxでの設定が難しいという壁が長らく立ちはだかってきました。特に、NetworkManager(NM)を用いたGUI接続が不可能だという思い込みが広く共有されていたのです。
でも、安心してください!その常識、もう古いです。
Ubuntu 22.04以降のLinuxディストリビューションなら、GUI(マウス操作)だけでIKEv2/IPsec(PSK方式)VPNに簡単に接続できるようになっています。今回は、その手順をご紹介します!
なぜこれまでGUI設定が難しかったのか?
これまでIKEv2/IPsecのGUI設定が難しいとされてきたのには、いくつか理由がありました。
- PSK方式の軽視
- Pre-shared Keyは手軽に導入できる認証方式ですが、セキュリティ専門家からは「脆弱になりやすい」と見なされ、Linuxコミュニティではあまり重要視されてきませんでした。そのため、strongSwanやLibreswanといった主要なソフトウェアの公式ドキュメントも、多くが証明書やEAP方式を前提としていました。
- NetworkManagerの制限
- UbuntuなどのLinuxでネットワーク設定の中心となる「NetworkManager」という機能。これが、IKEv2/IPsecのPSK方式でVPN接続するために必要な「Identity(接続ID)」などの重要な項目を、当初はGUIから入力できるようにサポートしていませんでした。
確かに、NetworkManager用のプラグイン network-manager-strongswan
自体はUbuntu 22.04リリース時点(2022年4月)からすでにリポジトリに存在していました。しかし、当初はGUIからIdentity(接続ID)などの重要項目を入力する手段がなく、実際にはPSKでのIKEv2接続が不可能な状態だったのです。
その後、NetworkManager本体やGNOME Control Center、Plasmaのネットワーク設定ツールなどのGUIコンポーネントとの統合が進み、Identityを含む高度な設定がGUI経由で可能になっていきました。
こうして、Ubuntu 22.04以降を使っている場合は、システムを最新の状態にアップデートしていれば、GUIからのIKEv2/IPsec + PSK接続が可能になったのです。
実際に接続に成功した環境
今回の検証では、以下の環境で追加のコマンドライン操作なしでGUIのみでのVPN接続に成功しました。
- VPNサーバー: Raspberry Pi(前回記事で構築したstrongSwanを使用)
- クライアント1: Ubuntu 22.04(Xubuntuデスクトップ環境)
- クライアント2: Bodhi Linux 7.0.0(Ubuntuベースの軽量ディストリビューション)
これらの環境で共通して、追加のCLI操作なしでGUIのみでのVPN接続が可能であることが確認できました。特に、Bodhi Linuxのような軽量な環境でもGUIでVPN接続ができたことは大きなポイントです。古いPCでも快適にIKEv2 VPNを使える可能性が広がりますね!
これが成功の鍵!GUI設定の3つのポイント
NetworkManagerのGUIを使ってVPNを設定する際に、特に注意すべき3つのポイントがあります。ここをしっかり押さえれば、きっとあなたも成功できます!
- PSK(事前共有鍵)は20文字以上の安全な文字列を使う
- セキュリティのためはもちろんですが、実はstrongSwan(VPNサーバー側のソフトウェア)の仕様上、短すぎるPSKだと警告もなく接続を拒否される場合があります。
- Androidでは短いPSKでも接続できるのですが、Linuxではできません。Linuxから接続を可能とするためには、PSKは英数字と記号を組み合わせた、20文字以上の複雑な文字列にしてください。
- Identity(接続ID)をサーバーと一致させる
- これはVPN接続の成否を大きく左右する最重要項目です。GUI上の「Identity」または「Remote ID」という欄に、VPNサーバー側で設定されているFQDN(例:
@vpn.example.com
のような形式が多いです)を正確に入力してください。この項目がGUIで設定できなかった時代は、PSK方式での接続が非常に困難でした。
- これはVPN接続の成否を大きく左右する最重要項目です。GUI上の「Identity」または「Remote ID」という欄に、VPNサーバー側で設定されているFQDN(例:
- 「Request an inner IP address」にチェックを入れる
- このチェックボックスがオフになっていると、VPNトンネル自体は確立されても、あなたのパソコンに仮想IPアドレスが割り当てられず、インターネットにアクセスできない状態になります。必ずチェックを入れて有効にしてください。

軽量Linuxでも成功!その意味とは?
Bodhi Linuxのような、非常に軽くて動作が速いUbuntuベースのディストリビューションでもIKEv2 VPNがGUIで使えるようになったことは、本当に素晴らしいことです。
これは、古いノートパソコンを再活用したり、消費電力が少ないミニPCで安全なVPN接続を利用したりする際に、IKEv2/IPsecが現実的な選択肢になることを意味します。学校のICT端末や、カフェなどの外出先で安全に接続したい時にも、気軽にIKEv2/IPsecを使えるようになるでしょう。
まとめ
これまで「LinuxでIKEv2/IPsec VPNはGUIからは無理」という常識は、もはや過去のものです。Ubuntu 22.04以降のディストリビューションと、進化を遂げたNetworkManagerのおかげで、今では誰でもGUI操作だけで安全なIKEv2/IPsec(PSK方式)VPNに接続できるようになりました。
ラズベリーパイのような手軽なデバイスをVPNサーバーにすれば、費用も電力も抑えつつ、安全で信頼性の高いプライベートネットワークを構築できます。
みなさんも、ぜひ試してみてくださいね!
本日も最後までお読みいただきありがとうございました。
それでは、よいLinuxライフを!