「VPNがつながらない…」FortiGateでよくあるIPsecトラブルの原因と対策まとめ

FortiGateでIPsec VPNを設定しても、なぜかPhase1やPhase2が確立しない。
一見正しく設定しているつもりでも、細かいパラメータの不一致や見落としでつまずくこと、かなり多いです。

本記事では、FortiGateでVPNがつながらないときに実際に確認しているポイントを5つ紹介します。
現場でよくあるトラブルを例に、対処方法もあわせて解説します。


Phase1/Phase2とは?それぞれの意味と違い

IPsec VPNでは、以下の2段階でトンネルを確立します。

  • Phase1(IKE SA):対向装置との信頼関係を確立(鍵交換や認証)
  • Phase2(IPsec SA):実際の通信路を確立(トラフィックの暗号化・復号)

重要:
Phase2は、トラフィック(例えばPingや通信)が発生しないと確立されません。
VPN設定後に「トンネルが上がらない」と思っていても、実は通信していないだけでPhase2が未確立というケースも多いです。

以下に、Phase1/Phase2が「落ちている時に見られる現象」と「主な原因」を簡潔にまとめます。

段階現象主な原因
Phase1が落ちている・トンネル自体が一切上がらない
diagnose vpn tunnel listで何も出ない
・ログに「negotiation timeout」「no proposal chosen」
・Pre-shared key不一致
・ポート500/4500のフィルタリング
・IPアドレス・IKEバージョン不一致
Phase2が落ちている・Phase1は上がるが通信ができない
diagnose vpn tunnel listでstatus: down
・pingしても反応なし(通信発生しないと上がらない)
・暗号設定不一致(AES/SHAなど)
・セレクターの設定ミス(送信元/宛先)
・ルートやポリシーの不備

1. Phase1が確立しない時に見るべき設定

Phase1が上がらない原因として多いのは以下の通りです。

  • 事前共有鍵(Pre-shared Key)の不一致
  • 対向機器のIPアドレス設定ミス(interface-ip設定 or NAT超えなど)
  • IKEバージョンの不一致(v1とv2)
  • ポート500/4500がブロックされている
  • 証明書を使用している場合のCNや証明書エラー

実際の現場でも、Pre-shared Keyの打ち間違いで延々と悩んでた…というパターンは結構あります。


2. Phase2が確立しない時に確認する項目

Phase1はOKでも、Phase2でコケることも多いです。
以下を確認してみてください。

  • Encryption / Authentication方式の不一致(AES256, SHA1/256など)
  • Perfect Forward Secrecy (PFS)の有効/無効が食い違っている
  • Quick Mode Selector(送信元/宛先のサブネット)がズレている
  • 「no proposal chosen」などのエラーが出ていないかログ確認

たとえば片方がSHA1、もう片方がSHA256だとPhase2が確立しません。


3. diagコマンドでログを取る方法(基本)

トラブル時は必ずログで原因を絞ります。
FortiGateでは以下のdiagコマンドが基本です。

diagnose vpn ike log-filter clear
diagnose vpn ike log-filter dst-addr4 <相手のIP>
diagnose debug application ike -1
diagnose debug enable

どこを見るか:

  • no proposal chosen → 暗号方式が不一致
  • received notify: INVALID_ID_INFORMATION → セレクター(サブネット)のミス
  • negotiation timeout → 対向装置と接続不可、ルートやNATが怪しい
  • peer SA proposal not match local → Proposal(暗号アルゴリズム)不一致

通信を止めるときは diagnose debug disable を忘れずに。

また、Phase2の確認には以下も有効です:

diagnose vpn tunnel list

どこを見るか:

  • name= → トンネル名(設定ミスしてないか)
  • status: up / status: down → トンネル状態
  • rx bytes= / tx bytes= → 通信しているかどうか
  • created → セッションが新しく作られているか

4. 実際によくあるエラーとその対処法

エラー原因対処
no proposal chosen暗号化方式が一致していない両者のProposal設定を確認
received notify: INVALID_ID_INFORMATIONサブネットの設定ミスQuick Mode Selectorを見直す
unable to find phase1 handle対向装置との接続情報が不正IP設定やポリシー確認
negotiation timeout対向と通信できていないNAT超え、ルート、ポート確認

5. 最終確認:VPNポリシーとルートの設定

トンネルが上がっていても通信できない場合、ルートやポリシーが未設定のケースも多いです。

  • 送信元と宛先のポリシーが双方向で作成されているか?
  • トンネルインターフェースに適切な静的ルートがあるか?
  • NAT設定が不要な通信にかかっていないか?

おすすめ確認コマンド:

get router info routing-table all
show firewall policy
show firewall address

diagでフロー確認する場合:

diagnose debug flow filter addr <宛先IP>
diagnose debug flow show function-name enable
diagnose debug enable
diagnose debug flow trace start 10

通らない原因が「policy lookup failed」や「no matching route」で出ていたら、ポリシーやルーティング設定が怪しいです。


まとめ

VPNがつながらないときは、「Phase1が上がるか」「Phase2で止まっているか」で切り分けて、ログを見ながら一つずつ原因を潰していくのが基本です。

FortiGateは設定がGUIでもCLIでも可能ですが、やっぱりトラブル対応にはCLIでの確認が強い味方になります。
現場で詰まりやすいポイントを押さえておけば、いざというときに焦らず対応できます。