当記事では、PaloAltoを用いて対向のVPN装置(以下、VPN装置と記載)とのVPN(IPsec)接続を行う際にIKEv1のPhase1にて接続が失敗している場合のトラブルシューティングについて記載します。
目次
対象バージョン
PAN-OS v9.0.11
シナリオ
以下の構成でネットワークを構築し、PaloAltoとVPN装置をVPN(IPsec)で接続します。
(ネットワーク構成図)
以下のパラメータをもとに、PaloAltoとVPN装置にVPNの設定を行います。
(PaloAltoとVPN装置に設定するパラメータ)
※「ローカルIPアドレス」と「ピアアドレス」は例になります。
項目 | VPN装置 | PaloAlto |
Phase1 | - | - |
IKEバージョン | 1 | 1 |
DHグループ | 20 | 20 |
暗号化アルゴリズム | aes-256-cbc | aes-256-cbc |
認証アルゴリズム | sha512 | sha512 |
鍵の有効時間 | 8時間 | 8時間 |
事前共有鍵 | testvpn | testvpn |
モード | メイン | メイン |
ローカルIPアドレス | 200.100.1.254/24 | 200.100.5.1/24 |
ピアアドレス | 200.100.5.1/24 | 200.100.1.254/24 |
ローカルID | 無し | 無し |
ピアID | 無し | 無し |
DPD検知 | 有効 | 有効 |
再試行回数 | 5 | 5 |
再試行間隔 | 5秒 | 5秒 |
Phase2 | - | - |
ESP/AH | ESP | ESP |
DHグループ | 20 | 20 |
暗号化アルゴリズム | aes-256-cbc | aes-256-cbc |
認証アルゴリズム | sha512 | sha512 |
鍵の有効時間 | 1時間 | 1時間 |
プロキシID | - | - |
ローカルIPアドレス | 192.168.10.0/24 | 192.168.50.0/24 |
リモートIPアドレス | 192.168.50.0/24 | 192.168.10.0/24 |
プロトコル | any | any |
PaloAltoにおけるVPN接続の正常性確認は Network > IPSecトンネル にて行います。
VPN接続が正常な場合は、赤枠と青枠が緑色になります。
VPN接続が失敗している場合は赤枠のみ、もしくは両方が赤色になります。
以下はPhase2が失敗しているため、赤枠が赤色、青枠が緑色になります。
以下はPhase1が失敗しているため、赤枠と青枠が赤色になります。
今回はPhase1にて通信が失敗し、VPN接続できない場合におけるトラブルシューティングについて記載します。
Phase2におけるトラブルシューティングについては以下の記事をご参照ください。
PaloAltoのIPsec IKEv1 Phase2におけるトラブルシューティングについて
トラブルシューティング
トラブルシューティングを実施する際は、システムのログ等からどのようなログが出力されたのか確認します。ログの確認方法としてGUIとCLIがあります。
PaloAlto上のGUIにおいて、 Monitor > ログ > システム を参照することでシステムログの確認を行います。
※検索欄(赤枠)へ (subtype eq vpn) を入力し、「→」を押下することで、VPN通信に関連するシステムログのみを表示させることが可能です。
Phase1にて通信が失敗している場合に出力されるシステムログのパターンは以下のようなものがあります。
パターン①
イベント:ike-nego-p1-fail-common
内容: IKE phase-1 negotiation is failed. Couldn't find configuration for IKE phase-1 request for peer IP 200.100.1.254[500].
パターン②(赤枠の部分)
イベント:ike-nego-p1-fail
内容: IKE phase-1 negotiation is failed as initiator, main mode. Failed SA: 200.100.5.1[500]-200.100.1.254[500] cookie:02f293d180b306a3:0000000000000000. Due to timeout.
パターン③(赤枠の部分)
イベント:ike-nego-p1-fail-common
内容:IKE phase-1 negotiation is failed. no suitable proposal found in peer’s SA payload.
パターン④
イベント: ike-nego-p1-fail-psk
内容: IKE phase-1 negotiation is failed likely due to pre-shared key mismatch.
それぞれのパターンごとの対応について記載します。
パターン①の場合
システムログにて「IKE phase-1 negotiation is failed. Couldn't find configuration for IKE phase-1 request for peer IP 200.100.1.254[500].」と出力される場合、PaloAltoのピアIPアドレスにVPN装置のIPアドレスが正しく設定されていないことが挙げられます。
そのため、 ネットワーク > ネットワークプロファイル > IKEゲートウェイ を参照し、ピアアドレス(赤枠)が正しく設定されているか確認します。
※パターン①では、VPN装置のピアアドレスの設定を確認する必要はありません。
パターン②の場合
システムログにて「IKE phase-1 negotiation is failed as initiator, main mode.」と出力される場合、PaloAltoとVPN装置に設定されたPhase1のパラメータ情報の交換が失敗していることが挙げられます。
そのため、以下の手順に従って確認します。
- インターネットを介してPaloAltoとVPN装置でPing疎通ができるか確認します。
PaloAltoからVPN装置へのPing疎通は、PaloAltoのCLIにおいて以下のコマンドを実行します。
# ping source <PaloAltoのIPアドレス> host <宛先IPアドレス>
※sourceオプションを使用することで、任意のインターフェースを送信元に設定することが可能です。
- PaloAltoのPolicies > セキュリティ を参照し、送信元と宛先のゾーンがuntrust、アドレスがany(もしくはPaloAltoとVPN装置を含むIPアドレス)の通信を拒否するポリシーが設定されているか確認します。設定されている場合、送信元と宛先のゾーンがuntrust、アドレスがany(もしくはPaloAltoとVPN装置を含むIPアドレス)、項目「アプリケーション」にikeとipsecを含む通信を許可するポリシーを設定します。
PaloAltoにおいて上記の拒否ポリシーが設定されていない場合、VPN装置のセキュリティポリシーをPaloAltoと同様に確認し、必要があれば設定します。
- PaloAltoに設定したPhase1のパラメータが正しく設定されているか確認します。正しく設定されている場合、VPN装置に設定したPhase1のパラメータが正しく設定されているか確認します。
パターン③の場合
システムログから「IKE phase-1 negotiation is failed. no suitable proposal found in peer's SA payload.」と出力される場合、PaloAltoとVPN装置に設定されたPhase1のパラメータが正しく設定されていないことが挙げられます。
そのため、以下の手順に従って確認します。
- PaloAltoのCLIからVPN接続のログを表示する。
パターン③では、CLIにおいて以下のコマンドを実行することでGUIよりも詳細なログを確認することが可能です。詳細なログを出力させるため、1つ目のコマンドにてログレベルをdebugに設定します。
# debug ike global on debug # less mp-log ikemgr.log
- ログから「Compared: DB:Peer」と書かれた部分を見つける。
以下は今回のシナリオで出力されるログです。
2021-07-06 18:35:17.869 +0900 [DEBG]: { 9: }: Compared: DB:Peer 2021-07-06 18:35:17.869 +0900 [DEBG]: { 9: }: (lifetime = 28800:28800) 2021-07-06 18:35:17.869 +0900 [DEBG]: { 9: }: (lifebyte = 0:0) 2021-07-06 18:35:17.869 +0900 [DEBG]: { 9: }: enctype = AES:AES2021-07-06 18:35:17.870 +0900 [DEBG]: { 9: }: (encklen = 256:256) 2021-07-06 18:35:17.870 +0900 [DEBG]: { 9: }: hashtype = SHA256:SHA512 2021-07-06 18:35:17.870 +0900 [DEBG]: { 9: }: authmethod = PSK:PSK 2021-07-06 18:35:17.870 +0900 [DEBG]: { 9: }: dh_group = DH20:DH20 (省略) 2021-07-06 18:35:17.870 +0900 [PERR]: { 9: }: rejected hashtype: DB(prop#1:trns#1):Peer(prop#1:trns#1) = SHA256:SHA512 2021-07-06 18:35:17.870 +0900 [PERR]: { 9: }: no suitable proposal found. 2021-07-06 18:35:17.870 +0900 [PERR]: { 9: }: 200.100.5.1[500] - 200.100.1.254[500]:(nil) failed to get valid proposal.
2-7行目にはPhase1のパラメータが以下の形式で記載されています。
パラメータの項目 = PaloAltoに設定されたパラメータ:VPN装置に設定されたパラメータ
各項目の説明
lifetime : 鍵の有効時間
lifebyte : 鍵の通信量の限度
enctype : 暗号化アルゴリズムの種類
encklen : 暗号化アルゴリズムの鍵の長さ
hashtype : 認証アルゴリズムの種類
authmethod : 認証方式
dg_group : DHグループの種類
- 2の各パラメータとVPN接続を行うために事前に定義したパラメータの差異を比較し、差異のあるパラメータを正しく設定する。
今回の場合はPaloAltoの認証アルゴリズムが正しく設定できていないことが確認できます。そのため、PaloAltoに設定されている認証アルゴリズムをsha256からsha512へ修正します。
項目 | VPN装置 | PaloAlto |
Phase1 | - | - |
DHグループ | 20 | 20 |
暗号化アルゴリズム | aes-256-cbc | aes-256-cbc |
認証アルゴリズム | sha512 | sha512 |
鍵の有効時間 | 8時間 | 8時間 |
事前共有鍵 | testvpn | testvpn |
モード | メイン | メイン |
ローカルIPアドレス | 200.100.1.254/24 | 200.100.5.1/24 |
ピアアドレス | 200.100.5.1/24 | 200.100.1.254/24 |
ローカルID | 無し | 無し |
ピアID | 無し | 無し |
DPD検知 | 有効 | 有効 |
再試行回数 | 5 | 5 |
再試行間隔 | 5秒 | 5秒 |
- パターン③のログが出力されない場合、ログレベルを変更前の設定に戻すため以下のコマンドを実行します。
# debug ike global on normal
パターン④の場合
システムログから「IKE phase-1 negotiation is failed likely due to pre-shared key mismatch.」と出力される場合、PaloAltoとVPN装置に設定された事前共有鍵の値が正しく設定されていないことが挙げられます。
そのため、以下の手順に従って確認します。
- PaloAltoに設定された事前共有鍵の値が、正しく設定されているか確認します。
- 1が問題ない場合、VPN装置に設定された事前共有鍵の値が正しく設定されているか確認します。
以上で、PaloAltoを用いてVPN装置とのVPN(IPsec)接続を行う際に、IKEv1のPhase1にて接続が失敗している場合のトラブルシューティングについての説明は終了となります。
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。