コンテンツにスキップ

リモートアクセスVPN-2要素認証(パスワード認証+ワンタイムパスワード認証)(IKEv2自動トランスポートモード)

文書更新日:2026-04-14

Info

  • 本設定ガイドは、FortiGate v7.6.6およびFortiClient 7.4.3.4726(ライセンス版)を用いて動作確認した内容に基づいて作成しています。
  • IKEv2の自動トランスポートモードでTCPへのフォールバックを利用するには、FortiClient 7.4.1以降が必要です。
  • Fortinet公式ドキュメントの「FortiClient standalone and licensed version feature comparison」によると、FortiClient 7.4系の無償Standalone版はIPsec over TCPをサポートしていません。UDPが利用できない環境でTCP接続まで確認する場合は、ライセンス版のFortiClientを使用してください。

目的

  • PIO-IDのユーザで、FortiGateへVPNを使ってリモートアクセスします。
  • 接続する際の認証方式は、2要素認証(パスワード認証+ワンタイムパスワード認証)です。
  • VPNトンネルは、IKEv2の自動トランスポートモードを利用します。
  • PIO-IDの拡張RADIUSサーバを利用します。
  • ユーザ/グループによるアクセス制限をします。

設定方法

PIO-IDのグループの作成

  1. PIO-ID 管理者ポータル>グループ画面へ移動します。
  2. グループ追加をクリックします。グループ追加画面がポップアップします。
  3. グループ名を入力し、登録ボタンをクリックします。

PIO-IDのユーザの作成

  1. PIO-ID 管理者ポータル>ユーザ画面へ移動します。
  2. 登録ボタンをクリックします。ユーザ登録画面がポップアップします。
  3. ユーザ登録画面の基本情報を入力します。グループタブをクリックします。
  4. メンバーとなるグループを選択し、登録ボタンをクリックします。

PIO-IDの拡張RADIUSサーバの登録

  1. PIO-ID 管理者ポータル>認証>RADIUS>基本設定タブへ移動します。
  2. 拡張RADIUSサーバ>RADIUSポート番号登録ボタンをクリックします。拡張RADIUSサーバの登録画面がポップアップします。

    設定項目 設定内容
    使用するプロトコル UDPを選択します。
    シークレット 任意の文字列を設定します。英大文字、英小文字、数字、記号を組み合わせて、最低でも14文字以上の複雑な文字列を設定することをお勧めします。
  3. 登録ボタンをクリックします。専用のRADIUSポート番号が割り当てれます。

PIO-IDのRADIUSサイトの登録

  1. PIO-ID 管理者ポータル>認証>RADIUS>簡易設定タブへ移動します。
  2. カタログ表示ボタンをクリックします。
  3. カタログからFortiGate NGFW(IPsec IKEv2対応)登録ボタンをクリックします。FortiGate NGFW(IPsec IKEv2対応)画面がポップアップします。
  4. 基本情報タブに、以下を設定します。

    設定項目 設定内容
    有効/無効 有効を選択します。
    サーバ 拡張を選択します。
    サーバ番号 PIO-IDの拡張RADIUSサーバの登録で登録したサーバ番号を選択します。
    サイト識別する属性 NAS-Identifierを選択します。
    属性値 任意の文字列を設定します。(例:fortigate)
  5. VPNアクセスの認証タブへ移動します。

  6. 許可したいユーザおよび許可したいグループをダブルクリックし、許可へ移動させます。

    Info

    2要素認証(OTP)のみ許可有効にすると、2要素認証(OTP)以外の認証方式のアクセスを拒否します。

  7. 登録ボタンをクリックします。

    Info

    設定がシステムに反映されるまで最大で15分かかります。

FortiGateのRADIUSサーバの設定

  1. FortiGate 管理GUI>ユーザ&認証>RADIUSサーバ画面へ移動します。
  2. 新規作成ボタンをクリックします。新規RADIUSサーバ設定画面が表示されます。
  3. 以下を設定します。

    設定項目 設定内容
    名前 任意の文字列を設定します。(例:PIO-ID_RADIUS)
    認証方式 指定 PAPを選択します。
    プライマリサーバ
    IP/名前 PIO-ID 管理者ポータル>認証>RADIUS>基本情報タブの拡張RADIUSサーバ>IPアドレスプライマリです。
    シークレット PIO-IDの拡張RADIUSサーバの登録の手順のシークレットに設定した文字列です。
    セカンダリサーバ
    IP/名前 PIO-ID 管理者ポータル>認証>RADIUS>基本情報タブの拡張RADIUSサーバ>IPアドレスセカンダリです。
    シークレット PIO-IDの拡張RADIUSサーバの登録の手順のシークレットに設定した文字列です。

    Screenshot

  4. OKボタンをクリックします。

  5. FortiGateのRADIUSのNAS-Identifierの属性値を変更するために、FortiGate 管理GUI>システム>設定画面へ移動します。以下のように設定します。

    設定項目 設定内容
    ホスト名 PIO-IDのRADIUSサイトの登録の手順の属性値に設定した文字列です。(例:fortigate)

    Info

    FortiGateは、ホスト名をRADIUSのNAS-Identifier属性の属性値として、RADIUSリクエストを送信します。

  6. FortiGateのRADIUSの認証通信ポートを変更するために、FortiGate CLIから以下のように設定します。

    設定項目 設定内容
    RADIUSサーバの名前 手順3で設定した名前です。(例:PIO-ID_RADIUS)
    RADIUS認証の通信ポート番号 PIO-IDの拡張RADIUSサーバの登録の手順で割り当てられたポート番号です。PIO-ID 管理者ポータル>認証>RADIUS>基本情報タブの拡張RADIUSサーバ>RADIUSポート番号です。
    FortiGate CLI
    config user radius
        edit "<RADIUSサーバの名前>"
            set radius-port <RADIUS認証の通信ポート番号>
        next
    end
    

    Info

    RADIUS認証の通信ポート番号を設定した後に、FortiGateのRADIUSサーバ設定画面で接続をテストボタンをクリックします。接続が成功しない場合には、以下をご確認ください。

    • 設定内容が間違いないこと
    • FortiGateからPIO-IDのRADIUSサーバのIPアドレスおよびRADIUS認証の通信ポート番号へ接続可能であること

    Warning

    PIO-IDのRADIUSサーバでは、FortiGateのVPNアクセスや管理アクセスのみ認証可能となるように制限をかけているため、ユーザクレデンシャルをテストボタンをクリックし、正しいユーザ情報を入力しても成功となりませんが、問題ではありません。

FortiGateのユーザグループの設定

  1. FortiGate 管理GUI>ユーザ&認証>ユーザグループ画面へ移動します。
  2. 新規作成ボタンをクリックします。新規ユーザグループ画面が表示されます。
  3. 以下を設定します。

    設定項目 設定内容
    名前 任意の文字列を設定します。(例:PIO-ID)
    タイプ ファイアウォールを選択します。
    リモートグループ リモートサーバFortiGateのRADIUSサーバの設定の手順で設定したサーバの名前です。(例:PIO-ID_RADIUS) グループいずれかを追加します。

    Screenshot

  4. OKボタンをクリックします。

FortiGateのVPNの設定

Info

IKEv2の自動トランスポートモードの設定は、Fortinet公式ドキュメントの「LDAP authentication with IKEv2 using UDP or TCP as transport」および「Dialup IPsec VPN using custom TCP port」を参考にしています。

  1. FortiGate 管理GUI>VPN>VPNウィザード画面へ移動します。
  2. 以下の項目を設定し、開始ボタンをクリックします。

    設定項目 設定内容
    名前 任意の文字列を設定します。(例:IPsecVPN)
    テンプレートを選択 リモートアクセスを選択します。
  3. 以下の項目を設定し、ボタンをクリックします。

    設定項目 設定内容
    VPN クライアントの種類 FortiClientを選択します。
    認証方式 事前共有鍵を選択します。
    事前共有鍵 任意の文字列を設定します。
    IKE バージョン2を選択します。
    トランスポート 自動を選択します。
    Fortinet カプセル化を使用する 無効を選択します。
    NAT トラバーサル 有効を選択します。
    EAP ピアの識別 EAP ID要求を選択します。
    ユーザー認証方法 フェーズ1インターフェースを選択します。FortiGateのユーザグループの設定の手順で設定したユーザグループの名前を選択します。(例:PIO-ID)

    Screenshot

  4. 以下の項目を設定し、ボタンを クリックします。

    設定項目 設定内容
    接続されたエンドポイントに割り当てるアドレス VPNクライアントに割り当てるIPアドレスの範囲です。環境により異なります。(例:192.168.100.200-192.168.100.210)
    接続されたエンドポイントのサブネット 255.255.255.255を設定します。

    Screenshot

  5. 以下の項目を設定し、ボタンを クリックします。

    設定項目 設定内容
    トンネルにバインドする着信インターフェイス FortiGateのWAN側のインターフェースです。環境により異なります。(例:wan1)
    ローカルインターフェース FortiGateのLAN側のインターフェースです。環境により異なります。(例:internal)
    ローカルアドレス LAN側ネットワークを指定します。(例:all)

    Screenshot

  6. 設定を確認し、サブミットボタンをクリックします。

    Info

    FortiGate v7.6.6のVPNウィザードで作成した設定例は、以下を参照してください。
    ウィザード作成後のphase1-interface設定サンプル
    ウィザード作成後のphase2-interface設定サンプル

  7. 自動モードでは、通常はUDPを使用し、UDPが利用できない場合にTCPへフォールバックします。デフォルト設定のまま利用する場合は、UDP側が500、TCP側が443であることを確認します。

    FortiGate CLI
    show full-configuration system settings | grep ike-
        set ike-port 500
        set ike-tcp-port 443
    
  8. 自動モードではFortiGateがIKE用にTCPポート443を待ち受けるため、GUI管理ポートもポート443を使用していると、IPsecトンネルにバインドされているインターフェースのGUIアクセスに影響が出る可能性があります。必要に応じて管理アクセスポートを変更します。(例:10443)

    FortiGate CLI
    config system global
        set admin-sport 10443
    end
    

    Warning

    管理GUIへのアクセスが拒否されるため、管理GUIにアクセスするには、https://<FortiGateの管理IPアドレス>:10443/ でログインしなおします。

    Info

    TCPポート443は、GUI管理アクセスのほか、ZTNAやAgentless VPNなど他の機能と競合する場合があります。FortiGateで利用している受信ポートとの競合がないか事前に確認してください。

動作確認方法

Windows端末から2要素認証(パスワード+ワンタイムパスワード)によるリモートアクセスVPNの認証が可能なことを確認します。

ソフトウェアトークンのインストール

ソフトウェアトークンとして、以下のiPhoneおよびAndroidのモバイルアプリが利用できます。どちらかのアプリをスマートフォンまたはタブレットへインストールします。

  • FreeOTP
  • Google Authenticator

PIO-IDへソフトウェアトークンの登録

Warning

PIO-IDへソフトウェアトークンの登録を行っていないユーザは、ワンタイムパスワードは無効となり、パスワードでの認証となります。

  1. [PIO-IDのユーザの作成]の手順で作成したユーザで、PIO-IDのユーザポータルへログインします。
  2. PIO-ID ユーザポータル>オーセンティケーター画面へ移動します。
  3. QRコードが表示されていることを確認します。

    Screenshot

  4. スマートフォンまたはタブレットへインストールしたソフトウェアトークンアプリを起動します。(ここでは、Google Authenticatorを利用します。)

  5. をクリックし、新規アカウントを追加します。

    Screenshot

  6. QRコードをスキャンをクリックし、ユーザポータルに表示されているQRコードを読み取ります。

    Screenshot

  7. アカウントを追加をクリックし、アカウントを追加します。

    Screenshot

  8. 表示されている数字PIO-ID ユーザポータル>オーセンティケーター画面のワンタイムコードへ入力し、保存ボタンをクリックし、オーセンティケーターを登録します。

    Screenshot

    Info

    ソフトウェアトークンの6桁の数字の表示は、30秒ごとに変わります。変わる前に、オーセンティケーターの登録を完了させる必要があります。登録する途中で、ソフトウェアトークンの数字が変わってしまった場合には、変わった数字を登録します。

リモートアクセスクライアントのインストール

FortiGateのリモートアクセスクライアントである、FortiClientをインストールしていない場合には、以下よりダウンロードしてインストールします。

ダウンロード

接続先の設定

  1. FortiClientを起動して、新規VPN接続を作成します。以下を設定します。

    設定項目 設定内容
    VPN IPsecVPNを選択します。
    接続名 任意の文字列を設定します。(例:PIO-ID)
    リモートGW VPNクライアントが接続するIPアドレスです。
    認証方法 事前共有鍵を選択します。
    事前共有鍵 FortiGateのVPNの設定の手順で設定した事前共有鍵です。
    認証(EAP) ユーザ名入力を選択します。

    Screenshot

    設定項目 設定内容
    IKE バージョン2を選択します。
    Address Assignment モードコンフィグを選択します。
    Encapsulation Autoを選択します。
    IKE UDP Port 500を設定します。
    IKE TCP Port 443を設定します。

    Screenshot

    フェーズ1およびフェーズ2の設定値は、FortiGate側のVPN設定に合わせてください。

    Screenshot Screenshot

  2. 保存ボタンをクリックします。

VPN接続

  1. 以下を設定し、接続ボタンをクリックします。

    設定項目 設定内容
    VPN名称 接続先の設定の手順で作成した接続先を選択します。(例:PIO-ID)
    ユーザ名 PIO-IDのRADIUSサイトの登録の手順で許可したユーザです。
    パスワード ユーザのパスワードソフトウェアトークンに表示されたワンタイムパスワード:(コロン)でつなげた文字列を入力します。(例:password:123456

    Screenshot

  2. ログインが成功することを確認します。

    Screenshot

  3. FortiGate CLIで以下のコマンドを実行し、接続中のセッションがUDPTCPかを確認します。

    FortiGate CLI
    diagnose vpn ike gateway list
    

    Info

    通常はtransport: UDPとなり、UDPが利用できないネットワーク環境ではtransport: TCPへ自動で切り替わります。 サンプル出力は、UDP接続時の出力例 および TCP接続時の出力例 を参照してください。