今回は、FortiClient VPNの接続を行っていたところ、どうやっても繋がらない事象にあいました。
その時の事を書いていきたいと思います。
まずは、FortiGateを使用した「リモートVPN」接続方法についてです。
FortiGateへリモートVPN接続を行う場合、2つの接続パターンが考えられます。
- FortiClientを使用して接続する方式(IPsecVPN、SSL-VPN)
- Windows標準クライアントを使用して接続する方式(L2TP over IPsec、PPTP)
ルーター製品などでは、Windows標準クライアントを使用した「L2TP over IPsec」を用いる事が多いですが、FortiGateでは、クライアントソフトが無償で提供されていることから、FortiClientを使用した接続方式が使用される事がほとんどかと思います。
その中で、今回は、「FortiClient VPN」を使用した、「IPsec VPN」接続を行いました。
動作確認テスト環境
今回、FortiClient VPNを使用したIPsecVPNを、テスト環境を準備して動作確認を実施していきます。
テスト環境は以下です
- 疑似Internet用PPPoEサーバーを設置
- FortiGate、Remote PC共PPPoE接続にて疑似Internetに接続
- FortiClientのインストールされたRemote PCからFortiGateへIPsecVPN接続
- 社内FilePC上の共有フォルダーに接続
【Remote PC】FortiClient準備
まずは、「Remote PC」用に「FortiClient」を準備します。
FortiClientの最新版※は以下サイトからダウンロード可能です。
※最新版(ver7.4)のみWebよりダウンロード可能
提供されているFortiClientには、現在(Ver7.4)で、以下4つの種類があります。
- ZTMA Edition
- EPP/APT Edition
- FortiClient EMS
- FortiClient VPN
FortiClient Edition
それぞれエディションの特徴は以下です。
・ZTMA Edition:FortiClient ZTNA はFortiOS と連携し、ローカルとリモートの両方のユーザーによるアプリケーションへの安全できめ細かいアクセスを可能にします
・EPP/APT Edition:アンチウイルス/Webフィルタ/アプリケーションファイアウォール/USBストレージの制限/サンドボックス連携/セキュリティ機能の集中管理などの、エンドポイントプロテクション機能
・FortiClient EMS:FortiClient を管理するEMSサーバと連携させることでより詳細なアクセス制御などを含む、エンドポイント管理を実現できます。
・FortiClient VPN:標準機能でIPsecVPN/SSL-VPNの機能をサポートしていますので、VPN接続のみの要件であればユーザーライセンス無制限で使用が可能。
今回は、VPN接続のみ機能があれば良いので、クライアントPCで「FortiClient VPN(Windows用)」をダウンロードします。
ダウンロードが完了したら、インストールします。
インストールはウィザードに従い実施をします。
インストールが完了し、FortiClient VPNのバージョンを確認すると「7.4.0.1658」でした
【FortiGate】リモートVPN設定
FortiGateへIPsec方式のリモートVPN設定を行っていきます。
ユーザーアカウント作成
リモート接続用のユーザーアカウントを作成します。
・「ユーザ&認証」-「ユーザ定義」から「ローカルユーザ」をウィザードに従い作成します。
必要な人数分ユーザーアカウントを作成します。
ユーザーグループ作成
リモート接続用のグループを作成します。
・「ユーザ&認証」-「ユーザグループ」から、新規グループをウィザードに従い作成します。
※ユーザーのタイプは「ファイアウォール」
・先程作成した、ユーザーアカウントをメンバーとして追加します。
IPsec VPN設定
IPsec VPN設定は、「VPN」-「IPsecウィザード」を使用して設定します。
① VPNセットアップ
- テンプレートタイプ:リモートアクセス
- リモートデバイスタイプ:クライアントベース(FortiClient)
② 認証
- 着信インターフェース:WAN1※グローバルIPを持つインターフェース
- 認証方式:事前共有鍵
- ユーザーグループ:Remote_Group※先程作ったグループ名
③ ポリシー&ルーティング
- ローカルインターフェース:internal※LANインターフェース
- ローカルアドレス:「192.168.0.0/24」※新しくアドレスオブジェクト作成します
- クライアントアドレス範囲:「192.168.200.1-192.168.200.10」※使用可能な空き範囲を指定
- サブネットマスク:「255.255.255.0」
- DNS:システムを使う
- IPv4スプリットトンネリングを有効化:有効※インターネットはVPN経由せずアクセス
- エンドポイント登録を許可:有効
④ クライアントオプション
そのまま「次へ」
⑤ 設定の確認
以上で、「VPN設定」「トンネルインターフェース設定」「ポリシー設定」全て完了です。
【Remote PC】IPsec VPN接続確認
それでは、「Remote PC」で、FortiClient VPNの設定を行い、接続を確認します。
FortiClient VPN設定
以下のように、「新しいVPN接続」を作成します。
- VPN:IPsec VPN
- 接続名:任意の名前
- リモートGW:”FortiGate WAN1のグローバルIPアドレス”
- 認証方式:事前共有鍵※FortiGate VPNウィザードの設定値
設定が完了した、接続します。
VPN接続
「接続」をクリックします。
ここで、問題が発生します。
いつまでたっても「接続中」のまま、「接続済み」になりません
やり直し、再設定、再インストール等おこないましたが、解決しません。
VPNログにも、何も出てきていない事から、クライアント側に問題がありそうです。
【不具合】VPN「接続中」のまま、対処
実施した事①
- ・FortiClient VPNの再設定:結果NG
- ・FortiClient VPN再インストール:結果NG
- ・Remote PCを別のPC(Windows10)へ変更:結果NG
実施した事②
やり直しで解決しなった為、ナレッジ情報を調べてみる事にしました。
すると、以下のようなCommunityの記事を発見しました。
引用元:Fortinet Community
この記事に従って、「MS Visual C++ 再頒布パッケージ」をインストールしてみる事にしました。
・「MS Visual C++ 再頒布パッケージ」64bitインストール:結果NG
・「MS Visual C++ 再頒布パッケージ」32bit追加インストール:結果NG
どうも、他の記事をみていると、「SSL-VPN」接続の場合は、上記対処で解決が出来るのかもしれません。
但し、私の環境、「FortiGate v7.2.10」、「FortiClient VPN v7.4.0.1658」を利用した、IPsecVPNでは解決に至りませんでした。
【暫定】解決方法
この後、試した中で、接続が出来て構成がありました。
それが、
「FortiClient VPNのバージョンを下げる」
です。
手持ちのFortiClient VPNのバージョンが「v6.2.8」しかなかったので、インストールして試したところ、
あっさり繋がりました!!
その他のバージョン全て試せていませんので、後日追記をさせていただきますが、恐らくv7.4系を外すと、問題なく接続できる可能性があります。
また、検証結果については、こちらの記事に追記させていただきます!!
コメント