クライアント VPN のトラブルシューティング - AWS クライアント VPN

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

クライアント VPN のトラブルシューティング

以下のトピックは、クライアント VPN エンドポイントに関する問題のトラブルシューティングに役立ちます。

クライアントがクライアント VPN への接続に使用する OpenVPN ベースのソフトウェアのトラブルシューティングに関する詳細は、AWS Client VPN ユーザーガイドの「クライアント VPN 接続のトラブルシューティング」を参照してください。

クライアント VPN エンドポイント DNS 名を解決できない

問題

クライアント VPN エンドポイントの DNS 名を解決できません。

原因

クライアント VPN エンドポイント設定ファイルには、remote-random-hostname というパラメータが含まれています。このパラメータは、DNS キャッシュを防止するために、クライアントが DNS 名の前にランダム文字列を追加するよう強制します。一部のクライアントではこのパラメータを認識しないため、必要なランダム文字列を DNS 名の前に追加しません。

ソリューション

任意のテキストエディタを使用して、クライアント VPN エンドポイント設定ファイルを開きます。クライアント VPN エンドポイントの DNS 名を指定する行を見つけ、その前にランダム文字列を追加します。フォーマットは random_string.displayed_DNS_name になります。以下に例を示します。

  • 元の DNS 名: cvpn-endpoint-0102bc4c2eEXAMPLE.clientvpn.us-west-2.amazonaws.com

  • 変更された DNS 名: asdfa.cvpn-endpoint-0102bc4c2eEXAMPLE.clientvpn.us-west-2.amazonaws.com

トラフィックがサブネット間で分割されていない

問題

2 つのサブネット間でネットワークトラフィックを分割しようとしています。プライベートトラフィックはプライベートサブネット経由でルーティングし、インターネットトラフィックはパブリックサブネット経由でルーティングする必要があります。ただし、両方のルートをクライアント VPN エンドポイントルートテーブルに追加しても、1 つのルートしか使用されていません。

原因

クライアント VPN エンドポイントに複数のサブネットを関連付けることができますが、アベイラビリティーゾーンごとにサブネットを 1 つのみ関連付けることができます。複数サブネットの関連付けの目的は、クライアントに高可用性とアベイラビリティーゾーンの冗長性を提供することです。ただし、クライアント VPN では、クライアント VPN エンドポイントに関連付けられたサブネット間でトラフィックを選択的に分割することはできません。

クライアントは、DNS ラウンドロビンアルゴリズムに基づいてクライアント VPN エンドポイントに接続します。つまり、接続を確立するときに、関連付けられたサブネットのいずれかを経由してトラフィックがルーティングされます。したがって、必要なルートエントリを持たない関連付けられたサブネットを確定すると、接続の問題が発生する可能性があります。

たとえば、次のサブネットの関連付けとルートを設定するとします。

  • サブネットの関連付け

    • 関連付け 1:サブネット A (us-east-1a)

    • 関連付け 2:サブネット B (us-east-1b)

  • ルート

    • ルート 1: サブネット A にルーティングされる 10.0.0.0/16

    • ルート 2: サブネット B にルーティングされる 172.31.0.0/16

この例では、接続時にサブネット A を確定するクライアントはルート 2 にアクセスできず、接続時にサブネット B を確定するクライアントはルート 1 にアクセスできません。

ソリューション

クライアント VPN エンドポイントに、関連付けられた各ネットワークのターゲットを持つ同じルートエントリがあることを確認します。これにより、トラフィックがルーティングされるサブネットに関係なく、クライアントはすべてのルートにアクセスできます。

Active Directory グループの承認ルールが想定どおりに機能しない

問題

Active Directory グループの承認ルールを設定しましたが、想定どおりに機能していません。すべてのネットワークのトラフィックを承認するため 0.0.0.0/0 の承認ルールを追加しましたが、特定の送信先 CIDR のトラフィックはいまだに失敗します。

原因

承認ルールは、ネットワーク CIDR にインデックス化されます。承認ルールでは、特定のネットワーク CIDR へのアクセスを Active Directory グループに許可する必要があります。0.0.0.0/0 の承認ルールは特殊なケースとして扱われるため、承認ルールの作成順序に関係なく、最後に評価されます。

例えば、次の順序で 5 つの承認ルールを作成するとします。

  • ルール 1: グループ 1 は 10.1.0.0/16 にアクセスする

  • ルール 2: グループ 1 は 0.0.0.0/0 にアクセスする

  • ルール 3: グループ 2 は 0.0.0.0/0 にアクセスする

  • ルール 4: グループ 3 は 0.0.0.0/0 にアクセスする

  • ルール 5: グループ 2 は 172.131.0.0/16 にアクセスする

この例では、ルール 2、ルール 3、およびルール 4 が最後に評価されます。グループ 1 は 10.1.0.0/16 にのみアクセスでき、グループ 2 は 172.131.0.0/16 にのみアクセスできます。グループ 3 は 10.1.0.0/16 または 172.131.0.0/16 にアクセスできませんが、他のすべてのネットワークにアクセスできます。ルール 1 と 5 を削除すると、3 つのグループすべてがすべてのネットワークにアクセスできます。

さらに、クライアント VPN は、承認ルールを評価するときに、最長のプレフィックスマッチングを使用します。

ソリューション

Active Directory グループに特定のネットワーク CIDR へのアクセスを明示的に許可する承認ルールを作成することを確認します。0.0.0.0/0 の承認ルールを追加する場合、そのルールは最後に評価され、以前の承認ルールによってアクセスを許可するネットワークが制限される可能性があることに注意してください。

クライアントがピア接続 VPC、Amazon S3、またはインターネットにアクセスできない

問題

クライアント VPN エンドポイントルートを適切に設定しましたが、クライアントがピア接続 VPC、Amazon S3、またはインターネットにアクセスできません。

ソリューション

次のフローチャートには、インターネット、ピア接続 VPC、および Amazon S3 接続の問題を診断するステップが含まれています。


				クライアント VPN のトラブルシューティングステップ
  1. インターネットにアクセスする場合は、0.0.0.0/0 の承認ルールを追加します。

    ピア接続 VPC にアクセスする場合は、VPC の IPv4 CIDR 範囲の承認ルールを追加します。

    S3 にアクセスする場合は、Amazon S3 エンドポイントの IP アドレスを指定します。

  2. DNS 名を解決できるかどうかを確認します。

    DNS 名を解決できない場合は、クライアント VPN エンドポイントの DNS サーバーが指定されていることを確認します。独自の DNS サーバーを管理する場合は、その IP アドレスを指定します。DNS サーバーが VPC からアクセスできることを確認します。

    DNS サーバーに指定する IP アドレスが不明な場合は、VPC の .2 IP アドレスに VPC DNS リゾルバーを指定します。

  3. インターネットアクセスの場合は、パブリック IP アドレスまたはパブリックウェブサイト (amazon.com など) に ping できるかどうかを確認します。応答が得られない場合は、関連付けられたサブネットのルートテーブルに、インターネットゲートウェイまたは NAT ゲートウェイのいずれかをターゲットとするデフォルトルートがあることを確認します。ルートが設定されている場合は、関連付けられたサブネットに、インバウンドおよびアウトバウンドのトラフィックをブロックするネットワークアクセスコントロールリストのルールがないことを確認します。

    ピア接続 VPC に到達できない場合は、関連付けられたサブネットのルートテーブルにピア接続 VPC のルートエントリがあることを確認します。

    Amazon S3 に到達できない場合は、関連付けられたサブネットのルートテーブルにゲートウェイ VPC エンドポイントのルートエントリがあることを確認します。

  4. 1400 バイトを超えるペイロードを持つパブリック IP アドレスに ping を実行できるかどうかを確認します。以下のいずれかのコマンドを使用します。

    • Windows

      C:\> ping 8.8.8.8 -l 1480 -f
    • Linux

      $ ping -s 1480 8.8.8.8 -M do

    1400 バイトを超えるペイロードを持つ IP アドレスに ping を実行できない場合は、任意のテキストエディタを使用してクライアント VPN エンドポイント .ovpn 設定ファイルを開き、以下を追加します。

    mssfix 1328

ピア接続 VPC、Amazon S3、またはインターネットへのアクセスが断続的である

問題

ピア接続 VPC、Amazon S3、またはインターネットへの接続時に断続的な接続の問題がありますが、関連付けられたサブネットへのアクセスには影響しません。接続の問題を解決するには、切断して再接続する必要があります。

原因

クライアントは、DNS ラウンドロビンアルゴリズムに基づいてクライアント VPN エンドポイントに接続します。つまり、接続を確立するときに、関連付けられたサブネットのいずれかを経由してトラフィックがルーティングされます。したがって、必要なルートエントリを持たない関連付けられたサブネットを確定すると、接続の問題が発生する可能性があります。

ソリューション

クライアント VPN エンドポイントに、関連付けられた各ネットワークのターゲットを持つ同じルートエントリがあることを確認します。これにより、トラフィックがルーティングされる関連付けられたサブネットに関係なく、クライアントはすべてのルートにアクセスできます。

たとえば、クライアント VPN エンドポイントに 3 つの関連付けられたサブネット (サブネット A、B、および C) があり、クライアントのインターネットアクセスを有効にするとします。これを行うには、関連付けられた各サブネットをターゲットとする 0.0.0.0/0 ルートを 3 つ追加する必要があります。

  • ルート 1: サブネット A に 0.0.0.0/0

  • ルート 2: サブネット B に 0.0.0.0/0

  • ルート 3: サブネット C に 0.0.0.0/0

クライアントソフトウェアが TLS エラーを返す

問題

以前はクライアントをクライアント VPN に正常に接続することができましたが、OpenVPN ベースのクライアントは、接続しようとすると次のエラーを返します。

TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) TLS Error: TLS handshake failed

考えられる原因

相互認証を使用し、クライアント証明書失効リストをインポートした場合、クライアント証明書失効リストの有効期限が切れていた可能性があります。認証フェーズでは、クライアント VPN エンドポイントは、インポートしたクライアント証明書失効リストと照合してクライアント証明書をチェックします。クライアント証明書失効リストの有効期限が切れている場合は、クライアント VPN エンドポイントに接続できません。

または、クライアントがクライアント VPN への接続に使用している OpenVPN ベースのソフトウェアに問題がある可能性があります。

ソリューション

OpenSSL ツールを使用して、クライアント証明書失効リストの有効期限を確認します。

$ openssl crl -in path_to_crl_pem_file -noout -nextupdate

出力には、有効期限の日時が表示されます。クライアント証明書失効リストの有効期限が切れている場合は、新しい証明書失効リストを作成してクライアント VPN エンドポイントにインポートする必要があります。詳細については、「クライアント証明書失効リスト」を参照してください。

OpenVPN ベースのソフトウェアのトラブルシューティングに関する詳細は、AWS Client VPN ユーザーガイドの「クライアント VPN 接続のトラブルシューティング」を参照してください。

クライアントソフトウェアがユーザー名とパスワードのエラーを返す (Active Directory 認証)

問題

クライアント VPN エンドポイントに Active Directory 認証を使用しています。以前はクライアントをクライアント VPN に正常に接続することができました。しかし、現在、クライアントは無効なユーザー名とパスワードのエラーを受け取っています。

考えられる原因

Active Directory 認証を使用し、クライアント設定ファイルを配布した後に Multi-Factor Authentication (MFA) を有効にした場合、ファイルにはユーザーに MFA コードの入力を求めるために必要な情報が含まれていません。ユーザー名とパスワードのみを入力するよう求められ、認証は失敗します。

ソリューション

新しいクライアント設定ファイルをダウンロードし、クライアントに配布します。新しいファイルに次の行が含まれていることを確認します。

static-challenge "Enter MFA code " 1

詳細については、「クライアント設定ファイルをエクスポートして設定する」を参照してください。クライアント VPN エンドポイントを使用せずに Active Directory の MFA 設定をテストし、MFA が想定どおりに機能していることを確認します。

クライアントが接続できない (相互認証)

問題

クライアント VPN エンドポイントに相互認証を使用しています。クライアントが TLS キーネゴシエーション失敗のエラーとタイムアウトエラーを受け取っています。

考えられる原因

クライアントに提供された設定ファイルにクライアント証明書とクライアントのプライベートキーが含まれていないか、証明書とキーが正しくありません。

ソリューション

設定ファイルに正しいクライアント証明書とキーが含まれていることを確認します。必要に応じて、設定ファイルを修正し、クライアントに再配布します。詳細については、「クライアント設定ファイルをエクスポートして設定する」を参照してください。

クライアントから、認証情報が最大サイズを超えるというエラーが返される (フェデレーション認証)

問題

クライアント VPN エンドポイントにフェデレーション認証を使用しています。クライアントが SAML ベースの ID プロバイダーの (IdP) ブラウザウィンドウにユーザー名とパスワードを入力したときに、認証情報について、サポートされている最大サイズを超えているというエラーが表示されます。

原因

IdP によって返される SAML 応答が、サポートされている最大サイズを超えています。詳細については、「SAML ベースのフェデレーション認証の要件と考慮事項」を参照してください。

ソリューション

IdP でユーザーが属するグループの数を減らし、接続を再試行してください。

クライアントでブラウザが開かない (フェデレーション認証)

問題

クライアント VPN エンドポイントにフェデレーション認証を使用しています。クライアントがエンドポイントに接続しようとすると、クライアントソフトウェアによってブラウザウィンドウが開かれず、代わりにユーザー名とパスワードがポップアップウィンドウに表示されます。

原因

クライアントに提供された設定ファイルに、auth-federate フラグが含まれていません。

ソリューション

最新の設定ファイルをエクスポートし、AWS 提供のクライアントにインポートして、接続を再試行します。

クライアントから、使用可能なポートがないというエラーが返される (フェデレーション認証)

問題

クライアント VPN エンドポイントにフェデレーション認証を使用しています。クライアントがエンドポイントに接続しようとすると、クライアントソフトウェアが次のエラーを返します:

The authentication flow could not be initiated. There are no available ports.

原因

AWS 提供のクライアントでは、認証を完了するために TCP ポート 35001 を使用する必要があります。詳細については、「SAML ベースのフェデレーション認証の要件と考慮事項」を参照してください。

ソリューション

クライアントのデバイスが TCP ポート 35001 をブロックしていないこと、または別のプロセスで使用していることを確認します。

クライアント VPN エンドポイントの帯域幅制限を確認する

問題

クライアント VPN エンドポイントの帯域幅制限を確認する必要があります。

原因

スループットは、現在地からの接続の容量や、コンピュータ上のクライアント VPN デスクトップアプリケーションと VPC エンドポイント間のネットワークレイテンシーなど、複数の要因によって異なります。

ソリューション

以下のコマンドを実行して、帯域幅を確認します。

sudo iperf3 -s -V

クライアント側:

sudo iperf -c server IP address -p port -w 512k -P 60