皆さん、こんにちは。
ネットワールドSE 西日本技術部の小川です。
今回は FortiGate の IPsec VPN(IKEv2 Aggressiveモード)と Passlogic の マトリックス認証を組み合わせた構成について、実際の設定例と注意点を交えてご紹介します。
- なぜ IKE v2 ?
- Passlogic で セキュアなアクセスを!
- FortiGate + Passlogic による IPsec VPN 基本構成
- FortiGate IPsec VPN (IKE バージョン2)設定
- Passlogic 6.1.0 + EAP-MSCHAPv2 設定
- FortiClient の IPsec VPN 接続設定
- FortiClient からの接続確認手順
- 認証ログと接続ステータスの確認手順
なぜ IKE v2 ?
Passlogic で セキュアなアクセスを!
FortiGate + Passlogic による IPsec VPN 基本構成

■ 今回検証に使用した機器情報
| 機器名 | バージョン / 備考 |
|---|---|
| FortiGate | FortiOS 7.6.4 |
| Passlogic |
6.1.0 基盤のOS : Redhat Linux 9.6 オプションモジュール : eap-mschapv2.tar.gz |
| クライアント端末 | Windows 11 / FortiClient 7.4.3 |
■ 認証フロー(参考)

■ EAP-MSCHAPv2 方式(参考)

FortiGate IPsec VPN (IKE バージョン2)設定
■ IKE TCP Port の設定
config system settings
set ike-tcp-port 443 # IKE over TCPのポート番号(デフォルト443)
end
■ Passlogic 用の RADIUS 設定
config user radius
edit "Passlogic-Radius" # 任意の名前
set server "192.168.1.253" # Passlogic 認証サーバのIP
set secret ***** # RADIUS シークレットキー
next
end
■ RADIUS ユーザグループの作成
config user group
edit "Passlogic-Radius-Group" # ユーザグループ名
set member "Passlogic-Radius" # 作成したRADIUSを指定
next
end
■ IPsec VPN フェーズ1インタフェースの設定
config vpn ipsec phase1-interface
edit "ipsec-tunnel" # 任意の名前
set type dynamic # 動的ピア
set interface "port1" # WAN側インタフェース
set ike-version 2 # IKEv2を使用
set peertype any
set net-device disable
set mode-cfg enable # Mode-Cfg有効化
set ipv4-dns-server1 10.20.1.1 # 社内DNS
set proposal aes128-sha256 aes256-sha256 aes128gcm-prfsha256 aes256gcm-prfsha384 chacha20poly1305-prfsha256 # 暗号化方式
set dhgrp 20 # DHグループ
set eap enable # EAP認証を有効化
set eap-identity send-request # EAP-Identity要求を送信
set authusrgrp "Passlogic-Radius-Group" # 認証グループ指定
set transport tcp # TCPカプセル化(デフォルト443)
set ipv4-start-ip 192.168.255.1 # IP払い出し開始
set ipv4-end-ip 192.168.255.254 # IP払い出し終了
set ipv4-netmask 255.255.255.0 # サブネットマスク
set ipv4-split-include "subnet_192.168.1.0" # VPN対象サブネット
set save-password enable
set client-auto-negotiate enable
set client-keep-alive enable
set psksecret ***** # 事前共有キー
next
end
■ IPsec VPN フェーズ2インタフェースの設定
config vpn ipsec phase2-interface
edit "ipsec-tunnel-ph2" # 任意の名前
set phase1name "ipsec-tunnel" # フェーズ1インタフェース指定
set proposal aes128-sha256 aes256-sha256 # 暗号化方式
set dhgrp 20 # DHグループ
next
end
■ ファイアウォールポリシーの作成(VPN用)
config firewall policy
edit 0
set name "Remote VPN" # ポリシー名(任意)
set srcintf "ipsec-tunnel" # VPNインタフェース
set dstintf "port2" # 社内LANインタフェース
set action accept # 通信許可
set srcaddr "all" # 送信元アドレス
set dstaddr "subnet_192.168.1.0" # 宛先アドレス
set schedule "always"
set service "ALL" # 許可するサービス
set logtraffic all # ログ出力(任意)
set nat enable # NAT有効(任意)
next
end
Passlogic 6.1.0 + EAP-MSCHAPv2 設定
Passlogic をオンプレミス環境にて分離構成(ゲートウェイサーバ+認証サーバ)で構築した事例です。
ゲートウェイサーバと認証サーバはすでにインストール済みの環境を前提としており、この記事ではその後の FortiGate との連携手順にフォーカスしています。
■ 認証サーバにログイン
- ブラウザで以下のURLにアクセスして、ログインします。
https://<認証サーバIPアドレス>:8443/passlogic-admin


■ RADIUS クライアントの登録(FortiGate)
- 管理画面で [RADIUS] → [RADIUS設定] を開きます。
- [追加] をクリックします。

- 以下の情報を入力:
- 識別名(任意)
- IPアドレス(FortiGate の LAN 側 IP)
- シークレットキー(FortiGate 側と一致させる)
- [次へ] をクリックします。

- 入力内容を確認して、[登録]をクリックします。

■ ユーザーの作成
- [ユーザー管理] → [新規作成] をクリック
※CSV によるユーザー一括登録も可能です

- ユーザー情報を入力します。
(例:ユーザーID「passlogic」、ポリシーは「Default Policy」)

- 下へスクロールして初期パスワードを設定します。
- [次へ]をクリックします。

- ユーザー設定内容を確認をして、[登録]をクリックします。

- [通知書をメール] をクリックし、ユーザーに通知します。

■ Webトークンの有効化
- [設定] → [ポリシー設定] をクリックします。
- 「Default Policy」 → [編集] をクリックします。

- 下へスクロールして、[Web Tokenを使用する際には有効にしてください]にチェックします。

■ ユーザーによるパスワード(パターン)変更
- ユーザーに通知メールが届きます。

- メール内のURL(例:
https://<ゲートウェイサーバのFQDN>/ui)にアクセスします。

<初期パスワードを入力>

<3回パスワードを入力>

<完了>

■ EAP-MSCHAPv2 モジュールの適用
- 認証サーバに SSH で接続します。
- eap-mschapv2.tar.gz を /usr/local/src/ にアップロードします。
- Radiusサービスをストップしてから、./deploy.sh を実行します。
- Radius サービスを起動します。
[root@ src]# systemctl stop radiusd
[root@ src]# tar zxf eap-mschapv2.tar.gz
[root@ src]#
[root@ src]# ls
PassLogic-ent-6.1.0-el9.tar.gz eap-md5 eap-md5.tar.gz eap-mschapv2 eap-mschapv2.tar.gz
[root@ src]# cd eap-mschapv2/
[root@ eap-mschapv2]# ./deploy.sh
The backup file is /etc/raddb/sites-available/default.bak_1765157675 .
The backup file is /etc/raddb/mods-available/eap.bak_1765157675 .
The backup file is /etc/raddb/mods-available/exec.bak_1765157675 .
File /etc/raddb/sites-available/default has been placed.
File /etc/raddb/mods-available/eap has been placed.
File /etc/raddb/mods-available/exec has been placed.
[root@ eap-mschapv2]# systemctl start radiusd
FortiClient の IPsec VPN 接続設定
■ FortiClient のインストール
Fortinet サポートサイトから FortiClient 7.4.3 をダウンロードしてインストールします。
Product Downloads | Fortinet Product Downloads | Support
■ VPN 設定の開始
- FortiClient を起動します。
- [VPN設定] をクリックします。

- [IPsec VPN] を選択し、接続名やゲートウェイ情報を入力します。

- [+詳細設定] → [VPN設定] を開き、必要な項目を入力します。

- [フェーズ1] タブを開きます。
- IKE プロポーザルと DH グループを設定します。
- FortiGate の IPsec VPN 設定に合わせて選択します。

- [フェーズ2] タブを開きます。
- IKE プロポーザルと DH グループを設定します。
- こちらも FortiGate 側の設定に合わせて選択します。

- すべての項目を確認後、[保存] をクリックして設定完了です。
※FortiEMS を使えば FortiClient の運用が楽になります。詳細については下記のブログを参考にしてください。
FortiClient からの接続確認手順
■ Webトークンにアクセス
ユーザーは以下のURLにアクセスして、マトリックス認証を開始します。
https://<ゲートウェイサーバFQDN>/ui/token.php?uid=<ユーザーID> 
■ FortiClient で接続
FortiClient を起動し、以下の情報を入力します。
- ユーザーID
- パスワード(マトリックス認証で表示された数字を入力)

■ 接続完了
認証が成功すると、IPsec VPN 接続が確立され、社内ネットワークへのアクセスが可能になります。

この手順により、Passlogic のマトリックス認証と FortiGate の IPsec VPN を組み合わせたセキュアな接続が確認できます。
認証ログと接続ステータスの確認手順
■ Passlogic 認証パケットの確認
- 認証サーバに SSH で接続します。
- radsniff -x を 実行します。
- VPN接続時にログが出力されます。
[root@og-passlogic6-1 eap-mschapv2]# radsniff -x
Logging all events
Defaulting to capture on all interfaces
Sniffing on (ens33 lo)
2025-12-08 10:37:53.649998 (4) Access-Challenge Id 58 ens33:192.168.1.254:8499 <
State = 0xbefff5cdbf97ef35ec3f9080655a8e43
EAP-Message = 0x016800331a0367002e533d3445383341413938374241313831373337
Message-Authenticator = 0x818655eeca6e95e9bd7ad853864e894e
Authenticator-Field = 0x2205cf2c3411d0718d056e88220d6a85
2025-12-08 10:37:53.654655 (5) Access-Request Id 59 ens33:192.168.1.254:8499 ->
User-Name = "passlogic"
NAS-IP-Address = 192.168.1.254
NAS-Port = 1
Framed-IP-Address = 10.20.20.8
State = 0xbefff5cdbf97ef35ec3f9080655a8e43
Called-Station-Id = "192.168.1.254"
Calling-Station-Id = "10.20.20.8"
NAS-Identifier = "og-fortigate-vm"
NAS-Port-Type = Virtual
Acct-Session-Id = "00000ad40519c00a"
Connect-Info = "vpn-ikev2"
EAP-Message = 0x026800061a03
Message-Authenticator = 0x784d10c9d44434019f12dba598ac96ef
Fortinet-Vdom-Name = "root"
Authenticator-Field = 0x31c0d762c981b35cd3c5dac178064f8a
2025-12-08 10:37:53.785184 (6) Access-Accept Id 59 ens33:192.168.1.254:8499 <- 1
User-Name = "passlogic"
EAP-Message = 0x03680004
Message-Authenticator = 0x2d505f6e6ad30eea383551e9c840da5d
MS-MPPE-Encryption-Policy = Encryption-Allowed
MS-MPPE-Encryption-Types = RC4-40or128-bit-Allowed
Attr-26.311.16 = 0x854e6219ee148ceb4d934a23c09e3070293e9f39b4dcf3d984f72
Attr-26.311.17 = 0x8b75aea363471269d62107d640692ed1608845307a2d87b2feb28
Authenticator-Field = 0x6c713231a04d47444125eab724b5baeb
2025-12-08 10:37:58.662355 (1) Cleaning up request packet ID 57
■ Passlogic 認証ログの確認
- 認証サーバに SSH で接続します。
- vi /var/log/radius/radius.logを 実行します。
[root@ src]# vi /var/log/radius/radius.log
Mon Dec 8 10:36:03 2025 : Auth: (0) Login incorrect (pap_req: Program returned code (1) and output ''): [test01] (from client FortiGate port 0)
Mon Dec 8 10:36:18 2025 : Auth: (1) Login OK: [passlogic] (from client FortiGate port 0)
Mon Dec 8 10:37:53 2025 : Auth: (4) Login OK: [passlogic] (from client FortiGate port 1 cli 10.20.20.8)
■ FortiGate VPN デバックログの確認
- FortiGate CLI にログインします。
- diagnose debug application ike-1 を実行します。
- diagnose debug enable を実行します。
# diagnose debug application ike -1
Debug messages will be on for 30 minutes.
# diagnose debug enable
(省略)
ike V=root:0: comes 10.20.20.8:53821->10.20.112.254:443,ifindex=3,vrf=0,len=80....
ike V=root:0: IKEv2 exchange=AUTH id=9ef7150fd31a60c2/264dac735decdfdf:00000004 len=80
ike 0: in 9EF7150FD31A60C2264DAC735DECDFDF2E2023080000000400000050300000349A13172B087C48C3DC08AE6462DC21AEB40B92E689455854B59F75D5C86FFD23BF0854EF8223231DE11113E3B37FD0D0
ike 0:ipsec-tunnel:10: dec 9EF7150FD31A60C2264DAC735DECDFDF2E202308000000040000002A300000040000000A026700061A03
ike V=root:0:ipsec-tunnel:10: responder received EAP msg
ike V=root:0:ipsec-tunnel:10: send EAP message to FNBAM
ike V=root:0:ipsec-tunnel: EAP 11905734918155 pending
ike V=root:0:ipsec-tunnel:10 EAP 11905734918155 result FNBAM_SUCCESS
ike V=root:0:ipsec-tunnel: EAP succeeded for user "passlogic" group "Passlogic-Radius-Group" 2FA=no
ike V=root:0:ipsec-tunnel:10: responder preparing EAP pass through message
ike 0:ipsec-tunnel:10: enc 00000008036700040706050403020107
ike V=root:0: comes 10.20.20.8:53821->10.20.112.254:443,ifindex=3,vrf=0,len=112....
ike V=root:0: IKEv2 exchange=AUTH id=9ef7150fd31a60c2/264dac735decdfdf:00000005 len=112
ike 0: in 9EF7150FD31A60C2264DAC735DECDFDF2E20230800000005000000702700005496479DD7174CC86B5D42E9C691915CB90D4CFB1EA4DF73C6B5249C82162E5B3B3B9E11CD5A8CD52AA5E7B8197945D6C5A9A7C085868C2D95C6F29860EBBD071E170764A4D8E75538D02B32C8F90FBA8B
ike 0:ipsec-tunnel:10: dec 9EF7150FD31A60C2264DAC735DECDFDF2E2023080000000500000048270000040000002802000000D907C667CA7CCACA32BC07DD4AFD57B29BD99A5392A4D183A1AFEFBD8876A4B8
ike V=root:0:ipsec-tunnel:10: responder received AUTH msg
■ デバッグログの停止
FortiGate デバックログを確認したら、ログの出力を止めます。
diag debug disable
最後までご覧いただき、ありがとうございました。
この構成が、より安全で安定したリモートアクセス環境の構築に役立てば幸いです。
免責事項
- 本書は、株式会社ネットワールド(以下 弊社)が作成・管理します。
- 本書の記載内容の一部または全部を弊社に無断で改変・転載することを禁じます。
- 本書の記載内容は、一部または全部が将来予告無く変更されることがあります。
- 本書の利用は、利用者様の責任において行われるものとします。
- 本書の記載内容には、最善の注意を払っておりますが、正確性・完全性を保証するものではありません。
従いまして、本書の利用によって生じたあらゆる損害に関して、弊社は一切の責任を負いません
