【FortiGate 60F】IKEv2/IPsecリモートアクセスVPN接続設定方法 <Android編>

当ページのリンクには広告が含まれています。

近年では、カフェやホテル、空港だけでなく、居酒屋や薬局など、ありとあらゆる所で「フリーWi-Fi」が提供されていますので、外出先でも気軽にWi-Fiを利用する事が可能になりました。

少し時間が空いたタイミングがあると、スマホのパケットを使用せず、高速通信が可能になるので、「フリーWi-Fi」は非常に便利です。

しかし、暗号化されていないWi-Fiや、信頼性の低いアクセスポイントでは、通信内容を盗み見られるリスクがあり、フリーWi-Fiは安全とは言えません。

ささ

そのような安全性の低い「フリーWi-Fi」を安全に利用する為、「VPN」を利用します。

前回、Windows PCから、FortiGateへの「IKEv2/IPsec」を利用した、リモートVPN接続方法をご紹介しました。


こちらの記事にしておりますので、是非ご参照ください。


ただし、そもそものお話「IKEv2/IPsec」で接続を考えたのには、以下の理由がありました。

「IKEv2/IPsec」で接続を検討した理由

Android OSで利用出来るVPNでは、以下がサポートされなくなった為です。

  • 「L2TP over IPsec」は、Android 12以降サポートされなくなりました
  • 「IKEv1/IPsec」も、同様にサポートされなくなりました

Android OSの「L2TP over IPsec」サポート外についても、以下記事にしております。是非ご参照ください。



私の利用するスマホはAndroid 16ですが、VPN接続設定を確認してみると、L2TPもIKEv1も利用出来なくなっている事が確認出来ます。

そんな理由で、FortiGateを利用した「IKEv2/IPsec」で接続を試していくことにしたのですが・・

目次

Android OSでは「IKEv2/IPsec」接続は難しい

タイトルでは、「(FortiGate 60F)IKEv2/IPsecリモートアクセスVPN接続設定方法 <Android編>」としておきながら、詐欺のような内容となり、大変恐縮なのですが、

  • Android OS標準VPNクライアント
  • Android版FortiClinet

上記、いずれを利用した場合も、「IKEv2/IPsec」でのVPN接続を行う事ができませんでした

Windows PCでは接続する事が出来た事から、同様の設定で、Android OSから接続を行うと、接続に失敗してしまいます。ログを確認すると、

Phase1 Error Reason:「gateway validation failed」

このエラーですが、直訳すると「ゲートウェイの検証に失敗しました」となり、ちょっと意味不明だったので、Microsoft Copilotで確認してみると、以下でした。

Copilotからの回答

Android FortiClient の IKEv2 は以下の仕様です:

❌ PSK + Username/Password(EAP-MSCHAPv2)

→ Android FortiClient は非対応

❌ PSK のみ

→ FortiClient Android は非対応

✔ 証明書ベース(EAP‑TLS)

Android FortiClient が唯一サポートする方式

あなたが Windows 用に作った IKEv2-VPN は PSK+ID/Password の EAP-MSCHAPv2 であるため、Android は必ず Phase1 で拒否します。

ログの「gateway validation failed」は、まさにこの状況で発生する典型的なエラーです。との事


Android OSで「IKEv2/IPsec」接続を行う為には、証明書ベースの接続が必要で、別途「サーバー証明書」「CA証明書」が必須です。

「サーバー証明書」はどうにかなりますが、「CA証明書」の準備はたやすくないので、今回は、Android OSでの「IKEv2/IPsec」接続は諦める事としました。

その代わり、FortiClientを使用した、「IKEv1/IPsec」接続 を行っていきたいと思います。

FortiClientを利用した「IKEv1/IPsec」接続

FortiGateへの、VPN設定の流れは以下です。

  • VPNユーザーの作成
  • VPNウィザード設定
  • Proxy Arp設定

1. VPNユーザーの作成

IKEv1/IPsec VPN接続用のユーザーを作成します。

設定手順

① ユーザ&認証 → ユーザ定義を開き、「新規作成」をクリックします
② ユーザ作成ウィザードで、ユーザタイプ → ローカルユーザを選択します。
③ ユーザー名、パスワードを入力し、設定を進め、作成を完了させます。
④ VPN接続用グループを作成し、ユーザをメンバーにします。

2. VPNウィザード設定

FortiGate 60Fで、IKEv1/IPsec VPN設定は、「VPNウィザード」を使用して設定していきます。

① VPN → ウィザードを選択。トンネル名(IKEv1-VPN)、リモートアクセスを選択します。
② VPNトンネル設定を行います。
  • VPNクライアントの種類 :FortiClient
  • 認証方式 :事前共有鍵
  • 事前共有鍵 :任意の文字列
  • IKE :バージョン1
  • NATトラバーサル:有効
  • ユーザー認証方法 :フェーズ1インターフェース。先程作成したIKEv1グループ選択
  • DNSサーバ :システムDNSを使う
③ リモートエンドポイント設定を行います。
  • リモートエンドポイント
    • 割り当てるアドレス:192.168.1.130-192.168.1.139
    • サブネット:255.255.255.0
④ ローカルFortiGate設定を行います。

私の環境はちょっと特殊で、FortiGateは、WAN1⇔WAN2間のVirtual Wire Pairでセキュリティ検査を行い、外部とのアクセスは、internalインターフェースからのみ行います。ワンアーム構成となっている為、着信・ローカルインターフェースが同じになっているという事情があります。

  • 着信インターフェース :internal
  • ローカルインターフェース :internal
  • ローカルアドレス :all
⑤ VPNトンネル(IKEv1-VPN)が作成されました。
⑥ Phase1とPhase2のDHグループを変更します。

Android版FortiClientのDHグループ設定が既定値5となっているので、合わせます。

⑥ ファイアウォールポリシーを確認して修正します。

VPNウィザードでVPNトンネルを作成すると、併せて「アドレスオブジェクト」や「ファイアウォールポリシー」が作成されますが、ファイアウォールポリシーを確認すると、何故か、NATが有効化されて作成されますので、ここでNATは無効に変更します。

2. Proxy Arp設定

自宅環境のインターネットGWルーターは、「F660A」です。

これは、NURO光を契約すると送られてくる、レンタルルーターなのですが、機能が少なく、スタティックルートの設定が行えません!!

その為、VPN接続してくる端末にも、自宅LAN内のアドレス(192.168.1.130-192.168.1.139)を割り当てることで、ルート追加をしなくても良いように設計しています。

NURO光レンタルルーターの機能については、以下記事で紹介してますので、宜しければご連絡ください。



その代わり、Proxy Arp設定を行う事で、同一ネットワークアドレスによるVPNアクセスでも、ARP不一致が発生しないようにする必要があります

① Proxy Arp設定を追加します

以下コマンドを入力します

config system proxy-arp
edit 1
set interface "internal"
set ip 192.168.1.130
set end-ip 192.168.1.139
next
end

以上で、VPN設定は完了です。

Android版 FortiClientでIKEv1 VPNを設定する

「Google Play」より、「FortiClient VPN」をダウンロードし、インストールします。

VPN追加設定

FortiClientのインストールが終了したら、VPN設定を追加していきます。

設定手順

① 「FortiClient VPN」を開き、新規VPNをクリックします
② 新しいVPN接続を作成します

任意のVPN名を入力し、VPNタイプ「IPsec VPN」を選択し、作成をクリックします。

③ サーバ設定を入力します
  • Servers :自宅のグローバルIPv4アドレスを入力
  • IKE Version :Version1
  • 認証方式  :共有キー
  • 共有キー  :任意の文字列
  • ローカルID :空欄
  • IKEモード :アグレッシブモード
④ IPsecフェーズ1設定

特に設定変更はしません

⑤ IPsec XAuth設定

FortiGateで作成した、IKEv1用のユーザー名、パスワードを入力します

⑥ IPsecフェーズ2設定

特に設定変更はしません

以上でFortiClientの設定は完了です。

VPN接続の確認

早速、VPN接続を行います。

VPN接続を確認

「接続」ボタンをクリックすると、すんなりVPN接続が完了しました。

IPアドレスもFortiGateで設定した、アドレスレンジから払い出されている事が確認出来ます。

グローバルIPを確認

VPN接続前後、以下のようなサイトをグローバルIPアドレスを確認します。

接続後に 自宅回線のグローバルIPアドレス が表示されており、NURO光回線からアクセスしている事も確認できました。

まとめ

今回は、Android版FortiClientを利用して、 IKEv1/IPsecリモートアクセスVPN を構築する方法を解説しました。

当初は、「IKEv2/IPsec」での接続を想定してはじめましたが、私の知識不足もあり、最終的には、「IKEv1/IPsec」での接続とさせていただきました。

今のところ、私の環境では「IKEv1/IPsec」でも問題なく使用出来る為、しばらくは、この設定で使っていこうと思います。

同時接続台数無制限の高速VPN!月々¥388円~

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次